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