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