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