xref: /aosp_15_r20/external/liburing/COPYING (revision 25da2bea747f3a93b4c30fd9708b0618ef55a0e6)
1*25da2beaSAndroid Build Coastguard Worker                  GNU LESSER GENERAL PUBLIC LICENSE
2*25da2beaSAndroid Build Coastguard Worker                       Version 2.1, February 1999
3*25da2beaSAndroid Build Coastguard Worker
4*25da2beaSAndroid Build Coastguard Worker Copyright (C) 1991, 1999 Free Software Foundation, Inc.
5*25da2beaSAndroid Build Coastguard Worker 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
6*25da2beaSAndroid Build Coastguard Worker Everyone is permitted to copy and distribute verbatim copies
7*25da2beaSAndroid Build Coastguard Worker of this license document, but changing it is not allowed.
8*25da2beaSAndroid Build Coastguard Worker
9*25da2beaSAndroid Build Coastguard Worker[This is the first released version of the Lesser GPL.  It also counts
10*25da2beaSAndroid Build Coastguard Worker as the successor of the GNU Library Public License, version 2, hence
11*25da2beaSAndroid Build Coastguard Worker the version number 2.1.]
12*25da2beaSAndroid Build Coastguard Worker
13*25da2beaSAndroid Build Coastguard Worker                            Preamble
14*25da2beaSAndroid Build Coastguard Worker
15*25da2beaSAndroid Build Coastguard Worker  The licenses for most software are designed to take away your
16*25da2beaSAndroid Build Coastguard Workerfreedom to share and change it.  By contrast, the GNU General Public
17*25da2beaSAndroid Build Coastguard WorkerLicenses are intended to guarantee your freedom to share and change
18*25da2beaSAndroid Build Coastguard Workerfree software--to make sure the software is free for all its users.
19*25da2beaSAndroid Build Coastguard Worker
20*25da2beaSAndroid Build Coastguard Worker  This license, the Lesser General Public License, applies to some
21*25da2beaSAndroid Build Coastguard Workerspecially designated software packages--typically libraries--of the
22*25da2beaSAndroid Build Coastguard WorkerFree Software Foundation and other authors who decide to use it.  You
23*25da2beaSAndroid Build Coastguard Workercan use it too, but we suggest you first think carefully about whether
24*25da2beaSAndroid Build Coastguard Workerthis license or the ordinary General Public License is the better
25*25da2beaSAndroid Build Coastguard Workerstrategy to use in any particular case, based on the explanations below.
26*25da2beaSAndroid Build Coastguard Worker
27*25da2beaSAndroid Build Coastguard Worker  When we speak of free software, we are referring to freedom of use,
28*25da2beaSAndroid Build Coastguard Workernot price.  Our General Public Licenses are designed to make sure that
29*25da2beaSAndroid Build Coastguard Workeryou have the freedom to distribute copies of free software (and charge
30*25da2beaSAndroid Build Coastguard Workerfor this service if you wish); that you receive source code or can get
31*25da2beaSAndroid Build Coastguard Workerit if you want it; that you can change the software and use pieces of
32*25da2beaSAndroid Build Coastguard Workerit in new free programs; and that you are informed that you can do
33*25da2beaSAndroid Build Coastguard Workerthese things.
34*25da2beaSAndroid Build Coastguard Worker
35*25da2beaSAndroid Build Coastguard Worker  To protect your rights, we need to make restrictions that forbid
36*25da2beaSAndroid Build Coastguard Workerdistributors to deny you these rights or to ask you to surrender these
37*25da2beaSAndroid Build Coastguard Workerrights.  These restrictions translate to certain responsibilities for
38*25da2beaSAndroid Build Coastguard Workeryou if you distribute copies of the library or if you modify it.
39*25da2beaSAndroid Build Coastguard Worker
40*25da2beaSAndroid Build Coastguard Worker  For example, if you distribute copies of the library, whether gratis
41*25da2beaSAndroid Build Coastguard Workeror for a fee, you must give the recipients all the rights that we gave
42*25da2beaSAndroid Build Coastguard Workeryou.  You must make sure that they, too, receive or can get the source
43*25da2beaSAndroid Build Coastguard Workercode.  If you link other code with the library, you must provide
44*25da2beaSAndroid Build Coastguard Workercomplete object files to the recipients, so that they can relink them
45*25da2beaSAndroid Build Coastguard Workerwith the library after making changes to the library and recompiling
46*25da2beaSAndroid Build Coastguard Workerit.  And you must show them these terms so they know their rights.
47*25da2beaSAndroid Build Coastguard Worker
48*25da2beaSAndroid Build Coastguard Worker  We protect your rights with a two-step method: (1) we copyright the
49*25da2beaSAndroid Build Coastguard Workerlibrary, and (2) we offer you this license, which gives you legal
50*25da2beaSAndroid Build Coastguard Workerpermission to copy, distribute and/or modify the library.
51*25da2beaSAndroid Build Coastguard Worker
52*25da2beaSAndroid Build Coastguard Worker  To protect each distributor, we want to make it very clear that
53*25da2beaSAndroid Build Coastguard Workerthere is no warranty for the free library.  Also, if the library is
54*25da2beaSAndroid Build Coastguard Workermodified by someone else and passed on, the recipients should know
55*25da2beaSAndroid Build Coastguard Workerthat what they have is not the original version, so that the original
56*25da2beaSAndroid Build Coastguard Workerauthor's reputation will not be affected by problems that might be
57*25da2beaSAndroid Build Coastguard Workerintroduced by others.
58*25da2beaSAndroid Build Coastguard Worker
59*25da2beaSAndroid Build Coastguard Worker  Finally, software patents pose a constant threat to the existence of
60*25da2beaSAndroid Build Coastguard Workerany free program.  We wish to make sure that a company cannot
61*25da2beaSAndroid Build Coastguard Workereffectively restrict the users of a free program by obtaining a
62*25da2beaSAndroid Build Coastguard Workerrestrictive license from a patent holder.  Therefore, we insist that
63*25da2beaSAndroid Build Coastguard Workerany patent license obtained for a version of the library must be
64*25da2beaSAndroid Build Coastguard Workerconsistent with the full freedom of use specified in this license.
65*25da2beaSAndroid Build Coastguard Worker
66*25da2beaSAndroid Build Coastguard Worker  Most GNU software, including some libraries, is covered by the
67*25da2beaSAndroid Build Coastguard Workerordinary GNU General Public License.  This license, the GNU Lesser
68*25da2beaSAndroid Build Coastguard WorkerGeneral Public License, applies to certain designated libraries, and
69*25da2beaSAndroid Build Coastguard Workeris quite different from the ordinary General Public License.  We use
70*25da2beaSAndroid Build Coastguard Workerthis license for certain libraries in order to permit linking those
71*25da2beaSAndroid Build Coastguard Workerlibraries into non-free programs.
72*25da2beaSAndroid Build Coastguard Worker
73*25da2beaSAndroid Build Coastguard Worker  When a program is linked with a library, whether statically or using
74*25da2beaSAndroid Build Coastguard Workera shared library, the combination of the two is legally speaking a
75*25da2beaSAndroid Build Coastguard Workercombined work, a derivative of the original library.  The ordinary
76*25da2beaSAndroid Build Coastguard WorkerGeneral Public License therefore permits such linking only if the
77*25da2beaSAndroid Build Coastguard Workerentire combination fits its criteria of freedom.  The Lesser General
78*25da2beaSAndroid Build Coastguard WorkerPublic License permits more lax criteria for linking other code with
79*25da2beaSAndroid Build Coastguard Workerthe library.
80*25da2beaSAndroid Build Coastguard Worker
81*25da2beaSAndroid Build Coastguard Worker  We call this license the "Lesser" General Public License because it
82*25da2beaSAndroid Build Coastguard Workerdoes Less to protect the user's freedom than the ordinary General
83*25da2beaSAndroid Build Coastguard WorkerPublic License.  It also provides other free software developers Less
84*25da2beaSAndroid Build Coastguard Workerof an advantage over competing non-free programs.  These disadvantages
85*25da2beaSAndroid Build Coastguard Workerare the reason we use the ordinary General Public License for many
86*25da2beaSAndroid Build Coastguard Workerlibraries.  However, the Lesser license provides advantages in certain
87*25da2beaSAndroid Build Coastguard Workerspecial circumstances.
88*25da2beaSAndroid Build Coastguard Worker
89*25da2beaSAndroid Build Coastguard Worker  For example, on rare occasions, there may be a special need to
90*25da2beaSAndroid Build Coastguard Workerencourage the widest possible use of a certain library, so that it becomes
91*25da2beaSAndroid Build Coastguard Workera de-facto standard.  To achieve this, non-free programs must be
92*25da2beaSAndroid Build Coastguard Workerallowed to use the library.  A more frequent case is that a free
93*25da2beaSAndroid Build Coastguard Workerlibrary does the same job as widely used non-free libraries.  In this
94*25da2beaSAndroid Build Coastguard Workercase, there is little to gain by limiting the free library to free
95*25da2beaSAndroid Build Coastguard Workersoftware only, so we use the Lesser General Public License.
96*25da2beaSAndroid Build Coastguard Worker
97*25da2beaSAndroid Build Coastguard Worker  In other cases, permission to use a particular library in non-free
98*25da2beaSAndroid Build Coastguard Workerprograms enables a greater number of people to use a large body of
99*25da2beaSAndroid Build Coastguard Workerfree software.  For example, permission to use the GNU C Library in
100*25da2beaSAndroid Build Coastguard Workernon-free programs enables many more people to use the whole GNU
101*25da2beaSAndroid Build Coastguard Workeroperating system, as well as its variant, the GNU/Linux operating
102*25da2beaSAndroid Build Coastguard Workersystem.
103*25da2beaSAndroid Build Coastguard Worker
104*25da2beaSAndroid Build Coastguard Worker  Although the Lesser General Public License is Less protective of the
105*25da2beaSAndroid Build Coastguard Workerusers' freedom, it does ensure that the user of a program that is
106*25da2beaSAndroid Build Coastguard Workerlinked with the Library has the freedom and the wherewithal to run
107*25da2beaSAndroid Build Coastguard Workerthat program using a modified version of the Library.
108*25da2beaSAndroid Build Coastguard Worker
109*25da2beaSAndroid Build Coastguard Worker  The precise terms and conditions for copying, distribution and
110*25da2beaSAndroid Build Coastguard Workermodification follow.  Pay close attention to the difference between a
111*25da2beaSAndroid Build Coastguard Worker"work based on the library" and a "work that uses the library".  The
112*25da2beaSAndroid Build Coastguard Workerformer contains code derived from the library, whereas the latter must
113*25da2beaSAndroid Build Coastguard Workerbe combined with the library in order to run.
114*25da2beaSAndroid Build Coastguard Worker
115*25da2beaSAndroid Build Coastguard Worker                  GNU LESSER GENERAL PUBLIC LICENSE
116*25da2beaSAndroid Build Coastguard Worker   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
117*25da2beaSAndroid Build Coastguard Worker
118*25da2beaSAndroid Build Coastguard Worker  0. This License Agreement applies to any software library or other
119*25da2beaSAndroid Build Coastguard Workerprogram which contains a notice placed by the copyright holder or
120*25da2beaSAndroid Build Coastguard Workerother authorized party saying it may be distributed under the terms of
121*25da2beaSAndroid Build Coastguard Workerthis Lesser General Public License (also called "this License").
122*25da2beaSAndroid Build Coastguard WorkerEach licensee is addressed as "you".
123*25da2beaSAndroid Build Coastguard Worker
124*25da2beaSAndroid Build Coastguard Worker  A "library" means a collection of software functions and/or data
125*25da2beaSAndroid Build Coastguard Workerprepared so as to be conveniently linked with application programs
126*25da2beaSAndroid Build Coastguard Worker(which use some of those functions and data) to form executables.
127*25da2beaSAndroid Build Coastguard Worker
128*25da2beaSAndroid Build Coastguard Worker  The "Library", below, refers to any such software library or work
129*25da2beaSAndroid Build Coastguard Workerwhich has been distributed under these terms.  A "work based on the
130*25da2beaSAndroid Build Coastguard WorkerLibrary" means either the Library or any derivative work under
131*25da2beaSAndroid Build Coastguard Workercopyright law: that is to say, a work containing the Library or a
132*25da2beaSAndroid Build Coastguard Workerportion of it, either verbatim or with modifications and/or translated
133*25da2beaSAndroid Build Coastguard Workerstraightforwardly into another language.  (Hereinafter, translation is
134*25da2beaSAndroid Build Coastguard Workerincluded without limitation in the term "modification".)
135*25da2beaSAndroid Build Coastguard Worker
136*25da2beaSAndroid Build Coastguard Worker  "Source code" for a work means the preferred form of the work for
137*25da2beaSAndroid Build Coastguard Workermaking modifications to it.  For a library, complete source code means
138*25da2beaSAndroid Build Coastguard Workerall the source code for all modules it contains, plus any associated
139*25da2beaSAndroid Build Coastguard Workerinterface definition files, plus the scripts used to control compilation
140*25da2beaSAndroid Build Coastguard Workerand installation of the library.
141*25da2beaSAndroid Build Coastguard Worker
142*25da2beaSAndroid Build Coastguard Worker  Activities other than copying, distribution and modification are not
143*25da2beaSAndroid Build Coastguard Workercovered by this License; they are outside its scope.  The act of
144*25da2beaSAndroid Build Coastguard Workerrunning a program using the Library is not restricted, and output from
145*25da2beaSAndroid Build Coastguard Workersuch a program is covered only if its contents constitute a work based
146*25da2beaSAndroid Build Coastguard Workeron the Library (independent of the use of the Library in a tool for
147*25da2beaSAndroid Build Coastguard Workerwriting it).  Whether that is true depends on what the Library does
148*25da2beaSAndroid Build Coastguard Workerand what the program that uses the Library does.
149*25da2beaSAndroid Build Coastguard Worker
150*25da2beaSAndroid Build Coastguard Worker  1. You may copy and distribute verbatim copies of the Library's
151*25da2beaSAndroid Build Coastguard Workercomplete source code as you receive it, in any medium, provided that
152*25da2beaSAndroid Build Coastguard Workeryou conspicuously and appropriately publish on each copy an
153*25da2beaSAndroid Build Coastguard Workerappropriate copyright notice and disclaimer of warranty; keep intact
154*25da2beaSAndroid Build Coastguard Workerall the notices that refer to this License and to the absence of any
155*25da2beaSAndroid Build Coastguard Workerwarranty; and distribute a copy of this License along with the
156*25da2beaSAndroid Build Coastguard WorkerLibrary.
157*25da2beaSAndroid Build Coastguard Worker
158*25da2beaSAndroid Build Coastguard Worker  You may charge a fee for the physical act of transferring a copy,
159*25da2beaSAndroid Build Coastguard Workerand you may at your option offer warranty protection in exchange for a
160*25da2beaSAndroid Build Coastguard Workerfee.
161*25da2beaSAndroid Build Coastguard Worker
162*25da2beaSAndroid Build Coastguard Worker  2. You may modify your copy or copies of the Library or any portion
163*25da2beaSAndroid Build Coastguard Workerof it, thus forming a work based on the Library, and copy and
164*25da2beaSAndroid Build Coastguard Workerdistribute such modifications or work under the terms of Section 1
165*25da2beaSAndroid Build Coastguard Workerabove, provided that you also meet all of these conditions:
166*25da2beaSAndroid Build Coastguard Worker
167*25da2beaSAndroid Build Coastguard Worker    a) The modified work must itself be a software library.
168*25da2beaSAndroid Build Coastguard Worker
169*25da2beaSAndroid Build Coastguard Worker    b) You must cause the files modified to carry prominent notices
170*25da2beaSAndroid Build Coastguard Worker    stating that you changed the files and the date of any change.
171*25da2beaSAndroid Build Coastguard Worker
172*25da2beaSAndroid Build Coastguard Worker    c) You must cause the whole of the work to be licensed at no
173*25da2beaSAndroid Build Coastguard Worker    charge to all third parties under the terms of this License.
174*25da2beaSAndroid Build Coastguard Worker
175*25da2beaSAndroid Build Coastguard Worker    d) If a facility in the modified Library refers to a function or a
176*25da2beaSAndroid Build Coastguard Worker    table of data to be supplied by an application program that uses
177*25da2beaSAndroid Build Coastguard Worker    the facility, other than as an argument passed when the facility
178*25da2beaSAndroid Build Coastguard Worker    is invoked, then you must make a good faith effort to ensure that,
179*25da2beaSAndroid Build Coastguard Worker    in the event an application does not supply such function or
180*25da2beaSAndroid Build Coastguard Worker    table, the facility still operates, and performs whatever part of
181*25da2beaSAndroid Build Coastguard Worker    its purpose remains meaningful.
182*25da2beaSAndroid Build Coastguard Worker
183*25da2beaSAndroid Build Coastguard Worker    (For example, a function in a library to compute square roots has
184*25da2beaSAndroid Build Coastguard Worker    a purpose that is entirely well-defined independent of the
185*25da2beaSAndroid Build Coastguard Worker    application.  Therefore, Subsection 2d requires that any
186*25da2beaSAndroid Build Coastguard Worker    application-supplied function or table used by this function must
187*25da2beaSAndroid Build Coastguard Worker    be optional: if the application does not supply it, the square
188*25da2beaSAndroid Build Coastguard Worker    root function must still compute square roots.)
189*25da2beaSAndroid Build Coastguard Worker
190*25da2beaSAndroid Build Coastguard WorkerThese requirements apply to the modified work as a whole.  If
191*25da2beaSAndroid Build Coastguard Workeridentifiable sections of that work are not derived from the Library,
192*25da2beaSAndroid Build Coastguard Workerand can be reasonably considered independent and separate works in
193*25da2beaSAndroid Build Coastguard Workerthemselves, then this License, and its terms, do not apply to those
194*25da2beaSAndroid Build Coastguard Workersections when you distribute them as separate works.  But when you
195*25da2beaSAndroid Build Coastguard Workerdistribute the same sections as part of a whole which is a work based
196*25da2beaSAndroid Build Coastguard Workeron the Library, the distribution of the whole must be on the terms of
197*25da2beaSAndroid Build Coastguard Workerthis License, whose permissions for other licensees extend to the
198*25da2beaSAndroid Build Coastguard Workerentire whole, and thus to each and every part regardless of who wrote
199*25da2beaSAndroid Build Coastguard Workerit.
200*25da2beaSAndroid Build Coastguard Worker
201*25da2beaSAndroid Build Coastguard WorkerThus, it is not the intent of this section to claim rights or contest
202*25da2beaSAndroid Build Coastguard Workeryour rights to work written entirely by you; rather, the intent is to
203*25da2beaSAndroid Build Coastguard Workerexercise the right to control the distribution of derivative or
204*25da2beaSAndroid Build Coastguard Workercollective works based on the Library.
205*25da2beaSAndroid Build Coastguard Worker
206*25da2beaSAndroid Build Coastguard WorkerIn addition, mere aggregation of another work not based on the Library
207*25da2beaSAndroid Build Coastguard Workerwith the Library (or with a work based on the Library) on a volume of
208*25da2beaSAndroid Build Coastguard Workera storage or distribution medium does not bring the other work under
209*25da2beaSAndroid Build Coastguard Workerthe scope of this License.
210*25da2beaSAndroid Build Coastguard Worker
211*25da2beaSAndroid Build Coastguard Worker  3. You may opt to apply the terms of the ordinary GNU General Public
212*25da2beaSAndroid Build Coastguard WorkerLicense instead of this License to a given copy of the Library.  To do
213*25da2beaSAndroid Build Coastguard Workerthis, you must alter all the notices that refer to this License, so
214*25da2beaSAndroid Build Coastguard Workerthat they refer to the ordinary GNU General Public License, version 2,
215*25da2beaSAndroid Build Coastguard Workerinstead of to this License.  (If a newer version than version 2 of the
216*25da2beaSAndroid Build Coastguard Workerordinary GNU General Public License has appeared, then you can specify
217*25da2beaSAndroid Build Coastguard Workerthat version instead if you wish.)  Do not make any other change in
218*25da2beaSAndroid Build Coastguard Workerthese notices.
219*25da2beaSAndroid Build Coastguard Worker
220*25da2beaSAndroid Build Coastguard Worker  Once this change is made in a given copy, it is irreversible for
221*25da2beaSAndroid Build Coastguard Workerthat copy, so the ordinary GNU General Public License applies to all
222*25da2beaSAndroid Build Coastguard Workersubsequent copies and derivative works made from that copy.
223*25da2beaSAndroid Build Coastguard Worker
224*25da2beaSAndroid Build Coastguard Worker  This option is useful when you wish to copy part of the code of
225*25da2beaSAndroid Build Coastguard Workerthe Library into a program that is not a library.
226*25da2beaSAndroid Build Coastguard Worker
227*25da2beaSAndroid Build Coastguard Worker  4. You may copy and distribute the Library (or a portion or
228*25da2beaSAndroid Build Coastguard Workerderivative of it, under Section 2) in object code or executable form
229*25da2beaSAndroid Build Coastguard Workerunder the terms of Sections 1 and 2 above provided that you accompany
230*25da2beaSAndroid Build Coastguard Workerit with the complete corresponding machine-readable source code, which
231*25da2beaSAndroid Build Coastguard Workermust be distributed under the terms of Sections 1 and 2 above on a
232*25da2beaSAndroid Build Coastguard Workermedium customarily used for software interchange.
233*25da2beaSAndroid Build Coastguard Worker
234*25da2beaSAndroid Build Coastguard Worker  If distribution of object code is made by offering access to copy
235*25da2beaSAndroid Build Coastguard Workerfrom a designated place, then offering equivalent access to copy the
236*25da2beaSAndroid Build Coastguard Workersource code from the same place satisfies the requirement to
237*25da2beaSAndroid Build Coastguard Workerdistribute the source code, even though third parties are not
238*25da2beaSAndroid Build Coastguard Workercompelled to copy the source along with the object code.
239*25da2beaSAndroid Build Coastguard Worker
240*25da2beaSAndroid Build Coastguard Worker  5. A program that contains no derivative of any portion of the
241*25da2beaSAndroid Build Coastguard WorkerLibrary, but is designed to work with the Library by being compiled or
242*25da2beaSAndroid Build Coastguard Workerlinked with it, is called a "work that uses the Library".  Such a
243*25da2beaSAndroid Build Coastguard Workerwork, in isolation, is not a derivative work of the Library, and
244*25da2beaSAndroid Build Coastguard Workertherefore falls outside the scope of this License.
245*25da2beaSAndroid Build Coastguard Worker
246*25da2beaSAndroid Build Coastguard Worker  However, linking a "work that uses the Library" with the Library
247*25da2beaSAndroid Build Coastguard Workercreates an executable that is a derivative of the Library (because it
248*25da2beaSAndroid Build Coastguard Workercontains portions of the Library), rather than a "work that uses the
249*25da2beaSAndroid Build Coastguard Workerlibrary".  The executable is therefore covered by this License.
250*25da2beaSAndroid Build Coastguard WorkerSection 6 states terms for distribution of such executables.
251*25da2beaSAndroid Build Coastguard Worker
252*25da2beaSAndroid Build Coastguard Worker  When a "work that uses the Library" uses material from a header file
253*25da2beaSAndroid Build Coastguard Workerthat is part of the Library, the object code for the work may be a
254*25da2beaSAndroid Build Coastguard Workerderivative work of the Library even though the source code is not.
255*25da2beaSAndroid Build Coastguard WorkerWhether this is true is especially significant if the work can be
256*25da2beaSAndroid Build Coastguard Workerlinked without the Library, or if the work is itself a library.  The
257*25da2beaSAndroid Build Coastguard Workerthreshold for this to be true is not precisely defined by law.
258*25da2beaSAndroid Build Coastguard Worker
259*25da2beaSAndroid Build Coastguard Worker  If such an object file uses only numerical parameters, data
260*25da2beaSAndroid Build Coastguard Workerstructure layouts and accessors, and small macros and small inline
261*25da2beaSAndroid Build Coastguard Workerfunctions (ten lines or less in length), then the use of the object
262*25da2beaSAndroid Build Coastguard Workerfile is unrestricted, regardless of whether it is legally a derivative
263*25da2beaSAndroid Build Coastguard Workerwork.  (Executables containing this object code plus portions of the
264*25da2beaSAndroid Build Coastguard WorkerLibrary will still fall under Section 6.)
265*25da2beaSAndroid Build Coastguard Worker
266*25da2beaSAndroid Build Coastguard Worker  Otherwise, if the work is a derivative of the Library, you may
267*25da2beaSAndroid Build Coastguard Workerdistribute the object code for the work under the terms of Section 6.
268*25da2beaSAndroid Build Coastguard WorkerAny executables containing that work also fall under Section 6,
269*25da2beaSAndroid Build Coastguard Workerwhether or not they are linked directly with the Library itself.
270*25da2beaSAndroid Build Coastguard Worker
271*25da2beaSAndroid Build Coastguard Worker  6. As an exception to the Sections above, you may also combine or
272*25da2beaSAndroid Build Coastguard Workerlink a "work that uses the Library" with the Library to produce a
273*25da2beaSAndroid Build Coastguard Workerwork containing portions of the Library, and distribute that work
274*25da2beaSAndroid Build Coastguard Workerunder terms of your choice, provided that the terms permit
275*25da2beaSAndroid Build Coastguard Workermodification of the work for the customer's own use and reverse
276*25da2beaSAndroid Build Coastguard Workerengineering for debugging such modifications.
277*25da2beaSAndroid Build Coastguard Worker
278*25da2beaSAndroid Build Coastguard Worker  You must give prominent notice with each copy of the work that the
279*25da2beaSAndroid Build Coastguard WorkerLibrary is used in it and that the Library and its use are covered by
280*25da2beaSAndroid Build Coastguard Workerthis License.  You must supply a copy of this License.  If the work
281*25da2beaSAndroid Build Coastguard Workerduring execution displays copyright notices, you must include the
282*25da2beaSAndroid Build Coastguard Workercopyright notice for the Library among them, as well as a reference
283*25da2beaSAndroid Build Coastguard Workerdirecting the user to the copy of this License.  Also, you must do one
284*25da2beaSAndroid Build Coastguard Workerof these things:
285*25da2beaSAndroid Build Coastguard Worker
286*25da2beaSAndroid Build Coastguard Worker    a) Accompany the work with the complete corresponding
287*25da2beaSAndroid Build Coastguard Worker    machine-readable source code for the Library including whatever
288*25da2beaSAndroid Build Coastguard Worker    changes were used in the work (which must be distributed under
289*25da2beaSAndroid Build Coastguard Worker    Sections 1 and 2 above); and, if the work is an executable linked
290*25da2beaSAndroid Build Coastguard Worker    with the Library, with the complete machine-readable "work that
291*25da2beaSAndroid Build Coastguard Worker    uses the Library", as object code and/or source code, so that the
292*25da2beaSAndroid Build Coastguard Worker    user can modify the Library and then relink to produce a modified
293*25da2beaSAndroid Build Coastguard Worker    executable containing the modified Library.  (It is understood
294*25da2beaSAndroid Build Coastguard Worker    that the user who changes the contents of definitions files in the
295*25da2beaSAndroid Build Coastguard Worker    Library will not necessarily be able to recompile the application
296*25da2beaSAndroid Build Coastguard Worker    to use the modified definitions.)
297*25da2beaSAndroid Build Coastguard Worker
298*25da2beaSAndroid Build Coastguard Worker    b) Use a suitable shared library mechanism for linking with the
299*25da2beaSAndroid Build Coastguard Worker    Library.  A suitable mechanism is one that (1) uses at run time a
300*25da2beaSAndroid Build Coastguard Worker    copy of the library already present on the user's computer system,
301*25da2beaSAndroid Build Coastguard Worker    rather than copying library functions into the executable, and (2)
302*25da2beaSAndroid Build Coastguard Worker    will operate properly with a modified version of the library, if
303*25da2beaSAndroid Build Coastguard Worker    the user installs one, as long as the modified version is
304*25da2beaSAndroid Build Coastguard Worker    interface-compatible with the version that the work was made with.
305*25da2beaSAndroid Build Coastguard Worker
306*25da2beaSAndroid Build Coastguard Worker    c) Accompany the work with a written offer, valid for at
307*25da2beaSAndroid Build Coastguard Worker    least three years, to give the same user the materials
308*25da2beaSAndroid Build Coastguard Worker    specified in Subsection 6a, above, for a charge no more
309*25da2beaSAndroid Build Coastguard Worker    than the cost of performing this distribution.
310*25da2beaSAndroid Build Coastguard Worker
311*25da2beaSAndroid Build Coastguard Worker    d) If distribution of the work is made by offering access to copy
312*25da2beaSAndroid Build Coastguard Worker    from a designated place, offer equivalent access to copy the above
313*25da2beaSAndroid Build Coastguard Worker    specified materials from the same place.
314*25da2beaSAndroid Build Coastguard Worker
315*25da2beaSAndroid Build Coastguard Worker    e) Verify that the user has already received a copy of these
316*25da2beaSAndroid Build Coastguard Worker    materials or that you have already sent this user a copy.
317*25da2beaSAndroid Build Coastguard Worker
318*25da2beaSAndroid Build Coastguard Worker  For an executable, the required form of the "work that uses the
319*25da2beaSAndroid Build Coastguard WorkerLibrary" must include any data and utility programs needed for
320*25da2beaSAndroid Build Coastguard Workerreproducing the executable from it.  However, as a special exception,
321*25da2beaSAndroid Build Coastguard Workerthe materials to be distributed need not include anything that is
322*25da2beaSAndroid Build Coastguard Workernormally distributed (in either source or binary form) with the major
323*25da2beaSAndroid Build Coastguard Workercomponents (compiler, kernel, and so on) of the operating system on
324*25da2beaSAndroid Build Coastguard Workerwhich the executable runs, unless that component itself accompanies
325*25da2beaSAndroid Build Coastguard Workerthe executable.
326*25da2beaSAndroid Build Coastguard Worker
327*25da2beaSAndroid Build Coastguard Worker  It may happen that this requirement contradicts the license
328*25da2beaSAndroid Build Coastguard Workerrestrictions of other proprietary libraries that do not normally
329*25da2beaSAndroid Build Coastguard Workeraccompany the operating system.  Such a contradiction means you cannot
330*25da2beaSAndroid Build Coastguard Workeruse both them and the Library together in an executable that you
331*25da2beaSAndroid Build Coastguard Workerdistribute.
332*25da2beaSAndroid Build Coastguard Worker
333*25da2beaSAndroid Build Coastguard Worker  7. You may place library facilities that are a work based on the
334*25da2beaSAndroid Build Coastguard WorkerLibrary side-by-side in a single library together with other library
335*25da2beaSAndroid Build Coastguard Workerfacilities not covered by this License, and distribute such a combined
336*25da2beaSAndroid Build Coastguard Workerlibrary, provided that the separate distribution of the work based on
337*25da2beaSAndroid Build Coastguard Workerthe Library and of the other library facilities is otherwise
338*25da2beaSAndroid Build Coastguard Workerpermitted, and provided that you do these two things:
339*25da2beaSAndroid Build Coastguard Worker
340*25da2beaSAndroid Build Coastguard Worker    a) Accompany the combined library with a copy of the same work
341*25da2beaSAndroid Build Coastguard Worker    based on the Library, uncombined with any other library
342*25da2beaSAndroid Build Coastguard Worker    facilities.  This must be distributed under the terms of the
343*25da2beaSAndroid Build Coastguard Worker    Sections above.
344*25da2beaSAndroid Build Coastguard Worker
345*25da2beaSAndroid Build Coastguard Worker    b) Give prominent notice with the combined library of the fact
346*25da2beaSAndroid Build Coastguard Worker    that part of it is a work based on the Library, and explaining
347*25da2beaSAndroid Build Coastguard Worker    where to find the accompanying uncombined form of the same work.
348*25da2beaSAndroid Build Coastguard Worker
349*25da2beaSAndroid Build Coastguard Worker  8. You may not copy, modify, sublicense, link with, or distribute
350*25da2beaSAndroid Build Coastguard Workerthe Library except as expressly provided under this License.  Any
351*25da2beaSAndroid Build Coastguard Workerattempt otherwise to copy, modify, sublicense, link with, or
352*25da2beaSAndroid Build Coastguard Workerdistribute the Library is void, and will automatically terminate your
353*25da2beaSAndroid Build Coastguard Workerrights under this License.  However, parties who have received copies,
354*25da2beaSAndroid Build Coastguard Workeror rights, from you under this License will not have their licenses
355*25da2beaSAndroid Build Coastguard Workerterminated so long as such parties remain in full compliance.
356*25da2beaSAndroid Build Coastguard Worker
357*25da2beaSAndroid Build Coastguard Worker  9. You are not required to accept this License, since you have not
358*25da2beaSAndroid Build Coastguard Workersigned it.  However, nothing else grants you permission to modify or
359*25da2beaSAndroid Build Coastguard Workerdistribute the Library or its derivative works.  These actions are
360*25da2beaSAndroid Build Coastguard Workerprohibited by law if you do not accept this License.  Therefore, by
361*25da2beaSAndroid Build Coastguard Workermodifying or distributing the Library (or any work based on the
362*25da2beaSAndroid Build Coastguard WorkerLibrary), you indicate your acceptance of this License to do so, and
363*25da2beaSAndroid Build Coastguard Workerall its terms and conditions for copying, distributing or modifying
364*25da2beaSAndroid Build Coastguard Workerthe Library or works based on it.
365*25da2beaSAndroid Build Coastguard Worker
366*25da2beaSAndroid Build Coastguard Worker  10. Each time you redistribute the Library (or any work based on the
367*25da2beaSAndroid Build Coastguard WorkerLibrary), the recipient automatically receives a license from the
368*25da2beaSAndroid Build Coastguard Workeroriginal licensor to copy, distribute, link with or modify the Library
369*25da2beaSAndroid Build Coastguard Workersubject to these terms and conditions.  You may not impose any further
370*25da2beaSAndroid Build Coastguard Workerrestrictions on the recipients' exercise of the rights granted herein.
371*25da2beaSAndroid Build Coastguard WorkerYou are not responsible for enforcing compliance by third parties with
372*25da2beaSAndroid Build Coastguard Workerthis License.
373*25da2beaSAndroid Build Coastguard Worker
374*25da2beaSAndroid Build Coastguard Worker  11. If, as a consequence of a court judgment or allegation of patent
375*25da2beaSAndroid Build Coastguard Workerinfringement or for any other reason (not limited to patent issues),
376*25da2beaSAndroid Build Coastguard Workerconditions are imposed on you (whether by court order, agreement or
377*25da2beaSAndroid Build Coastguard Workerotherwise) that contradict the conditions of this License, they do not
378*25da2beaSAndroid Build Coastguard Workerexcuse you from the conditions of this License.  If you cannot
379*25da2beaSAndroid Build Coastguard Workerdistribute so as to satisfy simultaneously your obligations under this
380*25da2beaSAndroid Build Coastguard WorkerLicense and any other pertinent obligations, then as a consequence you
381*25da2beaSAndroid Build Coastguard Workermay not distribute the Library at all.  For example, if a patent
382*25da2beaSAndroid Build Coastguard Workerlicense would not permit royalty-free redistribution of the Library by
383*25da2beaSAndroid Build Coastguard Workerall those who receive copies directly or indirectly through you, then
384*25da2beaSAndroid Build Coastguard Workerthe only way you could satisfy both it and this License would be to
385*25da2beaSAndroid Build Coastguard Workerrefrain entirely from distribution of the Library.
386*25da2beaSAndroid Build Coastguard Worker
387*25da2beaSAndroid Build Coastguard WorkerIf any portion of this section is held invalid or unenforceable under any
388*25da2beaSAndroid Build Coastguard Workerparticular circumstance, the balance of the section is intended to apply,
389*25da2beaSAndroid Build Coastguard Workerand the section as a whole is intended to apply in other circumstances.
390*25da2beaSAndroid Build Coastguard Worker
391*25da2beaSAndroid Build Coastguard WorkerIt is not the purpose of this section to induce you to infringe any
392*25da2beaSAndroid Build Coastguard Workerpatents or other property right claims or to contest validity of any
393*25da2beaSAndroid Build Coastguard Workersuch claims; this section has the sole purpose of protecting the
394*25da2beaSAndroid Build Coastguard Workerintegrity of the free software distribution system which is
395*25da2beaSAndroid Build Coastguard Workerimplemented by public license practices.  Many people have made
396*25da2beaSAndroid Build Coastguard Workergenerous contributions to the wide range of software distributed
397*25da2beaSAndroid Build Coastguard Workerthrough that system in reliance on consistent application of that
398*25da2beaSAndroid Build Coastguard Workersystem; it is up to the author/donor to decide if he or she is willing
399*25da2beaSAndroid Build Coastguard Workerto distribute software through any other system and a licensee cannot
400*25da2beaSAndroid Build Coastguard Workerimpose that choice.
401*25da2beaSAndroid Build Coastguard Worker
402*25da2beaSAndroid Build Coastguard WorkerThis section is intended to make thoroughly clear what is believed to
403*25da2beaSAndroid Build Coastguard Workerbe a consequence of the rest of this License.
404*25da2beaSAndroid Build Coastguard Worker
405*25da2beaSAndroid Build Coastguard Worker  12. If the distribution and/or use of the Library is restricted in
406*25da2beaSAndroid Build Coastguard Workercertain countries either by patents or by copyrighted interfaces, the
407*25da2beaSAndroid Build Coastguard Workeroriginal copyright holder who places the Library under this License may add
408*25da2beaSAndroid Build Coastguard Workeran explicit geographical distribution limitation excluding those countries,
409*25da2beaSAndroid Build Coastguard Workerso that distribution is permitted only in or among countries not thus
410*25da2beaSAndroid Build Coastguard Workerexcluded.  In such case, this License incorporates the limitation as if
411*25da2beaSAndroid Build Coastguard Workerwritten in the body of this License.
412*25da2beaSAndroid Build Coastguard Worker
413*25da2beaSAndroid Build Coastguard Worker  13. The Free Software Foundation may publish revised and/or new
414*25da2beaSAndroid Build Coastguard Workerversions of the Lesser General Public License from time to time.
415*25da2beaSAndroid Build Coastguard WorkerSuch new versions will be similar in spirit to the present version,
416*25da2beaSAndroid Build Coastguard Workerbut may differ in detail to address new problems or concerns.
417*25da2beaSAndroid Build Coastguard Worker
418*25da2beaSAndroid Build Coastguard WorkerEach version is given a distinguishing version number.  If the Library
419*25da2beaSAndroid Build Coastguard Workerspecifies a version number of this License which applies to it and
420*25da2beaSAndroid Build Coastguard Worker"any later version", you have the option of following the terms and
421*25da2beaSAndroid Build Coastguard Workerconditions either of that version or of any later version published by
422*25da2beaSAndroid Build Coastguard Workerthe Free Software Foundation.  If the Library does not specify a
423*25da2beaSAndroid Build Coastguard Workerlicense version number, you may choose any version ever published by
424*25da2beaSAndroid Build Coastguard Workerthe Free Software Foundation.
425*25da2beaSAndroid Build Coastguard Worker
426*25da2beaSAndroid Build Coastguard Worker  14. If you wish to incorporate parts of the Library into other free
427*25da2beaSAndroid Build Coastguard Workerprograms whose distribution conditions are incompatible with these,
428*25da2beaSAndroid Build Coastguard Workerwrite to the author to ask for permission.  For software which is
429*25da2beaSAndroid Build Coastguard Workercopyrighted by the Free Software Foundation, write to the Free
430*25da2beaSAndroid Build Coastguard WorkerSoftware Foundation; we sometimes make exceptions for this.  Our
431*25da2beaSAndroid Build Coastguard Workerdecision will be guided by the two goals of preserving the free status
432*25da2beaSAndroid Build Coastguard Workerof all derivatives of our free software and of promoting the sharing
433*25da2beaSAndroid Build Coastguard Workerand reuse of software generally.
434*25da2beaSAndroid Build Coastguard Worker
435*25da2beaSAndroid Build Coastguard Worker                            NO WARRANTY
436*25da2beaSAndroid Build Coastguard Worker
437*25da2beaSAndroid Build Coastguard Worker  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
438*25da2beaSAndroid Build Coastguard WorkerWARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
439*25da2beaSAndroid Build Coastguard WorkerEXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
440*25da2beaSAndroid Build Coastguard WorkerOTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
441*25da2beaSAndroid Build Coastguard WorkerKIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
442*25da2beaSAndroid Build Coastguard WorkerIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
443*25da2beaSAndroid Build Coastguard WorkerPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
444*25da2beaSAndroid Build Coastguard WorkerLIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
445*25da2beaSAndroid Build Coastguard WorkerTHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
446*25da2beaSAndroid Build Coastguard Worker
447*25da2beaSAndroid Build Coastguard Worker  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
448*25da2beaSAndroid Build Coastguard WorkerWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
449*25da2beaSAndroid Build Coastguard WorkerAND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
450*25da2beaSAndroid Build Coastguard WorkerFOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
451*25da2beaSAndroid Build Coastguard WorkerCONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
452*25da2beaSAndroid Build Coastguard WorkerLIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
453*25da2beaSAndroid Build Coastguard WorkerRENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
454*25da2beaSAndroid Build Coastguard WorkerFAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
455*25da2beaSAndroid Build Coastguard WorkerSUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
456*25da2beaSAndroid Build Coastguard WorkerDAMAGES.
457*25da2beaSAndroid Build Coastguard Worker
458*25da2beaSAndroid Build Coastguard Worker                     END OF TERMS AND CONDITIONS
459*25da2beaSAndroid Build Coastguard Worker
460*25da2beaSAndroid Build Coastguard Worker           How to Apply These Terms to Your New Libraries
461*25da2beaSAndroid Build Coastguard Worker
462*25da2beaSAndroid Build Coastguard Worker  If you develop a new library, and you want it to be of the greatest
463*25da2beaSAndroid Build Coastguard Workerpossible use to the public, we recommend making it free software that
464*25da2beaSAndroid Build Coastguard Workereveryone can redistribute and change.  You can do so by permitting
465*25da2beaSAndroid Build Coastguard Workerredistribution under these terms (or, alternatively, under the terms of the
466*25da2beaSAndroid Build Coastguard Workerordinary General Public License).
467*25da2beaSAndroid Build Coastguard Worker
468*25da2beaSAndroid Build Coastguard Worker  To apply these terms, attach the following notices to the library.  It is
469*25da2beaSAndroid Build Coastguard Workersafest to attach them to the start of each source file to most effectively
470*25da2beaSAndroid Build Coastguard Workerconvey the exclusion of warranty; and each file should have at least the
471*25da2beaSAndroid Build Coastguard Worker"copyright" line and a pointer to where the full notice is found.
472*25da2beaSAndroid Build Coastguard Worker
473*25da2beaSAndroid Build Coastguard Worker    <one line to give the library's name and a brief idea of what it does.>
474*25da2beaSAndroid Build Coastguard Worker    Copyright (C) <year>  <name of author>
475*25da2beaSAndroid Build Coastguard Worker
476*25da2beaSAndroid Build Coastguard Worker    This library is free software; you can redistribute it and/or
477*25da2beaSAndroid Build Coastguard Worker    modify it under the terms of the GNU Lesser General Public
478*25da2beaSAndroid Build Coastguard Worker    License as published by the Free Software Foundation; either
479*25da2beaSAndroid Build Coastguard Worker    version 2.1 of the License, or (at your option) any later version.
480*25da2beaSAndroid Build Coastguard Worker
481*25da2beaSAndroid Build Coastguard Worker    This library is distributed in the hope that it will be useful,
482*25da2beaSAndroid Build Coastguard Worker    but WITHOUT ANY WARRANTY; without even the implied warranty of
483*25da2beaSAndroid Build Coastguard Worker    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
484*25da2beaSAndroid Build Coastguard Worker    Lesser General Public License for more details.
485*25da2beaSAndroid Build Coastguard Worker
486*25da2beaSAndroid Build Coastguard Worker    You should have received a copy of the GNU Lesser General Public
487*25da2beaSAndroid Build Coastguard Worker    License along with this library; if not, write to the Free Software
488*25da2beaSAndroid Build Coastguard Worker    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
489*25da2beaSAndroid Build Coastguard Worker
490*25da2beaSAndroid Build Coastguard WorkerAlso add information on how to contact you by electronic and paper mail.
491*25da2beaSAndroid Build Coastguard Worker
492*25da2beaSAndroid Build Coastguard WorkerYou should also get your employer (if you work as a programmer) or your
493*25da2beaSAndroid Build Coastguard Workerschool, if any, to sign a "copyright disclaimer" for the library, if
494*25da2beaSAndroid Build Coastguard Workernecessary.  Here is a sample; alter the names:
495*25da2beaSAndroid Build Coastguard Worker
496*25da2beaSAndroid Build Coastguard Worker  Yoyodyne, Inc., hereby disclaims all copyright interest in the
497*25da2beaSAndroid Build Coastguard Worker  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
498*25da2beaSAndroid Build Coastguard Worker
499*25da2beaSAndroid Build Coastguard Worker  <signature of Ty Coon>, 1 April 1990
500*25da2beaSAndroid Build Coastguard Worker  Ty Coon, President of Vice
501*25da2beaSAndroid Build Coastguard Worker
502*25da2beaSAndroid Build Coastguard WorkerThat's all there is to it!
503