xref: /aosp_15_r20/external/libtracefs/LICENSES/LGPL-2.1 (revision 287e80b3a36113050663245e7f2c00d274188f18)
1*287e80b3SSadaf EbrahimiValid-License-Identifier: LGPL-2.1
2*287e80b3SSadaf EbrahimiValid-License-Identifier: LGPL-2.1+
3*287e80b3SSadaf EbrahimiSPDX-URL: https://spdx.org/licenses/LGPL-2.1.html
4*287e80b3SSadaf EbrahimiUsage-Guide:
5*287e80b3SSadaf Ebrahimi  To use this license in source code, put one of the following SPDX
6*287e80b3SSadaf Ebrahimi  tag/value pairs into a comment according to the placement
7*287e80b3SSadaf Ebrahimi  guidelines in the licensing rules documentation.
8*287e80b3SSadaf Ebrahimi  For 'GNU Lesser General Public License (LGPL) version 2.1 only' use:
9*287e80b3SSadaf Ebrahimi    SPDX-License-Identifier: LGPL-2.1
10*287e80b3SSadaf Ebrahimi  For 'GNU Lesser General Public License (LGPL) version 2.1 or any later
11*287e80b3SSadaf Ebrahimi  version' use:
12*287e80b3SSadaf Ebrahimi    SPDX-License-Identifier: LGPL-2.1+
13*287e80b3SSadaf EbrahimiLicense-Text:
14*287e80b3SSadaf Ebrahimi
15*287e80b3SSadaf EbrahimiGNU LESSER GENERAL PUBLIC LICENSE
16*287e80b3SSadaf EbrahimiVersion 2.1, February 1999
17*287e80b3SSadaf Ebrahimi
18*287e80b3SSadaf EbrahimiCopyright (C) 1991, 1999 Free Software Foundation, Inc.
19*287e80b3SSadaf Ebrahimi51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20*287e80b3SSadaf Ebrahimi
21*287e80b3SSadaf EbrahimiEveryone is permitted to copy and distribute verbatim copies of this
22*287e80b3SSadaf Ebrahimilicense document, but changing it is not allowed.
23*287e80b3SSadaf Ebrahimi
24*287e80b3SSadaf Ebrahimi[This is the first released version of the Lesser GPL. It also counts as
25*287e80b3SSadaf Ebrahimithe successor of the GNU Library Public License, version 2, hence the
26*287e80b3SSadaf Ebrahimiversion number 2.1.]
27*287e80b3SSadaf Ebrahimi
28*287e80b3SSadaf EbrahimiPreamble
29*287e80b3SSadaf Ebrahimi
30*287e80b3SSadaf EbrahimiThe licenses for most software are designed to take away your freedom to
31*287e80b3SSadaf Ebrahimishare and change it. By contrast, the GNU General Public Licenses are
32*287e80b3SSadaf Ebrahimiintended to guarantee your freedom to share and change free software--to
33*287e80b3SSadaf Ebrahimimake sure the software is free for all its users.
34*287e80b3SSadaf Ebrahimi
35*287e80b3SSadaf EbrahimiThis license, the Lesser General Public License, applies to some specially
36*287e80b3SSadaf Ebrahimidesignated software packages--typically libraries--of the Free Software
37*287e80b3SSadaf EbrahimiFoundation and other authors who decide to use it. You can use it too, but
38*287e80b3SSadaf Ebrahimiwe suggest you first think carefully about whether this license or the
39*287e80b3SSadaf Ebrahimiordinary General Public License is the better strategy to use in any
40*287e80b3SSadaf Ebrahimiparticular case, based on the explanations below.
41*287e80b3SSadaf Ebrahimi
42*287e80b3SSadaf EbrahimiWhen we speak of free software, we are referring to freedom of use, not
43*287e80b3SSadaf Ebrahimiprice. Our General Public Licenses are designed to make sure that you have
44*287e80b3SSadaf Ebrahimithe freedom to distribute copies of free software (and charge for this
45*287e80b3SSadaf Ebrahimiservice if you wish); that you receive source code or can get it if you
46*287e80b3SSadaf Ebrahimiwant it; that you can change the software and use pieces of it in new free
47*287e80b3SSadaf Ebrahimiprograms; and that you are informed that you can do these things.
48*287e80b3SSadaf Ebrahimi
49*287e80b3SSadaf EbrahimiTo protect your rights, we need to make restrictions that forbid
50*287e80b3SSadaf Ebrahimidistributors to deny you these rights or to ask you to surrender these
51*287e80b3SSadaf Ebrahimirights. These restrictions translate to certain responsibilities for you if
52*287e80b3SSadaf Ebrahimiyou distribute copies of the library or if you modify it.
53*287e80b3SSadaf Ebrahimi
54*287e80b3SSadaf EbrahimiFor example, if you distribute copies of the library, whether gratis or for
55*287e80b3SSadaf Ebrahimia fee, you must give the recipients all the rights that we gave you. You
56*287e80b3SSadaf Ebrahimimust make sure that they, too, receive or can get the source code. If you
57*287e80b3SSadaf Ebrahimilink other code with the library, you must provide complete object files to
58*287e80b3SSadaf Ebrahimithe recipients, so that they can relink them with the library after making
59*287e80b3SSadaf Ebrahimichanges to the library and recompiling it. And you must show them these
60*287e80b3SSadaf Ebrahimiterms so they know their rights.
61*287e80b3SSadaf Ebrahimi
62*287e80b3SSadaf EbrahimiWe protect your rights with a two-step method: (1) we copyright the
63*287e80b3SSadaf Ebrahimilibrary, and (2) we offer you this license, which gives you legal
64*287e80b3SSadaf Ebrahimipermission to copy, distribute and/or modify the library.
65*287e80b3SSadaf Ebrahimi
66*287e80b3SSadaf EbrahimiTo protect each distributor, we want to make it very clear that there is no
67*287e80b3SSadaf Ebrahimiwarranty for the free library. Also, if the library is modified by someone
68*287e80b3SSadaf Ebrahimielse and passed on, the recipients should know that what they have is not
69*287e80b3SSadaf Ebrahimithe original version, so that the original author's reputation will not be
70*287e80b3SSadaf Ebrahimiaffected by problems that might be introduced by others.
71*287e80b3SSadaf Ebrahimi
72*287e80b3SSadaf EbrahimiFinally, software patents pose a constant threat to the existence of any
73*287e80b3SSadaf Ebrahimifree program. We wish to make sure that a company cannot effectively
74*287e80b3SSadaf Ebrahimirestrict the users of a free program by obtaining a restrictive license
75*287e80b3SSadaf Ebrahimifrom a patent holder. Therefore, we insist that any patent license obtained
76*287e80b3SSadaf Ebrahimifor a version of the library must be consistent with the full freedom of
77*287e80b3SSadaf Ebrahimiuse specified in this license.
78*287e80b3SSadaf Ebrahimi
79*287e80b3SSadaf EbrahimiMost GNU software, including some libraries, is covered by the ordinary GNU
80*287e80b3SSadaf EbrahimiGeneral Public License. This license, the GNU Lesser General Public
81*287e80b3SSadaf EbrahimiLicense, applies to certain designated libraries, and is quite different
82*287e80b3SSadaf Ebrahimifrom the ordinary General Public License. We use this license for certain
83*287e80b3SSadaf Ebrahimilibraries in order to permit linking those libraries into non-free
84*287e80b3SSadaf Ebrahimiprograms.
85*287e80b3SSadaf Ebrahimi
86*287e80b3SSadaf EbrahimiWhen a program is linked with a library, whether statically or using a
87*287e80b3SSadaf Ebrahimishared library, the combination of the two is legally speaking a combined
88*287e80b3SSadaf Ebrahimiwork, a derivative of the original library. The ordinary General Public
89*287e80b3SSadaf EbrahimiLicense therefore permits such linking only if the entire combination fits
90*287e80b3SSadaf Ebrahimiits criteria of freedom. The Lesser General Public License permits more lax
91*287e80b3SSadaf Ebrahimicriteria for linking other code with the library.
92*287e80b3SSadaf Ebrahimi
93*287e80b3SSadaf EbrahimiWe call this license the "Lesser" General Public License because it does
94*287e80b3SSadaf EbrahimiLess to protect the user's freedom than the ordinary General Public
95*287e80b3SSadaf EbrahimiLicense. It also provides other free software developers Less of an
96*287e80b3SSadaf Ebrahimiadvantage over competing non-free programs. These disadvantages are the
97*287e80b3SSadaf Ebrahimireason we use the ordinary General Public License for many
98*287e80b3SSadaf Ebrahimilibraries. However, the Lesser license provides advantages in certain
99*287e80b3SSadaf Ebrahimispecial circumstances.
100*287e80b3SSadaf Ebrahimi
101*287e80b3SSadaf EbrahimiFor example, on rare occasions, there may be a special need to encourage
102*287e80b3SSadaf Ebrahimithe widest possible use of a certain library, so that it becomes a de-facto
103*287e80b3SSadaf Ebrahimistandard. To achieve this, non-free programs must be allowed to use the
104*287e80b3SSadaf Ebrahimilibrary. A more frequent case is that a free library does the same job as
105*287e80b3SSadaf Ebrahimiwidely used non-free libraries. In this case, there is little to gain by
106*287e80b3SSadaf Ebrahimilimiting the free library to free software only, so we use the Lesser
107*287e80b3SSadaf EbrahimiGeneral Public License.
108*287e80b3SSadaf Ebrahimi
109*287e80b3SSadaf EbrahimiIn other cases, permission to use a particular library in non-free programs
110*287e80b3SSadaf Ebrahimienables a greater number of people to use a large body of free
111*287e80b3SSadaf Ebrahimisoftware. For example, permission to use the GNU C Library in non-free
112*287e80b3SSadaf Ebrahimiprograms enables many more people to use the whole GNU operating system, as
113*287e80b3SSadaf Ebrahimiwell as its variant, the GNU/Linux operating system.
114*287e80b3SSadaf Ebrahimi
115*287e80b3SSadaf EbrahimiAlthough the Lesser General Public License is Less protective of the users'
116*287e80b3SSadaf Ebrahimifreedom, it does ensure that the user of a program that is linked with the
117*287e80b3SSadaf EbrahimiLibrary has the freedom and the wherewithal to run that program using a
118*287e80b3SSadaf Ebrahimimodified version of the Library.
119*287e80b3SSadaf Ebrahimi
120*287e80b3SSadaf EbrahimiThe precise terms and conditions for copying, distribution and modification
121*287e80b3SSadaf Ebrahimifollow. Pay close attention to the difference between a "work based on the
122*287e80b3SSadaf Ebrahimilibrary" and a "work that uses the library". The former contains code
123*287e80b3SSadaf Ebrahimiderived from the library, whereas the latter must be combined with the
124*287e80b3SSadaf Ebrahimilibrary in order to run.
125*287e80b3SSadaf Ebrahimi
126*287e80b3SSadaf EbrahimiTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
127*287e80b3SSadaf Ebrahimi
128*287e80b3SSadaf Ebrahimi0. This License Agreement applies to any software library or other program
129*287e80b3SSadaf Ebrahimi   which contains a notice placed by the copyright holder or other
130*287e80b3SSadaf Ebrahimi   authorized party saying it may be distributed under the terms of this
131*287e80b3SSadaf Ebrahimi   Lesser General Public License (also called "this License"). Each
132*287e80b3SSadaf Ebrahimi   licensee is addressed as "you".
133*287e80b3SSadaf Ebrahimi
134*287e80b3SSadaf Ebrahimi   A "library" means a collection of software functions and/or data
135*287e80b3SSadaf Ebrahimi   prepared so as to be conveniently linked with application programs
136*287e80b3SSadaf Ebrahimi   (which use some of those functions and data) to form executables.
137*287e80b3SSadaf Ebrahimi
138*287e80b3SSadaf Ebrahimi   The "Library", below, refers to any such software library or work which
139*287e80b3SSadaf Ebrahimi   has been distributed under these terms. A "work based on the Library"
140*287e80b3SSadaf Ebrahimi   means either the Library or any derivative work under copyright law:
141*287e80b3SSadaf Ebrahimi   that is to say, a work containing the Library or a portion of it, either
142*287e80b3SSadaf Ebrahimi   verbatim or with modifications and/or translated straightforwardly into
143*287e80b3SSadaf Ebrahimi   another language. (Hereinafter, translation is included without
144*287e80b3SSadaf Ebrahimi   limitation in the term "modification".)
145*287e80b3SSadaf Ebrahimi
146*287e80b3SSadaf Ebrahimi   "Source code" for a work means the preferred form of the work for making
147*287e80b3SSadaf Ebrahimi   modifications to it. For a library, complete source code means all the
148*287e80b3SSadaf Ebrahimi   source code for all modules it contains, plus any associated interface
149*287e80b3SSadaf Ebrahimi   definition files, plus the scripts used to control compilation and
150*287e80b3SSadaf Ebrahimi   installation of the library.
151*287e80b3SSadaf Ebrahimi
152*287e80b3SSadaf Ebrahimi    Activities other than copying, distribution and modification are not
153*287e80b3SSadaf Ebrahimi    covered by this License; they are outside its scope. The act of running
154*287e80b3SSadaf Ebrahimi    a program using the Library is not restricted, and output from such a
155*287e80b3SSadaf Ebrahimi    program is covered only if its contents constitute a work based on the
156*287e80b3SSadaf Ebrahimi    Library (independent of the use of the Library in a tool for writing
157*287e80b3SSadaf Ebrahimi    it). Whether that is true depends on what the Library does and what the
158*287e80b3SSadaf Ebrahimi    program that uses the Library does.
159*287e80b3SSadaf Ebrahimi
160*287e80b3SSadaf Ebrahimi1. You may copy and distribute verbatim copies of the Library's complete
161*287e80b3SSadaf Ebrahimi   source code as you receive it, in any medium, provided that you
162*287e80b3SSadaf Ebrahimi   conspicuously and appropriately publish on each copy an appropriate
163*287e80b3SSadaf Ebrahimi   copyright notice and disclaimer of warranty; keep intact all the notices
164*287e80b3SSadaf Ebrahimi   that refer to this License and to the absence of any warranty; and
165*287e80b3SSadaf Ebrahimi   distribute a copy of this License along with the Library.
166*287e80b3SSadaf Ebrahimi
167*287e80b3SSadaf Ebrahimi   You may charge a fee for the physical act of transferring a copy, and
168*287e80b3SSadaf Ebrahimi   you may at your option offer warranty protection in exchange for a fee.
169*287e80b3SSadaf Ebrahimi
170*287e80b3SSadaf Ebrahimi2. You may modify your copy or copies of the Library or any portion of it,
171*287e80b3SSadaf Ebrahimi   thus forming a work based on the Library, and copy and distribute such
172*287e80b3SSadaf Ebrahimi   modifications or work under the terms of Section 1 above, provided that
173*287e80b3SSadaf Ebrahimi   you also meet all of these conditions:
174*287e80b3SSadaf Ebrahimi
175*287e80b3SSadaf Ebrahimi   a) The modified work must itself be a software library.
176*287e80b3SSadaf Ebrahimi
177*287e80b3SSadaf Ebrahimi   b) You must cause the files modified to carry prominent notices stating
178*287e80b3SSadaf Ebrahimi      that you changed the files and the date of any change.
179*287e80b3SSadaf Ebrahimi
180*287e80b3SSadaf Ebrahimi   c) You must cause the whole of the work to be licensed at no charge to
181*287e80b3SSadaf Ebrahimi      all third parties under the terms of this License.
182*287e80b3SSadaf Ebrahimi
183*287e80b3SSadaf Ebrahimi   d) If a facility in the modified Library refers to a function or a table
184*287e80b3SSadaf Ebrahimi      of data to be supplied by an application program that uses the
185*287e80b3SSadaf Ebrahimi      facility, other than as an argument passed when the facility is
186*287e80b3SSadaf Ebrahimi      invoked, then you must make a good faith effort to ensure that, in
187*287e80b3SSadaf Ebrahimi      the event an application does not supply such function or table, the
188*287e80b3SSadaf Ebrahimi      facility still operates, and performs whatever part of its purpose
189*287e80b3SSadaf Ebrahimi      remains meaningful.
190*287e80b3SSadaf Ebrahimi
191*287e80b3SSadaf Ebrahimi   (For example, a function in a library to compute square roots has a
192*287e80b3SSadaf Ebrahimi    purpose that is entirely well-defined independent of the
193*287e80b3SSadaf Ebrahimi    application. Therefore, Subsection 2d requires that any
194*287e80b3SSadaf Ebrahimi    application-supplied function or table used by this function must be
195*287e80b3SSadaf Ebrahimi    optional: if the application does not supply it, the square root
196*287e80b3SSadaf Ebrahimi    function must still compute square roots.)
197*287e80b3SSadaf Ebrahimi
198*287e80b3SSadaf Ebrahimi   These requirements apply to the modified work as a whole. If
199*287e80b3SSadaf Ebrahimi   identifiable sections of that work are not derived from the Library, and
200*287e80b3SSadaf Ebrahimi   can be reasonably considered independent and separate works in
201*287e80b3SSadaf Ebrahimi   themselves, then this License, and its terms, do not apply to those
202*287e80b3SSadaf Ebrahimi   sections when you distribute them as separate works. But when you
203*287e80b3SSadaf Ebrahimi   distribute the same sections as part of a whole which is a work based on
204*287e80b3SSadaf Ebrahimi   the Library, the distribution of the whole must be on the terms of this
205*287e80b3SSadaf Ebrahimi   License, whose permissions for other licensees extend to the entire
206*287e80b3SSadaf Ebrahimi   whole, and thus to each and every part regardless of who wrote it.
207*287e80b3SSadaf Ebrahimi
208*287e80b3SSadaf Ebrahimi   Thus, it is not the intent of this section to claim rights or contest
209*287e80b3SSadaf Ebrahimi   your rights to work written entirely by you; rather, the intent is to
210*287e80b3SSadaf Ebrahimi   exercise the right to control the distribution of derivative or
211*287e80b3SSadaf Ebrahimi   collective works based on the Library.
212*287e80b3SSadaf Ebrahimi
213*287e80b3SSadaf Ebrahimi   In addition, mere aggregation of another work not based on the Library
214*287e80b3SSadaf Ebrahimi   with the Library (or with a work based on the Library) on a volume of a
215*287e80b3SSadaf Ebrahimi   storage or distribution medium does not bring the other work under the
216*287e80b3SSadaf Ebrahimi   scope of this License.
217*287e80b3SSadaf Ebrahimi
218*287e80b3SSadaf Ebrahimi3. You may opt to apply the terms of the ordinary GNU General Public
219*287e80b3SSadaf Ebrahimi   License instead of this License to a given copy of the Library. To do
220*287e80b3SSadaf Ebrahimi   this, you must alter all the notices that refer to this License, so that
221*287e80b3SSadaf Ebrahimi   they refer to the ordinary GNU General Public License, version 2,
222*287e80b3SSadaf Ebrahimi   instead of to this License. (If a newer version than version 2 of the
223*287e80b3SSadaf Ebrahimi   ordinary GNU General Public License has appeared, then you can specify
224*287e80b3SSadaf Ebrahimi   that version instead if you wish.) Do not make any other change in these
225*287e80b3SSadaf Ebrahimi   notices.
226*287e80b3SSadaf Ebrahimi
227*287e80b3SSadaf Ebrahimi   Once this change is made in a given copy, it is irreversible for that
228*287e80b3SSadaf Ebrahimi   copy, so the ordinary GNU General Public License applies to all
229*287e80b3SSadaf Ebrahimi   subsequent copies and derivative works made from that copy.
230*287e80b3SSadaf Ebrahimi
231*287e80b3SSadaf Ebrahimi   This option is useful when you wish to copy part of the code of the
232*287e80b3SSadaf Ebrahimi   Library into a program that is not a library.
233*287e80b3SSadaf Ebrahimi
234*287e80b3SSadaf Ebrahimi4. You may copy and distribute the Library (or a portion or derivative of
235*287e80b3SSadaf Ebrahimi   it, under Section 2) in object code or executable form under the terms
236*287e80b3SSadaf Ebrahimi   of Sections 1 and 2 above provided that you accompany it with the
237*287e80b3SSadaf Ebrahimi   complete corresponding machine-readable source code, which must be
238*287e80b3SSadaf Ebrahimi   distributed under the terms of Sections 1 and 2 above on a medium
239*287e80b3SSadaf Ebrahimi   customarily used for software interchange.
240*287e80b3SSadaf Ebrahimi
241*287e80b3SSadaf Ebrahimi   If distribution of object code is made by offering access to copy from a
242*287e80b3SSadaf Ebrahimi   designated place, then offering equivalent access to copy the source
243*287e80b3SSadaf Ebrahimi   code from the same place satisfies the requirement to distribute the
244*287e80b3SSadaf Ebrahimi   source code, even though third parties are not compelled to copy the
245*287e80b3SSadaf Ebrahimi   source along with the object code.
246*287e80b3SSadaf Ebrahimi
247*287e80b3SSadaf Ebrahimi5. A program that contains no derivative of any portion of the Library, but
248*287e80b3SSadaf Ebrahimi   is designed to work with the Library by being compiled or linked with
249*287e80b3SSadaf Ebrahimi   it, is called a "work that uses the Library". Such a work, in isolation,
250*287e80b3SSadaf Ebrahimi   is not a derivative work of the Library, and therefore falls outside the
251*287e80b3SSadaf Ebrahimi   scope of this License.
252*287e80b3SSadaf Ebrahimi
253*287e80b3SSadaf Ebrahimi   However, linking a "work that uses the Library" with the Library creates
254*287e80b3SSadaf Ebrahimi   an executable that is a derivative of the Library (because it contains
255*287e80b3SSadaf Ebrahimi   portions of the Library), rather than a "work that uses the
256*287e80b3SSadaf Ebrahimi   library". The executable is therefore covered by this License. Section 6
257*287e80b3SSadaf Ebrahimi   states terms for distribution of such executables.
258*287e80b3SSadaf Ebrahimi
259*287e80b3SSadaf Ebrahimi   When a "work that uses the Library" uses material from a header file
260*287e80b3SSadaf Ebrahimi   that is part of the Library, the object code for the work may be a
261*287e80b3SSadaf Ebrahimi   derivative work of the Library even though the source code is
262*287e80b3SSadaf Ebrahimi   not. Whether this is true is especially significant if the work can be
263*287e80b3SSadaf Ebrahimi   linked without the Library, or if the work is itself a library. The
264*287e80b3SSadaf Ebrahimi   threshold for this to be true is not precisely defined by law.
265*287e80b3SSadaf Ebrahimi
266*287e80b3SSadaf Ebrahimi   If such an object file uses only numerical parameters, data structure
267*287e80b3SSadaf Ebrahimi   layouts and accessors, and small macros and small inline functions (ten
268*287e80b3SSadaf Ebrahimi   lines or less in length), then the use of the object file is
269*287e80b3SSadaf Ebrahimi   unrestricted, regardless of whether it is legally a derivative
270*287e80b3SSadaf Ebrahimi   work. (Executables containing this object code plus portions of the
271*287e80b3SSadaf Ebrahimi   Library will still fall under Section 6.)
272*287e80b3SSadaf Ebrahimi
273*287e80b3SSadaf Ebrahimi   Otherwise, if the work is a derivative of the Library, you may
274*287e80b3SSadaf Ebrahimi   distribute the object code for the work under the terms of Section
275*287e80b3SSadaf Ebrahimi   6. Any executables containing that work also fall under Section 6,
276*287e80b3SSadaf Ebrahimi   whether or not they are linked directly with the Library itself.
277*287e80b3SSadaf Ebrahimi
278*287e80b3SSadaf Ebrahimi6. As an exception to the Sections above, you may also combine or link a
279*287e80b3SSadaf Ebrahimi   "work that uses the Library" with the Library to produce a work
280*287e80b3SSadaf Ebrahimi   containing portions of the Library, and distribute that work under terms
281*287e80b3SSadaf Ebrahimi   of your choice, provided that the terms permit modification of the work
282*287e80b3SSadaf Ebrahimi   for the customer's own use and reverse engineering for debugging such
283*287e80b3SSadaf Ebrahimi   modifications.
284*287e80b3SSadaf Ebrahimi
285*287e80b3SSadaf Ebrahimi   You must give prominent notice with each copy of the work that the
286*287e80b3SSadaf Ebrahimi   Library is used in it and that the Library and its use are covered by
287*287e80b3SSadaf Ebrahimi   this License. You must supply a copy of this License. If the work during
288*287e80b3SSadaf Ebrahimi   execution displays copyright notices, you must include the copyright
289*287e80b3SSadaf Ebrahimi   notice for the Library among them, as well as a reference directing the
290*287e80b3SSadaf Ebrahimi   user to the copy of this License. Also, you must do one of these things:
291*287e80b3SSadaf Ebrahimi
292*287e80b3SSadaf Ebrahimi   a) Accompany the work with the complete corresponding machine-readable
293*287e80b3SSadaf Ebrahimi      source code for the Library including whatever changes were used in
294*287e80b3SSadaf Ebrahimi      the work (which must be distributed under Sections 1 and 2 above);
295*287e80b3SSadaf Ebrahimi      and, if the work is an executable linked with the Library, with the
296*287e80b3SSadaf Ebrahimi      complete machine-readable "work that uses the Library", as object
297*287e80b3SSadaf Ebrahimi      code and/or source code, so that the user can modify the Library and
298*287e80b3SSadaf Ebrahimi      then relink to produce a modified executable containing the modified
299*287e80b3SSadaf Ebrahimi      Library. (It is understood that the user who changes the contents of
300*287e80b3SSadaf Ebrahimi      definitions files in the Library will not necessarily be able to
301*287e80b3SSadaf Ebrahimi      recompile the application to use the modified definitions.)
302*287e80b3SSadaf Ebrahimi
303*287e80b3SSadaf Ebrahimi   b) Use a suitable shared library mechanism for linking with the
304*287e80b3SSadaf Ebrahimi      Library. A suitable mechanism is one that (1) uses at run time a copy
305*287e80b3SSadaf Ebrahimi      of the library already present on the user's computer system, rather
306*287e80b3SSadaf Ebrahimi      than copying library functions into the executable, and (2) will
307*287e80b3SSadaf Ebrahimi      operate properly with a modified version of the library, if the user
308*287e80b3SSadaf Ebrahimi      installs one, as long as the modified version is interface-compatible
309*287e80b3SSadaf Ebrahimi      with the version that the work was made with.
310*287e80b3SSadaf Ebrahimi
311*287e80b3SSadaf Ebrahimi   c) Accompany the work with a written offer, valid for at least three
312*287e80b3SSadaf Ebrahimi      years, to give the same user the materials specified in Subsection
313*287e80b3SSadaf Ebrahimi      6a, above, for a charge no more than the cost of performing this
314*287e80b3SSadaf Ebrahimi      distribution.
315*287e80b3SSadaf Ebrahimi
316*287e80b3SSadaf Ebrahimi   d) If distribution of the work is made by offering access to copy from a
317*287e80b3SSadaf Ebrahimi      designated place, offer equivalent access to copy the above specified
318*287e80b3SSadaf Ebrahimi      materials from the same place.
319*287e80b3SSadaf Ebrahimi
320*287e80b3SSadaf Ebrahimi   e) Verify that the user has already received a copy of these materials
321*287e80b3SSadaf Ebrahimi      or that you have already sent this user a copy.
322*287e80b3SSadaf Ebrahimi
323*287e80b3SSadaf Ebrahimi   For an executable, the required form of the "work that uses the Library"
324*287e80b3SSadaf Ebrahimi   must include any data and utility programs needed for reproducing the
325*287e80b3SSadaf Ebrahimi   executable from it. However, as a special exception, the materials to be
326*287e80b3SSadaf Ebrahimi   distributed need not include anything that is normally distributed (in
327*287e80b3SSadaf Ebrahimi   either source or binary form) with the major components (compiler,
328*287e80b3SSadaf Ebrahimi   kernel, and so on) of the operating system on which the executable runs,
329*287e80b3SSadaf Ebrahimi   unless that component itself accompanies the executable.
330*287e80b3SSadaf Ebrahimi
331*287e80b3SSadaf Ebrahimi   It may happen that this requirement contradicts the license restrictions
332*287e80b3SSadaf Ebrahimi   of other proprietary libraries that do not normally accompany the
333*287e80b3SSadaf Ebrahimi   operating system. Such a contradiction means you cannot use both them
334*287e80b3SSadaf Ebrahimi   and the Library together in an executable that you distribute.
335*287e80b3SSadaf Ebrahimi
336*287e80b3SSadaf Ebrahimi7. You may place library facilities that are a work based on the Library
337*287e80b3SSadaf Ebrahimi   side-by-side in a single library together with other library facilities
338*287e80b3SSadaf Ebrahimi   not covered by this License, and distribute such a combined library,
339*287e80b3SSadaf Ebrahimi   provided that the separate distribution of the work based on the Library
340*287e80b3SSadaf Ebrahimi   and of the other library facilities is otherwise permitted, and provided
341*287e80b3SSadaf Ebrahimi   that you do these two things:
342*287e80b3SSadaf Ebrahimi
343*287e80b3SSadaf Ebrahimi   a) Accompany the combined library with a copy of the same work based on
344*287e80b3SSadaf Ebrahimi      the Library, uncombined with any other library facilities. This must
345*287e80b3SSadaf Ebrahimi      be distributed under the terms of the Sections above.
346*287e80b3SSadaf Ebrahimi
347*287e80b3SSadaf Ebrahimi   b) Give prominent notice with the combined library of the fact that part
348*287e80b3SSadaf Ebrahimi      of it is a work based on the Library, and explaining where to find
349*287e80b3SSadaf Ebrahimi      the accompanying uncombined form of the same work.
350*287e80b3SSadaf Ebrahimi
351*287e80b3SSadaf Ebrahimi8. You may not copy, modify, sublicense, link with, or distribute the
352*287e80b3SSadaf Ebrahimi   Library except as expressly provided under this License. Any attempt
353*287e80b3SSadaf Ebrahimi   otherwise to copy, modify, sublicense, link with, or distribute the
354*287e80b3SSadaf Ebrahimi   Library is void, and will automatically terminate your rights under this
355*287e80b3SSadaf Ebrahimi   License. However, parties who have received copies, or rights, from you
356*287e80b3SSadaf Ebrahimi   under this License will not have their licenses terminated so long as
357*287e80b3SSadaf Ebrahimi   such parties remain in full compliance.
358*287e80b3SSadaf Ebrahimi
359*287e80b3SSadaf Ebrahimi9. You are not required to accept this License, since you have not signed
360*287e80b3SSadaf Ebrahimi   it. However, nothing else grants you permission to modify or distribute
361*287e80b3SSadaf Ebrahimi   the Library or its derivative works. These actions are prohibited by law
362*287e80b3SSadaf Ebrahimi   if you do not accept this License. Therefore, by modifying or
363*287e80b3SSadaf Ebrahimi   distributing the Library (or any work based on the Library), you
364*287e80b3SSadaf Ebrahimi   indicate your acceptance of this License to do so, and all its terms and
365*287e80b3SSadaf Ebrahimi   conditions for copying, distributing or modifying the Library or works
366*287e80b3SSadaf Ebrahimi   based on it.
367*287e80b3SSadaf Ebrahimi
368*287e80b3SSadaf Ebrahimi10. Each time you redistribute the Library (or any work based on the
369*287e80b3SSadaf Ebrahimi    Library), the recipient automatically receives a license from the
370*287e80b3SSadaf Ebrahimi    original licensor to copy, distribute, link with or modify the Library
371*287e80b3SSadaf Ebrahimi    subject to these terms and conditions. You may not impose any further
372*287e80b3SSadaf Ebrahimi    restrictions on the recipients' exercise of the rights granted
373*287e80b3SSadaf Ebrahimi    herein. You are not responsible for enforcing compliance by third
374*287e80b3SSadaf Ebrahimi    parties with this License.
375*287e80b3SSadaf Ebrahimi
376*287e80b3SSadaf Ebrahimi11. If, as a consequence of a court judgment or allegation of patent
377*287e80b3SSadaf Ebrahimi    infringement or for any other reason (not limited to patent issues),
378*287e80b3SSadaf Ebrahimi    conditions are imposed on you (whether by court order, agreement or
379*287e80b3SSadaf Ebrahimi    otherwise) that contradict the conditions of this License, they do not
380*287e80b3SSadaf Ebrahimi    excuse you from the conditions of this License. If you cannot
381*287e80b3SSadaf Ebrahimi    distribute so as to satisfy simultaneously your obligations under this
382*287e80b3SSadaf Ebrahimi    License and any other pertinent obligations, then as a consequence you
383*287e80b3SSadaf Ebrahimi    may not distribute the Library at all. For example, if a patent license
384*287e80b3SSadaf Ebrahimi    would not permit royalty-free redistribution of the Library by all
385*287e80b3SSadaf Ebrahimi    those who receive copies directly or indirectly through you, then the
386*287e80b3SSadaf Ebrahimi    only way you could satisfy both it and this License would be to refrain
387*287e80b3SSadaf Ebrahimi    entirely from distribution of the Library.
388*287e80b3SSadaf Ebrahimi
389*287e80b3SSadaf Ebrahimi    If any portion of this section is held invalid or unenforceable under
390*287e80b3SSadaf Ebrahimi    any particular circumstance, the balance of the section is intended to
391*287e80b3SSadaf Ebrahimi    apply, and the section as a whole is intended to apply in other
392*287e80b3SSadaf Ebrahimi    circumstances.
393*287e80b3SSadaf Ebrahimi
394*287e80b3SSadaf Ebrahimi    It is not the purpose of this section to induce you to infringe any
395*287e80b3SSadaf Ebrahimi    patents or other property right claims or to contest validity of any
396*287e80b3SSadaf Ebrahimi    such claims; this section has the sole purpose of protecting the
397*287e80b3SSadaf Ebrahimi    integrity of the free software distribution system which is implemented
398*287e80b3SSadaf Ebrahimi    by public license practices. Many people have made generous
399*287e80b3SSadaf Ebrahimi    contributions to the wide range of software distributed through that
400*287e80b3SSadaf Ebrahimi    system in reliance on consistent application of that system; it is up
401*287e80b3SSadaf Ebrahimi    to the author/donor to decide if he or she is willing to distribute
402*287e80b3SSadaf Ebrahimi    software through any other system and a licensee cannot impose that
403*287e80b3SSadaf Ebrahimi    choice.
404*287e80b3SSadaf Ebrahimi
405*287e80b3SSadaf Ebrahimi    This section is intended to make thoroughly clear what is believed to
406*287e80b3SSadaf Ebrahimi    be a consequence of the rest of this License.
407*287e80b3SSadaf Ebrahimi
408*287e80b3SSadaf Ebrahimi12. If the distribution and/or use of the Library is restricted in certain
409*287e80b3SSadaf Ebrahimi    countries either by patents or by copyrighted interfaces, the original
410*287e80b3SSadaf Ebrahimi    copyright holder who places the Library under this License may add an
411*287e80b3SSadaf Ebrahimi    explicit geographical distribution limitation excluding those
412*287e80b3SSadaf Ebrahimi    countries, so that distribution is permitted only in or among countries
413*287e80b3SSadaf Ebrahimi    not thus excluded. In such case, this License incorporates the
414*287e80b3SSadaf Ebrahimi    limitation as if written in the body of this License.
415*287e80b3SSadaf Ebrahimi
416*287e80b3SSadaf Ebrahimi13. The Free Software Foundation may publish revised and/or new versions of
417*287e80b3SSadaf Ebrahimi    the Lesser General Public License from time to time. Such new versions
418*287e80b3SSadaf Ebrahimi    will be similar in spirit to the present version, but may differ in
419*287e80b3SSadaf Ebrahimi    detail to address new problems or concerns.
420*287e80b3SSadaf Ebrahimi
421*287e80b3SSadaf Ebrahimi    Each version is given a distinguishing version number. If the Library
422*287e80b3SSadaf Ebrahimi    specifies a version number of this License which applies to it and "any
423*287e80b3SSadaf Ebrahimi    later version", you have the option of following the terms and
424*287e80b3SSadaf Ebrahimi    conditions either of that version or of any later version published by
425*287e80b3SSadaf Ebrahimi    the Free Software Foundation. If the Library does not specify a license
426*287e80b3SSadaf Ebrahimi    version number, you may choose any version ever published by the Free
427*287e80b3SSadaf Ebrahimi    Software Foundation.
428*287e80b3SSadaf Ebrahimi
429*287e80b3SSadaf Ebrahimi14. If you wish to incorporate parts of the Library into other free
430*287e80b3SSadaf Ebrahimi    programs whose distribution conditions are incompatible with these,
431*287e80b3SSadaf Ebrahimi    write to the author to ask for permission. For software which is
432*287e80b3SSadaf Ebrahimi    copyrighted by the Free Software Foundation, write to the Free Software
433*287e80b3SSadaf Ebrahimi    Foundation; we sometimes make exceptions for this. Our decision will be
434*287e80b3SSadaf Ebrahimi    guided by the two goals of preserving the free status of all
435*287e80b3SSadaf Ebrahimi    derivatives of our free software and of promoting the sharing and reuse
436*287e80b3SSadaf Ebrahimi    of software generally.
437*287e80b3SSadaf Ebrahimi
438*287e80b3SSadaf EbrahimiNO WARRANTY
439*287e80b3SSadaf Ebrahimi
440*287e80b3SSadaf Ebrahimi15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
441*287e80b3SSadaf Ebrahimi    FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
442*287e80b3SSadaf Ebrahimi    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
443*287e80b3SSadaf Ebrahimi    PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
444*287e80b3SSadaf Ebrahimi    EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
445*287e80b3SSadaf Ebrahimi    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
446*287e80b3SSadaf Ebrahimi    ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH
447*287e80b3SSadaf Ebrahimi    YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
448*287e80b3SSadaf Ebrahimi    NECESSARY SERVICING, REPAIR OR CORRECTION.
449*287e80b3SSadaf Ebrahimi
450*287e80b3SSadaf Ebrahimi16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
451*287e80b3SSadaf Ebrahimi    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
452*287e80b3SSadaf Ebrahimi    REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
453*287e80b3SSadaf Ebrahimi    DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
454*287e80b3SSadaf Ebrahimi    DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY
455*287e80b3SSadaf Ebrahimi    (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
456*287e80b3SSadaf Ebrahimi    INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
457*287e80b3SSadaf Ebrahimi    THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR
458*287e80b3SSadaf Ebrahimi    OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
459*287e80b3SSadaf Ebrahimi
460*287e80b3SSadaf EbrahimiEND OF TERMS AND CONDITIONS
461*287e80b3SSadaf Ebrahimi
462*287e80b3SSadaf EbrahimiHow to Apply These Terms to Your New Libraries
463*287e80b3SSadaf Ebrahimi
464*287e80b3SSadaf EbrahimiIf you develop a new library, and you want it to be of the greatest
465*287e80b3SSadaf Ebrahimipossible use to the public, we recommend making it free software that
466*287e80b3SSadaf Ebrahimieveryone can redistribute and change. You can do so by permitting
467*287e80b3SSadaf Ebrahimiredistribution under these terms (or, alternatively, under the terms of the
468*287e80b3SSadaf Ebrahimiordinary General Public License).
469*287e80b3SSadaf Ebrahimi
470*287e80b3SSadaf EbrahimiTo apply these terms, attach the following notices to the library. It is
471*287e80b3SSadaf Ebrahimisafest to attach them to the start of each source file to most effectively
472*287e80b3SSadaf Ebrahimiconvey the exclusion of warranty; and each file should have at least the
473*287e80b3SSadaf Ebrahimi"copyright" line and a pointer to where the full notice is found.
474*287e80b3SSadaf Ebrahimi
475*287e80b3SSadaf Ebrahimione line to give the library's name and an idea of what it does.
476*287e80b3SSadaf EbrahimiCopyright (C) year name of author
477*287e80b3SSadaf Ebrahimi
478*287e80b3SSadaf EbrahimiThis library is free software; you can redistribute it and/or modify it
479*287e80b3SSadaf Ebrahimiunder the terms of the GNU Lesser General Public License as published by
480*287e80b3SSadaf Ebrahimithe Free Software Foundation; either version 2.1 of the License, or (at
481*287e80b3SSadaf Ebrahimiyour option) any later version.
482*287e80b3SSadaf Ebrahimi
483*287e80b3SSadaf EbrahimiThis library is distributed in the hope that it will be useful, but WITHOUT
484*287e80b3SSadaf EbrahimiANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
485*287e80b3SSadaf EbrahimiFITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
486*287e80b3SSadaf Ebrahimifor more details.
487*287e80b3SSadaf Ebrahimi
488*287e80b3SSadaf EbrahimiYou should have received a copy of the GNU Lesser General Public License
489*287e80b3SSadaf Ebrahimialong with this library; if not, write to the Free Software Foundation,
490*287e80b3SSadaf EbrahimiInc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add
491*287e80b3SSadaf Ebrahimiinformation on how to contact you by electronic and paper mail.
492*287e80b3SSadaf Ebrahimi
493*287e80b3SSadaf EbrahimiYou should also get your employer (if you work as a programmer) or your
494*287e80b3SSadaf Ebrahimischool, if any, to sign a "copyright disclaimer" for the library, if
495*287e80b3SSadaf Ebrahiminecessary. Here is a sample; alter the names:
496*287e80b3SSadaf Ebrahimi
497*287e80b3SSadaf EbrahimiYoyodyne, Inc., hereby disclaims all copyright interest in
498*287e80b3SSadaf Ebrahimithe library `Frob' (a library for tweaking knobs) written
499*287e80b3SSadaf Ebrahimiby James Random Hacker.
500*287e80b3SSadaf Ebrahimi
501*287e80b3SSadaf Ebrahimisignature of Ty Coon, 1 April 1990
502*287e80b3SSadaf EbrahimiTy Coon, President of Vice
503*287e80b3SSadaf EbrahimiThat's all there is to it!
504