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