1 2 GNU LIBRARY GENERAL PUBLIC LICENSE 3 ================================== 4 Version 2, June 1991 5 6 Copyright (C) 1991 Free Software Foundation, Inc. 7 675 Mass Ave, Cambridge, MA 02139, USA 8 Everyone is permitted to copy and distribute verbatim copies 9 of this license document, but changing it is not allowed. 10 11[This is the first released version of the library GPL. It is 12 numbered 2 because it goes with version 2 of the ordinary GPL.] 13 14 Preamble 15 16The licenses for most software are designed to take away your 17freedom to share and change it. By contrast, the GNU General 18Public Licenses are intended to guarantee your freedom to share 19and change free software--to make sure the software is free for 20all its users. 21 22This license, the Library General Public License, applies to 23some specially designated Free Software Foundation software, and 24to any other libraries whose authors decide to use it. You can 25use it for your libraries, too. 26 27When we speak of free software, we are referring to freedom, not 28price. Our General Public Licenses are designed to make sure 29that you have the freedom to distribute copies of free software 30(and charge for this service if you wish), that you receive 31source code or can get it if you want it, that you can change 32the software or use pieces of it in new free programs; and that 33you know you can do these things. 34 35To protect your rights, we need to make restrictions that forbid 36anyone to deny you these rights or to ask you to surrender the 37rights. These restrictions translate to certain responsibilities 38for you if you distribute copies of the library, or if you 39modify it. 40 41For example, if you distribute copies of the library, whether 42gratis or for a fee, you must give the recipients all the rights 43that we gave you. You must make sure that they, too, receive or 44can get the source code. If you link a program with the 45library, you must provide complete object files to the 46recipients so that they can relink them with the library, after 47making changes to the library and recompiling it. And you must 48show them these terms so they know their rights. 49 50Our method of protecting your rights has two steps: (1) 51copyright the library, and (2) offer you this license which 52gives you legal permission to copy, distribute and/or modify the 53library. 54 55Also, for each distributor's protection, we want to make certain 56that everyone understands that there is no warranty for this 57free library. If the library is modified by someone else and 58passed on, we want its recipients to know that what they have is 59not the original version, so that any problems introduced by 60others will not reflect on the original authors' reputations. 61 62Finally, any free program is threatened constantly by software 63patents. We wish to avoid the danger that companies 64distributing free software will individually obtain patent 65licenses, thus in effect transforming the program into 66proprietary software. To prevent this, we have made it clear 67that any patent must be licensed for everyone's free use or not 68licensed at all. 69 70Most GNU software, including some libraries, is covered by the 71ordinary GNU General Public License, which was designed for 72utility programs. This license, the GNU Library General Public 73License, applies to certain designated libraries. This license 74is quite different from the ordinary one; be sure to read it in 75full, and don't assume that anything in it is the same as in the 76ordinary license. 77 78The reason we have a separate public license for some libraries 79is that they blur the distinction we usually make between 80modifying or adding to a program and simply using it. Linking a 81program with a library, without changing the library, is in some 82sense simply using the library, and is analogous to running a 83utility program or application program. However, in a textual 84and legal sense, the linked executable is a combined work, a 85derivative of the original library, and the ordinary General 86Public License treats it as such. 87 88Because of this blurred distinction, using the ordinary General 89Public License for libraries did not effectively promote 90software sharing, because most developers did not use the 91libraries. We concluded that weaker conditions might promote 92sharing better. 93 94However, unrestricted linking of non-free programs would deprive 95the users of those programs of all benefit from the free status 96of the libraries themselves. This Library General Public 97License is intended to permit developers of non-free programs to 98use free libraries, while preserving your freedom as a user of 99such programs to change the free libraries that are incorporated 100in them. (We have not seen how to achieve this as regards 101changes in header files, but we have achieved it as regards 102changes in the actual functions of the Library.) The hope is 103that this will lead to faster development of free libraries. 104 105The precise terms and conditions for copying, distribution and 106modification follow. Pay close attention to the difference 107between a "work based on the library" and a "work that uses the 108library". The former contains code derived from the library, 109while the latter only works together with the library. 110 111Note that it is possible for a library to be covered by the 112ordinary General Public License rather than by this special one. 113 114 GNU LIBRARY GENERAL PUBLIC LICENSE 115 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 116 1170. This License Agreement applies to any software library which 118contains a notice placed by the copyright holder or other 119authorized party saying it may be distributed under the terms of 120this Library General Public License (also called "this 121License"). Each licensee is addressed as "you". 122 123A "library" means a collection of software functions and/or data 124prepared so as to be conveniently linked with application 125programs (which use some of those functions and data) to form 126executables. 127 128The "Library", below, refers to any such software library or 129work which has been distributed under these terms. A "work 130based on the Library" means either the Library or any derivative 131work under copyright law: that is to say, a work containing the 132Library or a portion of it, either verbatim or with 133modifications and/or translated straightforwardly into another 134language. (Hereinafter, translation is included without 135limitation in the term "modification".) 136 137"Source code" for a work means the preferred form of the work 138for making modifications to it. For a library, complete source 139code means all the source code for all modules it contains, plus 140any associated interface definition files, plus the scripts used 141to control compilation and installation of the library. 142 143Activities other than copying, distribution and modification are 144not covered by this License; they are outside its scope. The 145act of running a program using the Library is not restricted, 146and output from such a program is covered only if its contents 147constitute a work based on the Library (independent of the use 148of the Library in a tool for writing it). Whether that is true 149depends on what the Library does and what the program that uses 150the Library does. 151 1521. You may copy and distribute verbatim copies of the Library's 153complete source code as you receive it, in any medium, provided 154that you conspicuously and appropriately publish on each copy an 155appropriate copyright notice and disclaimer of warranty; keep 156intact all the notices that refer to this License and to the 157absence of any warranty; and distribute a copy of this License 158along with the Library. 159 160You may charge a fee for the physical act of transferring a 161copy, and you may at your option offer warranty protection in 162exchange for a fee. 163 1642. You may modify your copy or copies of the Library or any 165portion of it, thus forming a work based on the Library, and 166copy and distribute such modifications or work under the terms 167of Section 1 above, provided that you also meet all of these 168conditions: 169 170 a) The modified work must itself be a software library. 171 172 b) You must cause the files modified to carry prominent notices 173 stating that you changed the files and the date of any change. 174 175 c) You must cause the whole of the work to be licensed at no 176 charge to all third parties under the terms of this License. 177 178 d) If a facility in the modified Library refers to a function or a 179 table of data to be supplied by an application program that uses 180 the facility, other than as an argument passed when the facility 181 is invoked, then you must make a good faith effort to ensure that, 182 in the event an application does not supply such function or 183 table, the facility still operates, and performs whatever part of 184 its purpose remains meaningful. 185 186 (For example, a function in a library to compute square roots has 187 a purpose that is entirely well-defined independent of the 188 application. Therefore, Subsection 2d requires that any 189 application-supplied function or table used by this function must 190 be optional: if the application does not supply it, the square 191 root function must still compute square roots.) 192 193These requirements apply to the modified work as a whole. If 194identifiable sections of that work are not derived from the 195Library, and can be reasonably considered independent and 196separate works in themselves, then this License, and its terms, 197do not apply to those sections when you distribute them as 198separate works. But when you distribute the same sections as 199part of a whole which is a work based on the Library, the 200distribution of the whole must be on the terms of this License, 201whose permissions for other licensees extend to the entire 202whole, and thus to each and every part regardless of who wrote 203it. 204 205Thus, it is not the intent of this section to claim rights or 206contest your rights to work written entirely by you; rather, the 207intent is to exercise the right to control the distribution of 208derivative or collective works based on the Library. 209 210In addition, mere aggregation of another work not based on the 211Library with the Library (or with a work based on the Library) 212on a volume of a storage or distribution medium does not bring 213the other work under the scope of this License. 214 2153. You may opt to apply the terms of the ordinary GNU General 216Public License instead of this License to a given copy of the 217Library. To do this, you must alter all the notices that refer 218to this License, so that they refer to the ordinary GNU General 219Public License, version 2, instead of to this License. (If a 220newer version than version 2 of the ordinary GNU General Public 221License has appeared, then you can specify that version instead 222if you wish.) Do not make any other change in these notices. 223 224Once this change is made in a given copy, it is irreversible for 225that copy, so the ordinary GNU General Public License applies to 226all subsequent copies and derivative works made from that copy. 227 228This option is useful when you wish to copy part of the code of 229the Library into a program that is not a library. 230 2314. You may copy and distribute the Library (or a portion or 232derivative of it, under Section 2) in object code or executable 233form under the terms of Sections 1 and 2 above provided that you 234accompany it with the complete corresponding machine-readable 235source code, which must be distributed under the terms of 236Sections 1 and 2 above on a medium customarily used for software 237interchange. 238 239If distribution of object code is made by offering access to 240copy from a designated place, then offering equivalent access to 241copy the source code from the same place satisfies the 242requirement to distribute the source code, even though third 243parties are not compelled to copy the source along with the 244object code. 245 2465. A program that contains no derivative of any portion of the 247Library, but is designed to work with the Library by being 248compiled or linked with it, is called a "work that uses the 249Library". Such a work, in isolation, is not a derivative work 250of the Library, and therefore falls outside the scope of this 251License. 252 253However, linking a "work that uses the Library" with the Library 254creates an executable that is a derivative of the Library 255(because it contains portions of the Library), rather than a 256"work that uses the library". The executable is therefore 257covered by this License. Section 6 states terms for distribution 258of such executables. 259 260When a "work that uses the Library" uses material from a header 261file that is part of the Library, the object code for the work 262may be a derivative work of the Library even though the source 263code is not. Whether this is true is especially significant if 264the work can be linked without the Library, or if the work is 265itself a library. The threshold for this to be true is not 266precisely defined by law. 267 268If such an object file uses only numerical parameters, data 269structure layouts and accessors, and small macros and small 270inline functions (ten lines or less in length), then the use of 271the object file is unrestricted, regardless of whether it is 272legally a derivative work. (Executables containing this object 273code plus portions of the Library will still fall under Section 2746.) 275 276Otherwise, if the work is a derivative of the Library, you may 277distribute the object code for the work under the terms of 278Section 6. Any executables containing that work also fall under 279Section 6, whether or not they are linked directly with the 280Library itself. 281 2826. As an exception to the Sections above, you may also compile 283or link a "work that uses the Library" with the Library to 284produce a work containing portions of the Library, and 285distribute that work under terms of your choice, provided that 286the terms permit modification of the work for the customer's own 287use and reverse engineering for debugging such modifications. 288 289You must give prominent notice with each copy of the work that 290the Library is used in it and that the Library and its use are 291covered by this License. You must supply a copy of this 292License. If the work during execution displays copyright 293notices, you must include the copyright notice for the Library 294among them, as well as a reference directing the user to the 295copy of this License. Also, you must do one of these things: 296 297 a) Accompany the work with the complete corresponding 298 machine-readable source code for the Library including whatever 299 changes were used in the work (which must be distributed under 300 Sections 1 and 2 above); and, if the work is an executable linked 301 with the Library, with the complete machine-readable "work that 302 uses the Library", as object code and/or source code, so that the 303 user can modify the Library and then relink to produce a modified 304 executable containing the modified Library. (It is understood 305 that the user who changes the contents of definitions files in the 306 Library will not necessarily be able to recompile the application 307 to use the modified definitions.) 308 309 b) Accompany the work with a written offer, valid for at 310 least three years, to give the same user the materials 311 specified in Subsection 6a, above, for a charge no more 312 than the cost of performing this distribution. 313 314 c) If distribution of the work is made by offering access to copy 315 from a designated place, offer equivalent access to copy the above 316 specified materials from the same place. 317 318 d) Verify that the user has already received a copy of these 319 materials or that you have already sent this user a copy. 320 321For an executable, the required form of the "work that uses the 322Library" must include any data and utility programs needed for 323reproducing the executable from it. However, as a special 324exception, the source code distributed need not include anything 325that is normally distributed (in either source or binary form) 326with the major components (compiler, kernel, and so on) of the 327operating system on which the executable runs, unless that 328component itself accompanies the executable. 329 330It may happen that this requirement contradicts the license 331restrictions of other proprietary libraries that do not normally 332accompany the operating system. Such a contradiction means you 333cannot use both them and the Library together in an executable 334that you distribute. 335 3367. You may place library facilities that are a work based on the 337Library side-by-side in a single library together with other 338library facilities not covered by this License, and distribute 339such a combined library, provided that the separate distribution 340of the work based on the Library and of the other library 341facilities is otherwise permitted, and provided that you do 342these two things: 343 344 a) Accompany the combined library with a copy of the same work 345 based on the Library, uncombined with any other library 346 facilities. This must be distributed under the terms of the 347 Sections above. 348 349 b) Give prominent notice with the combined library of the fact 350 that part of it is a work based on the Library, and explaining 351 where to find the accompanying uncombined form of the same work. 352 3538. You may not copy, modify, sublicense, link with, or 354distribute the Library except as expressly provided under this 355License. Any attempt otherwise to copy, modify, sublicense, 356link with, or distribute the Library is void, and will 357automatically terminate your rights under this License. 358However, parties who have received copies, or rights, from you 359under this License will not have their licenses terminated so 360long as such parties remain in full compliance. 361 3629. You are not required to accept this License, since you have 363not signed it. However, nothing else grants you permission to 364modify or distribute the Library or its derivative works. These 365actions are prohibited by law if you do not accept this 366License. Therefore, by modifying or distributing the Library 367(or any work based on the Library), you indicate your acceptance 368of this License to do so, and all its terms and conditions for 369copying, distributing or modifying the Library or works based on 370it. 371 37210. Each time you redistribute the Library (or any work based on 373the Library), the recipient automatically receives a license 374from the original licensor to copy, distribute, link with or 375modify the Library subject to these terms and conditions. You 376may not impose any further restrictions on the recipients' 377exercise of the rights granted herein. You are not responsible 378for enforcing compliance by third parties to this License. 379 38011. If, as a consequence of a court judgment or allegation of 381patent infringement or for any other reason (not limited to 382patent issues), conditions are imposed on you (whether by court 383order, agreement or otherwise) that contradict the conditions of 384this License, they do not excuse you from the conditions of this 385License. If you cannot distribute so as to satisfy 386simultaneously your obligations under this License and any other 387pertinent obligations, then as a consequence you may not 388distribute the Library at all. For example, if a patent license 389would not permit royalty-free redistribution of the Library by 390all those who receive copies directly or indirectly through you, 391then the only way you could satisfy both it and this License 392would be to refrain entirely from distribution of the Library. 393 394If any portion of this section is held invalid or unenforceable 395under any particular circumstance, the balance of the section is 396intended to apply, and the section as a whole is intended to 397apply in other circumstances. 398 399It is not the purpose of this section to induce you to infringe 400any patents or other property right claims or to contest 401validity of any such claims; this section has the sole purpose 402of protecting the integrity of the free software distribution 403system which is implemented by public license practices. Many 404people have made generous contributions to the wide range of 405software distributed through that system in reliance on 406consistent application of that system; it is up to the 407author/donor to decide if he or she is willing to distribute 408software through any other system and a licensee cannot impose 409that choice. 410 411This section is intended to make thoroughly clear what is 412believed to be a consequence of the rest of this License. 413 41412. If the distribution and/or use of the Library is restricted 415in certain countries either by patents or by copyrighted 416interfaces, the original copyright holder who places the Library 417under this License may add an explicit geographical distribution 418limitation excluding those countries, so that distribution is 419permitted only in or among countries not thus excluded. In such 420case, this License incorporates the limitation as if written in 421the body of this License. 422 42313. The Free Software Foundation may publish revised and/or new 424versions of the Library General Public License from time to 425time. Such new versions will be similar in spirit to the present 426version, but may differ in detail to address new problems or 427concerns. 428 429Each version is given a distinguishing version number. If the 430Library specifies a version number of this License which applies 431to it and "any later version", you have the option of following 432the terms and conditions either of that version or of any later 433version published by the Free Software Foundation. If the 434Library does not specify a license version number, you may 435choose any version ever published by the Free Software 436Foundation. 437 43814. If you wish to incorporate parts of the Library into other 439free programs whose distribution conditions are incompatible 440with these, write to the author to ask for permission. For 441software which is copyrighted by the Free Software Foundation, 442write to the Free Software Foundation; we sometimes make 443exceptions for this. Our decision will be guided by the two 444goals of preserving the free status of all derivatives of our 445free software and of promoting the sharing and reuse of software 446generally. 447 448 NO WARRANTY 449 450 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 451WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 452EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 453OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, 454EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE 455IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 456PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 457LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 458THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 459 460 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 461WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY 462AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU 463FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL 464DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE 465LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 466RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 467FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF 468SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 469 470 END OF TERMS AND CONDITIONS 471 472 Appendix: How to Apply These Terms to Your New Libraries 473 474If you develop a new library, and you want it to be of the 475greatest possible use to the public, we recommend making it free 476software that everyone can redistribute and change. You can do 477so by permitting redistribution under these terms (or, 478alternatively, under the terms of the ordinary General Public 479License). 480 481To apply these terms, attach the following notices to the 482library. It is safest to attach them to the start of each 483source file to most effectively convey the exclusion of 484warranty; and each file should have at least the "copyright" 485line and a pointer to where the full notice is found. 486 487 <one line to give the library's name and a brief idea of what it does.> 488 Copyright (C) <year> <name of author> 489 490 This library is free software; you can redistribute it and/or 491 modify it under the terms of the GNU Library General Public 492 License as published by the Free Software Foundation; either 493 version 2 of the License, or (at your option) any later version. 494 495 This library is distributed in the hope that it will be useful, 496 but WITHOUT ANY WARRANTY; without even the implied warranty of 497 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 498 Library General Public License for more details. 499 500 You should have received a copy of the GNU Library General Public 501 License along with this library; if not, write to the Free 502 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 503 504Also add information on how to contact you by electronic and paper mail. 505 506You should also get your employer (if you work as a programmer) or your 507school, if any, to sign a "copyright disclaimer" for the library, if 508necessary. Here is a sample; alter the names: 509 510 Yoyodyne, Inc., hereby disclaims all copyright interest in the 511 library `Frob' (a library for tweaking knobs) written by James Random Hacker. 512 513 <signature of Ty Coon>, 1 April 1990 514 Ty Coon, President of Vice 515 516That's all there is to it! 517 518