15Software License Agreement GNU LESSER GENERAL PUBLIC LICENSEVersion 2.1, February 1999Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 0,Boston, MA 0111-107 USAEveryone is permitted to copy and distribute verbatim copies of this license document, butchanging it is not allowed.[This is the first released version of the Lesser GPL. It also counts as the successor of theGNU Library Public License, version , hence the version number .1.]PreambleThe licenses for most software are designed to take away your freedom to share andchange it. By contrast, the GNU General Public Licenses are intended to guarantee yourfreedom to share and change free software--to make sure the software is free for all itsusers.This license, the Lesser General Public License, applies to some specially designatedsoftware packages--typically libraries--of the Free Software Foundation and other authorswho decide to use it. You can use it too, but we suggest you first think carefully aboutwhether this license or the ordinary General Public License is the better strategy to use inany particular case, based on the explanations below.When we speak of free software, we are referring to freedom of use, not price. Our GeneralPublic Licenses are designed to make sure that you have the freedom to distribute copiesof free software (and charge for this service if you wish); that you receive source code orcan get it if you want it; that you can change the software and use pieces of it in new freeprograms; and that you are informed that you can do these things.To protect your rights, we need to make restrictions that forbid distributors to deny youthese rights or to ask you to surrender these rights. These restrictions translate to certainresponsibilities for you if you distribute copies of the library or if you modify it.For example, if you distribute copies of the library, whether gratis or for a fee, you must givethe recipients all the rights that we gave you. You must make sure that they, too, receive orcan get the source code. If you link other code with the library, you must provide completeobject files to the recipients, so that they can relink them with the library after makingchanges to the library and recompiling it. And you must show them these terms so theyknow their rights.We protect your rights with a two-step method: (1) we copyright the library, and () we offeryou this license, which gives you legal permission to copy, distribute and/or modify thelibrary.To protect each distributor, we want to make it very clear that there is no warranty for thefree library. Also, if the library is modified by someone else and passed on, the recipientsshould know that what they have is not the original version, so that the original author’sreputation will not be affected by problems that might be introduced by others.Finally, software patents pose a constant threat to the existence of any free program. Wewish to make sure that a company cannot effectively restrict the users of a free programby obtaining a restrictive license from a patent holder. Therefore, we insist that any patentlicense obtained for a version of the library must be consistent with the full freedom of usespecified in this license.Most GNU software, including some libraries, is covered by the ordinary GNU GeneralPublic License. This license, the GNU Lesser General Public License, applies to certaindesignated libraries, and is quite different from the ordinary General Public License. Weuse this license for certain libraries in order to permit linking those libraries into non-freeprograms.When a program is linked with a library, whether statically or using a shared library, thecombination of the two is legally speaking a combined work, a derivative of the originallibrary. The ordinary General Public License therefore permits such linking only if the entirecombination fits its criteria of freedom. The Lesser General Public License permits more laxcriteria for linking other code with the library.We call this license the “Lesser” General Public License because it does Less to protectthe user’s freedom than the ordinary General Public License. It also provides otherfree software developers Less of an advantage over competing non-free programs.These disadvantages are the reason we use the ordinary General Public License formany libraries. However, the Lesser license provides advantages in certain specialcircumstances.For example, on rare occasions, there may be a special need to encourage the widestpossible use of a certain library, so that it becomes a de-facto standard. To achieve this,non-free programs must be allowed to use the library. A more frequent case is that a freelibrary does the same job as widely used non-free libraries. In this case, there is little togain by limiting the free library to free software only, so we use the Lesser General PublicLicense.In other cases, permission to use a particular library in non-free programs enables a greaternumber of people to use a large body of free software. For example, permission to use theGNU C Library in non-free programs enables many more people to use the whole GNUoperating system, as well as its variant, the GNU/Linux operating system.Although the Lesser General Public License is Less protective of the users’ freedom, it doesensure that the user of a program that is linked with the Library has the freedom and thewherewithal to run that program using a modified version of the Library.The precise terms and conditions for copying, distribution and modification follow. Pay closeattention to the difference between a “work based on the library” and a “work that usesthe library”. The former contains code derived from the library, whereas the latter must becombined with the library in order to run.GNU LESSER GENERAL PUBLIC LICENSETERMS AND CONDITIONS FOR COPYING, DISTRIBUTION ANDMODIFICATION0. This License Agreement applies to any software library or other program which containsa notice placed by the copyright holder or other authorized party saying it may bedistributed under the terms of this Lesser General Public License (also called “thisLicense”). Each licensee is addressed as “you”.A “library” means a collection of software functions and/or data prepared so as to beconveniently linked with application programs (which use some of those functions and data)to form executables.The “Library”, below, refers to any such software library or work which has been distributedunder these terms. A “work based on the Library” means either the Library or any derivativework under copyright law: that is to say, a work containing the Library or a portion ofit, either verbatim or with modifications and/or translated straightforwardly into anotherlanguage. (Hereinafter, translation is included without limitation in the term “modification”.)“Source code” for a work means the preferred form of the work for making modifications toit. For a library, complete source code means all the source code for all modules it contains,plus any associated interface definition files, plus the scripts used to control compilation andinstallation of the library.Activities other than copying, distribution and modification are not covered by this License;they are outside its scope. The act of running a program using the Library is not restricted,and output from such a program is covered only if its contents constitute a work based onthe Library (independent of the use of the Library in a tool for writing it). Whether that is truedepends on what the Library does and what the program that uses the Library does.1. You may copy and distribute verbatim copies of the Library’s complete source code asyou receive it, in any medium, provided that you conspicuously and appropriately publishon each copy an appropriate copyright notice and disclaimer of warranty; keep intact allthe notices that refer to this License and to the absence of any warranty; and distribute acopy of this License along with the Library.You may charge a fee for the physical act of transferring a copy, and you may at your optionoffer warranty protection in exchange for a fee.. You may modify your copy or copies of the Library or any portion of it, thus forming awork based on the Library, and copy and distribute such modifications or work under theterms of Section 1 above, provided that you also meet all of these conditions:a) The modified work must itself be a software library.b) You must cause the files modified to carry prominent notices stating that you changed thefiles and the date of any change.c) You must cause the whole of the work to be licensed at no charge to all third partiesunder the terms of this License.d) If a facility in the modified Library refers to a function or a table of data to be supplied byan application program that uses the facility, other than as an argument passed when thefacility is invoked, then you must make a good faith effort to ensure that, in the event anapplication does not supply such function or table, the facility still operates, and performswhatever part of its purpose remains meaningful.(For example, a function in a library to compute square roots has a purpose that isentirely well-defined independent of the application. Therefore, Subsection d requiresthat any application-supplied function or table used by this function must be optional: if theapplication does not supply it, the square root function must still compute square roots.)These requirements apply to the modified work as a whole. If identifiable sections of thatwork are not derived from the Library, and can be reasonably considered independentand separate works in themselves, then this License, and its terms, do not apply to thosesections when you distribute them as separate works. But when you distribute the samesections as part of a whole which is a work based on the Library, the distribution of thewhole must be on the terms of this License, whose permissions for other licensees extendto the entire whole, and thus to each and every part regardless of who wrote it.Thus, it is not the intent of this section to claim rights or contest your rights to work writtenentirely by you; rather, the intent is to exercise the right to control the distribution ofderivative or collective works based on the Library.In addition, mere aggregation of another work not based on the Library with the Library (orwith a work based on the Library) on a volume of a storage or distribution medium does notbring the other work under the scope of this License.. You may opt to apply the terms of the ordinary GNU General Public License instead ofthis License to a given copy of the Library. To do this, you must alter all the notices thatrefer to this License, so that they refer to the ordinary GNU General Public License,version , instead of to this License. (If a newer version than version of the ordinaryGNU General Public License has appeared, then you can specify that version instead ifyou wish.) Do not make any other change in these notices.Once this change is made in a given copy, it is irreversible for that copy, so the ordinaryGNU General Public License applies to all subsequent copies and derivative works madefrom that copy.This option is useful when you wish to copy part of the code of the Library into a programthat is not a library.4. You may copy and distribute the Library (or a portion or derivative of it, under Section )in object code or executable form under the terms of Sections 1 and above providedthat you accompany it with the complete corresponding machine-readable source code,which must be distributed under the terms of Sections 1 and above on a mediumcustomarily used for software interchange.If distribution of object code is made by offering access to copy from a designated place,then offering equivalent access to copy the source code from the same place satisfies therequirement to distribute the source code, even though third parties are not compelled tocopy the source along with the object code.Software License Agreement (continued)