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