1 CUPS License Agreement 2 3 Copyright 2007-2016 by Apple Inc. 4 1 Infinite Loop 5 Cupertino, CA 95014 USA 6 7 WWW: http://www.cups.org/ 8 9 10INTRODUCTION 11 12CUPS(tm) is provided under the GNU General Public License ("GPL") 13and GNU Library General Public License ("LGPL"), Version 2, with an 14exception for Apple operating systems. A copy of the exception and 15licenses follow this introduction. 16 17The GNU LGPL applies to the CUPS and CUPS Imaging libraries 18located in the "cups" and "filter" subdirectories of the CUPS 19source distribution and the files in the "test" subdirectory. The 20GNU GPL applies to the remainder of the CUPS distribution. 21 22For those not familiar with the GNU GPL, the license basically 23allows you to: 24 25 - Use the CUPS software at no charge. 26 - Distribute verbatim copies of the software in source or 27 binary form. 28 - Sell verbatim copies of the software for a media fee, or 29 sell support for the software. 30 31What this license *does not* allow you to do is make changes or 32add features to CUPS and then sell a binary distribution without 33source code. You must provide source for any changes or additions 34to the software, and all code must be provided under the GPL or 35LGPL as appropriate. The only exceptions to this are the portions 36of the CUPS software covered by the Apple operating system 37license exceptions outlined later in this license agreement. 38 39The GNU LGPL relaxes the "link-to" restriction, allowing you to 40develop applications that use the CUPS and CUPS Imaging libraries 41under other licenses and/or conditions as appropriate for your 42application, driver, or filter. 43 44 45LICENSE EXCEPTIONS 46 47In addition, as the copyright holder of CUPS, Apple Inc. grants 48the following special exception: 49 50 1. Apple Operating System Development License Exception; 51 52 a. Software that is developed by any person or entity 53 for an Apple Operating System ("Apple OS-Developed 54 Software"), including but not limited to Apple and 55 third party printer drivers, filters, and backends 56 for an Apple Operating System, that is linked to the 57 CUPS imaging library or based on any sample filters 58 or backends provided with CUPS shall not be 59 considered to be a derivative work or collective work 60 based on the CUPS program and is exempt from the 61 mandatory source code release clauses of the GNU GPL. 62 You may therefore distribute linked combinations of 63 the CUPS imaging library with Apple OS-Developed 64 Software without releasing the source code of the 65 Apple OS-Developed Software. You may also use sample 66 filters and backends provided with CUPS to develop 67 Apple OS-Developed Software without releasing the 68 source code of the Apple OS-Developed Software. 69 70 b. An Apple Operating System means any operating system 71 software developed and/or marketed by Apple Inc., 72 including but not limited to all existing releases and 73 versions of Apple's Darwin, iOS, macOS, macOS Server, and 74 tvOS products and all follow-on releases and future 75 versions thereof. 76 77 c. This exception is only available for Apple 78 OS-Developed Software and does not apply to software 79 that is distributed for use on other operating 80 systems. 81 82 d. All CUPS software that falls under this license 83 exception have the following text at the top of each 84 source file: 85 86 This file is subject to the Apple OS-Developed 87 Software exception. 88 89No developer is required to provide this exception in a derived 90work. 91 92 93KERBEROS SUPPORT CODE 94 95The Kerberos support code ("KSC") is copyright 2006 by Jelmer 96Vernooij and is provided 'as-is', without any express or implied 97warranty. In no event will the author or Apple Inc. be held 98liable for any damages arising from the use of the KSC. 99 100Sources files containing KSC have the following text at the top 101of each source file: 102 103 This file contains Kerberos support code, copyright 2006 by 104 Jelmer Vernooij. 105 106The KSC copyright and license apply only to Kerberos-related 107feature code in CUPS. Such code is typically conditionally 108compiled based on the present of the HAVE_GSSAPI preprocessor 109definition. 110 111Permission is granted to anyone to use the KSC for any purpose, 112including commercial applications, and to alter it and 113redistribute it freely, subject to the following restrictions: 114 115 1. The origin of the KSC must not be misrepresented; you 116 must not claim that you wrote the original software. If 117 you use the KSC in a product, an acknowledgment in the 118 product documentation would be appreciated but is not 119 required. 120 121 2. Altered source versions must be plainly marked as such, 122 and must not be misrepresented as being the original 123 software. 124 125 3. This notice may not be removed or altered from any source 126 distribution. 127 128 129TRADEMARKS 130 131CUPS and the CUPS logo (the "CUPS Marks") are trademarks of Apple 132Inc. Apple grants you a non-exclusive and non-transferable right 133to use the CUPS Marks in any direct port or binary distribution 134incorporating CUPS software and in any promotional material 135therefor. You agree that your products will meet the highest 136levels of quality and integrity for similar goods, not be unlawful, 137and be developed, manufactured, and distributed in compliance with 138this license. You will not interfere with Apple's rights in the 139CUPS Marks, and all use of the CUPS Marks shall inure to the 140benefit of Apple. This license does not apply to use of the CUPS 141Marks in a derivative products, which requires prior written 142permission from Apple Inc. 143 144 GNU GENERAL PUBLIC LICENSE 145 Version 2, June 1991 146 147 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 148 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 149 Everyone is permitted to copy and distribute verbatim copies 150 of this license document, but changing it is not allowed. 151 152 Preamble 153 154 The licenses for most software are designed to take away your 155freedom to share and change it. By contrast, the GNU General Public 156License is intended to guarantee your freedom to share and change free 157software--to make sure the software is free for all its users. This 158General Public License applies to most of the Free Software 159Foundation's software and to any other program whose authors commit to 160using it. (Some other Free Software Foundation software is covered by 161the GNU Library General Public License instead.) You can apply it to 162your programs, too. 163 164 When we speak of free software, we are referring to freedom, not 165price. Our General Public Licenses are designed to make sure that you 166have the freedom to distribute copies of free software (and charge for 167this service if you wish), that you receive source code or can get it 168if you want it, that you can change the software or use pieces of it 169in new free programs; and that you know you can do these things. 170 171 To protect your rights, we need to make restrictions that forbid 172anyone to deny you these rights or to ask you to surrender the rights. 173These restrictions translate to certain responsibilities for you if you 174distribute copies of the software, or if you modify it. 175 176 For example, if you distribute copies of such a program, whether 177gratis or for a fee, you must give the recipients all the rights that 178you have. You must make sure that they, too, receive or can get the 179source code. And you must show them these terms so they know their 180rights. 181 182 We protect your rights with two steps: (1) copyright the software, and 183(2) offer you this license which gives you legal permission to copy, 184distribute and/or modify the software. 185 186 Also, for each author's protection and ours, we want to make certain 187that everyone understands that there is no warranty for this free 188software. If the software is modified by someone else and passed on, we 189want its recipients to know that what they have is not the original, so 190that any problems introduced by others will not reflect on the original 191authors' reputations. 192 193 Finally, any free program is threatened constantly by software 194patents. We wish to avoid the danger that redistributors of a free 195program will individually obtain patent licenses, in effect making the 196program proprietary. To prevent this, we have made it clear that any 197patent must be licensed for everyone's free use or not licensed at all. 198 199 The precise terms and conditions for copying, distribution and 200modification follow. 201 202 GNU GENERAL PUBLIC LICENSE 203 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 204 205 0. This License applies to any program or other work which contains 206a notice placed by the copyright holder saying it may be distributed 207under the terms of this General Public License. The "Program", below, 208refers to any such program or work, and a "work based on the Program" 209means either the Program or any derivative work under copyright law: 210that is to say, a work containing the Program or a portion of it, 211either verbatim or with modifications and/or translated into another 212language. (Hereinafter, translation is included without limitation in 213the term "modification".) Each licensee is addressed as "you". 214 215Activities other than copying, distribution and modification are not 216covered by this License; they are outside its scope. The act of 217running the Program is not restricted, and the output from the Program 218is covered only if its contents constitute a work based on the 219Program (independent of having been made by running the Program). 220Whether that is true depends on what the Program does. 221 222 1. You may copy and distribute verbatim copies of the Program's 223source code as you receive it, in any medium, provided that you 224conspicuously and appropriately publish on each copy an appropriate 225copyright notice and disclaimer of warranty; keep intact all the 226notices that refer to this License and to the absence of any warranty; 227and give any other recipients of the Program a copy of this License 228along with the Program. 229 230You may charge a fee for the physical act of transferring a copy, and 231you may at your option offer warranty protection in exchange for a fee. 232 233 2. You may modify your copy or copies of the Program or any portion 234of it, thus forming a work based on the Program, and copy and 235distribute such modifications or work under the terms of Section 1 236above, provided that you also meet all of these conditions: 237 238 a) You must cause the modified files to carry prominent notices 239 stating that you changed the files and the date of any change. 240 241 b) You must cause any work that you distribute or publish, that in 242 whole or in part contains or is derived from the Program or any 243 part thereof, to be licensed as a whole at no charge to all third 244 parties under the terms of this License. 245 246 c) If the modified program normally reads commands interactively 247 when run, you must cause it, when started running for such 248 interactive use in the most ordinary way, to print or display an 249 announcement including an appropriate copyright notice and a 250 notice that there is no warranty (or else, saying that you provide 251 a warranty) and that users may redistribute the program under 252 these conditions, and telling the user how to view a copy of this 253 License. (Exception: if the Program itself is interactive but 254 does not normally print such an announcement, your work based on 255 the Program is not required to print an announcement.) 256 257These requirements apply to the modified work as a whole. If 258identifiable sections of that work are not derived from the Program, 259and can be reasonably considered independent and separate works in 260themselves, then this License, and its terms, do not apply to those 261sections when you distribute them as separate works. But when you 262distribute the same sections as part of a whole which is a work based 263on the Program, the distribution of the whole must be on the terms of 264this License, whose permissions for other licensees extend to the 265entire whole, and thus to each and every part regardless of who wrote it. 266 267Thus, it is not the intent of this section to claim rights or contest 268your rights to work written entirely by you; rather, the intent is to 269exercise the right to control the distribution of derivative or 270collective works based on the Program. 271 272In addition, mere aggregation of another work not based on the Program 273with the Program (or with a work based on the Program) on a volume of 274a storage or distribution medium does not bring the other work under 275the scope of this License. 276 277 3. You may copy and distribute the Program (or a work based on it, 278under Section 2) in object code or executable form under the terms of 279Sections 1 and 2 above provided that you also do one of the following: 280 281 a) Accompany it with the complete corresponding machine-readable 282 source code, which must be distributed under the terms of Sections 283 1 and 2 above on a medium customarily used for software interchange; or, 284 285 b) Accompany it with a written offer, valid for at least three 286 years, to give any third party, for a charge no more than your 287 cost of physically performing source distribution, a complete 288 machine-readable copy of the corresponding source code, to be 289 distributed under the terms of Sections 1 and 2 above on a medium 290 customarily used for software interchange; or, 291 292 c) Accompany it with the information you received as to the offer 293 to distribute corresponding source code. (This alternative is 294 allowed only for noncommercial distribution and only if you 295 received the program in object code or executable form with such 296 an offer, in accord with Subsection b above.) 297 298The source code for a work means the preferred form of the work for 299making modifications to it. For an executable work, complete source 300code means all the source code for all modules it contains, plus any 301associated interface definition files, plus the scripts used to 302control compilation and installation of the executable. However, as a 303special exception, the source code distributed need not include 304anything that is normally distributed (in either source or binary 305form) with the major components (compiler, kernel, and so on) of the 306operating system on which the executable runs, unless that component 307itself accompanies the executable. 308 309If distribution of executable or object code is made by offering 310access to copy from a designated place, then offering equivalent 311access to copy the source code from the same place counts as 312distribution of the source code, even though third parties are not 313compelled to copy the source along with the object code. 314 315 4. You may not copy, modify, sublicense, or distribute the Program 316except as expressly provided under this License. Any attempt 317otherwise to copy, modify, sublicense or distribute the Program is 318void, and will automatically terminate your rights under this License. 319However, parties who have received copies, or rights, from you under 320this License will not have their licenses terminated so long as such 321parties remain in full compliance. 322 323 5. You are not required to accept this License, since you have not 324signed it. However, nothing else grants you permission to modify or 325distribute the Program or its derivative works. These actions are 326prohibited by law if you do not accept this License. Therefore, by 327modifying or distributing the Program (or any work based on the 328Program), you indicate your acceptance of this License to do so, and 329all its terms and conditions for copying, distributing or modifying 330the Program or works based on it. 331 332 6. Each time you redistribute the Program (or any work based on the 333Program), the recipient automatically receives a license from the 334original licensor to copy, distribute or modify the Program subject to 335these terms and conditions. You may not impose any further 336restrictions on the recipients' exercise of the rights granted herein. 337You are not responsible for enforcing compliance by third parties to 338this License. 339 340 7. If, as a consequence of a court judgment or allegation of patent 341infringement or for any other reason (not limited to patent issues), 342conditions are imposed on you (whether by court order, agreement or 343otherwise) that contradict the conditions of this License, they do not 344excuse you from the conditions of this License. If you cannot 345distribute so as to satisfy simultaneously your obligations under this 346License and any other pertinent obligations, then as a consequence you 347may not distribute the Program at all. For example, if a patent 348license would not permit royalty-free redistribution of the Program by 349all those who receive copies directly or indirectly through you, then 350the only way you could satisfy both it and this License would be to 351refrain entirely from distribution of the Program. 352 353If any portion of this section is held invalid or unenforceable under 354any particular circumstance, the balance of the section is intended to 355apply and the section as a whole is intended to apply in other 356circumstances. 357 358It is not the purpose of this section to induce you to infringe any 359patents or other property right claims or to contest validity of any 360such claims; this section has the sole purpose of protecting the 361integrity of the free software distribution system, which is 362implemented by public license practices. Many people have made 363generous contributions to the wide range of software distributed 364through that system in reliance on consistent application of that 365system; it is up to the author/donor to decide if he or she is willing 366to distribute software through any other system and a licensee cannot 367impose that choice. 368 369This section is intended to make thoroughly clear what is believed to 370be a consequence of the rest of this License. 371 372 8. If the distribution and/or use of the Program is restricted in 373certain countries either by patents or by copyrighted interfaces, the 374original copyright holder who places the Program under this License 375may add an explicit geographical distribution limitation excluding 376those countries, so that distribution is permitted only in or among 377countries not thus excluded. In such case, this License incorporates 378the limitation as if written in the body of this License. 379 380 9. The Free Software Foundation may publish revised and/or new versions 381of the General Public License from time to time. Such new versions will 382be similar in spirit to the present version, but may differ in detail to 383address new problems or concerns. 384 385Each version is given a distinguishing version number. If the Program 386specifies a version number of this License which applies to it and "any 387later version", you have the option of following the terms and conditions 388either of that version or of any later version published by the Free 389Software Foundation. If the Program does not specify a version number of 390this License, you may choose any version ever published by the Free Software 391Foundation. 392 393 10. If you wish to incorporate parts of the Program into other free 394programs whose distribution conditions are different, write to the author 395to ask for permission. For software which is copyrighted by the Free 396Software Foundation, write to the Free Software Foundation; we sometimes 397make exceptions for this. Our decision will be guided by the two goals 398of preserving the free status of all derivatives of our free software and 399of promoting the sharing and reuse of software generally. 400 401 NO WARRANTY 402 403 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 404FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 405OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 406PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 407OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 408MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 409TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 410PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 411REPAIR OR CORRECTION. 412 413 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 414WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 415REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 416INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 417OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 418TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 419YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 420PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 421POSSIBILITY OF SUCH DAMAGES. 422 423 END OF TERMS AND CONDITIONS 424 425 Appendix: How to Apply These Terms to Your New Programs 426 427 If you develop a new program, and you want it to be of the greatest 428possible use to the public, the best way to achieve this is to make it 429free software which everyone can redistribute and change under these terms. 430 431 To do so, attach the following notices to the program. It is safest 432to attach them to the start of each source file to most effectively 433convey the exclusion of warranty; and each file should have at least 434the "copyright" line and a pointer to where the full notice is found. 435 436 <one line to give the program's name and a brief idea of what it does.> 437 Copyright (C) 19yy <name of author> 438 439 This program is free software; you can redistribute it and/or modify 440 it under the terms of the GNU General Public License as published by 441 the Free Software Foundation; either version 2 of the License, or 442 (at your option) any later version. 443 444 This program is distributed in the hope that it will be useful, 445 but WITHOUT ANY WARRANTY; without even the implied warranty of 446 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 447 GNU General Public License for more details. 448 449 You should have received a copy of the GNU General Public License 450 along with this program; if not, write to the Free Software 451 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 452 453Also add information on how to contact you by electronic and paper mail. 454 455If the program is interactive, make it output a short notice like this 456when it starts in an interactive mode: 457 458 Gnomovision version 69, Copyright (C) 19yy name of author 459 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 460 This is free software, and you are welcome to redistribute it 461 under certain conditions; type `show c' for details. 462 463The hypothetical commands `show w' and `show c' should show the appropriate 464parts of the General Public License. Of course, the commands you use may 465be called something other than `show w' and `show c'; they could even be 466mouse-clicks or menu items--whatever suits your program. 467 468You should also get your employer (if you work as a programmer) or your 469school, if any, to sign a "copyright disclaimer" for the program, if 470necessary. Here is a sample; alter the names: 471 472 Yoyodyne, Inc., hereby disclaims all copyright interest in the program 473 `Gnomovision' (which makes passes at compilers) written by James Hacker. 474 475 <signature of Ty Coon>, 1 April 1989 476 Ty Coon, President of Vice 477 478This General Public License does not permit incorporating your program into 479proprietary programs. If your program is a subroutine library, you may 480consider it more useful to permit linking proprietary applications with the 481library. If this is what you want to do, use the GNU Library General 482Public License instead of this License. 483 484 GNU LIBRARY GENERAL PUBLIC LICENSE 485 Version 2, June 1991 486 487 Copyright (C) 1991 Free Software Foundation, Inc. 488 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 489 490 Everyone is permitted to copy and distribute verbatim copies 491 of this license document, but changing it is not allowed. 492 493 [This is the first released version of the library GPL. It is 494 numbered 2 because it goes with version 2 of the ordinary GPL.] 495 496 Preamble 497 498 The licenses for most software are designed to take away your 499freedom to share and change it. By contrast, the GNU General Public 500Licenses are intended to guarantee your freedom to share and change 501free software--to make sure the software is free for all its users. 502 503 This license, the Library General Public License, applies to some 504specially designated Free Software Foundation software, and to any 505other libraries whose authors decide to use it. You can use it for 506your libraries, too. 507 508 When we speak of free software, we are referring to freedom, not 509price. Our General Public Licenses are designed to make sure that you 510have the freedom to distribute copies of free software (and charge for 511this service if you wish), that you receive source code or can get it 512if you want it, that you can change the software or use pieces of it 513in new free programs; and that you know you can do these things. 514 515 To protect your rights, we need to make restrictions that forbid 516anyone to deny you these rights or to ask you to surrender the rights. 517These restrictions translate to certain responsibilities for you if 518you distribute copies of the library, or if you modify it. 519 520 For example, if you distribute copies of the library, whether gratis 521or for a fee, you must give the recipients all the rights that we gave 522you. You must make sure that they, too, receive or can get the source 523code. If you link a program with the library, you must provide 524complete object files to the recipients so that they can relink them 525with the library, after making changes to the library and recompiling 526it. And you must show them these terms so they know their rights. 527 528 Our method of protecting your rights has two steps: (1) copyright 529the library, and (2) offer you this license which gives you legal 530permission to copy, distribute and/or modify the library. 531 532 Also, for each distributor's protection, we want to make certain 533that everyone understands that there is no warranty for this free 534library. If the library is modified by someone else and passed on, we 535want its recipients to know that what they have is not the original 536version, so that any problems introduced by others will not reflect on 537the original authors' reputations. 538 539 Finally, any free program is threatened constantly by software 540patents. We wish to avoid the danger that companies distributing free 541software will individually obtain patent licenses, thus in effect 542transforming the program into proprietary software. To prevent this, 543we have made it clear that any patent must be licensed for everyone's 544free use or not licensed at all. 545 546 Most GNU software, including some libraries, is covered by the ordinary 547GNU General Public License, which was designed for utility programs. This 548license, the GNU Library General Public License, applies to certain 549designated libraries. This license is quite different from the ordinary 550one; be sure to read it in full, and don't assume that anything in it is 551the same as in the ordinary license. 552 553 The reason we have a separate public license for some libraries is that 554they blur the distinction we usually make between modifying or adding to a 555program and simply using it. Linking a program with a library, without 556changing the library, is in some sense simply using the library, and is 557analogous to running a utility program or application program. However, in 558a textual and legal sense, the linked executable is a combined work, a 559derivative of the original library, and the ordinary General Public License 560treats it as such. 561 562 Because of this blurred distinction, using the ordinary General 563Public License for libraries did not effectively promote software 564sharing, because most developers did not use the libraries. We 565concluded that weaker conditions might promote sharing better. 566 567 However, unrestricted linking of non-free programs would deprive the 568users of those programs of all benefit from the free status of the 569libraries themselves. This Library General Public License is intended to 570permit developers of non-free programs to use free libraries, while 571preserving your freedom as a user of such programs to change the free 572libraries that are incorporated in them. (We have not seen how to achieve 573this as regards changes in header files, but we have achieved it as regards 574changes in the actual functions of the Library.) The hope is that this 575will lead to faster development of free libraries. 576 577 The precise terms and conditions for copying, distribution and 578modification follow. Pay close attention to the difference between a 579"work based on the library" and a "work that uses the library". The 580former contains code derived from the library, while the latter only 581works together with the library. 582 583 Note that it is possible for a library to be covered by the ordinary 584General Public License rather than by this special one. 585 586 GNU LIBRARY GENERAL PUBLIC LICENSE 587 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 588 589 0. This License Agreement applies to any software library which 590contains a notice placed by the copyright holder or other authorized 591party saying it may be distributed under the terms of this Library 592General Public License (also called "this License"). Each licensee is 593addressed as "you". 594 595 A "library" means a collection of software functions and/or data 596prepared so as to be conveniently linked with application programs 597(which use some of those functions and data) to form executables. 598 599 The "Library", below, refers to any such software library or work 600which has been distributed under these terms. A "work based on the 601Library" means either the Library or any derivative work under 602copyright law: that is to say, a work containing the Library or a 603portion of it, either verbatim or with modifications and/or translated 604straightforwardly into another language. (Hereinafter, translation is 605included without limitation in the term "modification".) 606 607 "Source code" for a work means the preferred form of the work for 608making modifications to it. For a library, complete source code means 609all the source code for all modules it contains, plus any associated 610interface definition files, plus the scripts used to control compilation 611and installation of the library. 612 613 Activities other than copying, distribution and modification are not 614covered by this License; they are outside its scope. The act of 615running a program using the Library is not restricted, and output from 616such a program is covered only if its contents constitute a work based 617on the Library (independent of the use of the Library in a tool for 618writing it). Whether that is true depends on what the Library does 619and what the program that uses the Library does. 620 621 1. You may copy and distribute verbatim copies of the Library's 622complete source code as you receive it, in any medium, provided that 623you conspicuously and appropriately publish on each copy an 624appropriate copyright notice and disclaimer of warranty; keep intact 625all the notices that refer to this License and to the absence of any 626warranty; and distribute a copy of this License along with the 627Library. 628 629 You may charge a fee for the physical act of transferring a copy, 630and you may at your option offer warranty protection in exchange for a 631fee. 632 633 2. You may modify your copy or copies of the Library or any portion 634of it, thus forming a work based on the Library, and copy and 635distribute such modifications or work under the terms of Section 1 636above, provided that you also meet all of these conditions: 637 638 a) The modified work must itself be a software library. 639 640 b) You must cause the files modified to carry prominent notices 641 stating that you changed the files and the date of any change. 642 643 c) You must cause the whole of the work to be licensed at no 644 charge to all third parties under the terms of this License. 645 646 d) If a facility in the modified Library refers to a function or a 647 table of data to be supplied by an application program that uses 648 the facility, other than as an argument passed when the facility 649 is invoked, then you must make a good faith effort to ensure that, 650 in the event an application does not supply such function or 651 table, the facility still operates, and performs whatever part of 652 its purpose remains meaningful. 653 654 (For example, a function in a library to compute square roots has 655 a purpose that is entirely well-defined independent of the 656 application. Therefore, Subsection 2d requires that any 657 application-supplied function or table used by this function must 658 be optional: if the application does not supply it, the square 659 root function must still compute square roots.) 660 661These requirements apply to the modified work as a whole. If 662identifiable sections of that work are not derived from the Library, 663and can be reasonably considered independent and separate works in 664themselves, then this License, and its terms, do not apply to those 665sections when you distribute them as separate works. But when you 666distribute the same sections as part of a whole which is a work based 667on the Library, the distribution of the whole must be on the terms of 668this License, whose permissions for other licensees extend to the 669entire whole, and thus to each and every part regardless of who wrote 670it. 671 672Thus, it is not the intent of this section to claim rights or contest 673your rights to work written entirely by you; rather, the intent is to 674exercise the right to control the distribution of derivative or 675collective works based on the Library. 676 677In addition, mere aggregation of another work not based on the Library 678with the Library (or with a work based on the Library) on a volume of 679a storage or distribution medium does not bring the other work under 680the scope of this License. 681 682 3. You may opt to apply the terms of the ordinary GNU General Public 683License instead of this License to a given copy of the Library. To do 684this, you must alter all the notices that refer to this License, so 685that they refer to the ordinary GNU General Public License, version 2, 686instead of to this License. (If a newer version than version 2 of the 687ordinary GNU General Public License has appeared, then you can specify 688that version instead if you wish.) Do not make any other change in 689these notices. 690 691 Once this change is made in a given copy, it is irreversible for 692that copy, so the ordinary GNU General Public License applies to all 693subsequent copies and derivative works made from that copy. 694 695 This option is useful when you wish to copy part of the code of 696the Library into a program that is not a library. 697 698 4. You may copy and distribute the Library (or a portion or 699derivative of it, under Section 2) in object code or executable form 700under the terms of Sections 1 and 2 above provided that you accompany 701it with the complete corresponding machine-readable source code, which 702must be distributed under the terms of Sections 1 and 2 above on a 703medium customarily used for software interchange. 704 705 If distribution of object code is made by offering access to copy 706from a designated place, then offering equivalent access to copy the 707source code from the same place satisfies the requirement to 708distribute the source code, even though third parties are not 709compelled to copy the source along with the object code. 710 711 5. A program that contains no derivative of any portion of the 712Library, but is designed to work with the Library by being compiled or 713linked with it, is called a "work that uses the Library". Such a 714work, in isolation, is not a derivative work of the Library, and 715therefore falls outside the scope of this License. 716 717 However, linking a "work that uses the Library" with the Library 718creates an executable that is a derivative of the Library (because it 719contains portions of the Library), rather than a "work that uses the 720library". The executable is therefore covered by this License. 721Section 6 states terms for distribution of such executables. 722 723 When a "work that uses the Library" uses material from a header file 724that is part of the Library, the object code for the work may be a 725derivative work of the Library even though the source code is not. 726Whether this is true is especially significant if the work can be 727linked without the Library, or if the work is itself a library. The 728threshold for this to be true is not precisely defined by law. 729 730 If such an object file uses only numerical parameters, data 731structure layouts and accessors, and small macros and small inline 732functions (ten lines or less in length), then the use of the object 733file is unrestricted, regardless of whether it is legally a derivative 734work. (Executables containing this object code plus portions of the 735Library will still fall under Section 6.) 736 737 Otherwise, if the work is a derivative of the Library, you may 738distribute the object code for the work under the terms of Section 6. 739Any executables containing that work also fall under Section 6, 740whether or not they are linked directly with the Library itself. 741 742 6. As an exception to the Sections above, you may also compile or 743link a "work that uses the Library" with the Library to produce a 744work containing portions of the Library, and distribute that work 745under terms of your choice, provided that the terms permit 746modification of the work for the customer's own use and reverse 747engineering for debugging such modifications. 748 749 You must give prominent notice with each copy of the work that the 750Library is used in it and that the Library and its use are covered by 751this License. You must supply a copy of this License. If the work 752during execution displays copyright notices, you must include the 753copyright notice for the Library among them, as well as a reference 754directing the user to the copy of this License. Also, you must do one 755of these things: 756 757 a) Accompany the work with the complete corresponding 758 machine-readable source code for the Library including whatever 759 changes were used in the work (which must be distributed under 760 Sections 1 and 2 above); and, if the work is an executable linked 761 with the Library, with the complete machine-readable "work that 762 uses the Library", as object code and/or source code, so that the 763 user can modify the Library and then relink to produce a modified 764 executable containing the modified Library. (It is understood 765 that the user who changes the contents of definitions files in the 766 Library will not necessarily be able to recompile the application 767 to use the modified definitions.) 768 769 b) Accompany the work with a written offer, valid for at 770 least three years, to give the same user the materials 771 specified in Subsection 6a, above, for a charge no more 772 than the cost of performing this distribution. 773 774 c) If distribution of the work is made by offering access to copy 775 from a designated place, offer equivalent access to copy the above 776 specified materials from the same place. 777 778 d) Verify that the user has already received a copy of these 779 materials or that you have already sent this user a copy. 780 781 For an executable, the required form of the "work that uses the 782Library" must include any data and utility programs needed for 783reproducing the executable from it. However, as a special exception, 784the source code distributed need not include anything that is normally 785distributed (in either source or binary form) with the major 786components (compiler, kernel, and so on) of the operating system on 787which the executable runs, unless that component itself accompanies 788the executable. 789 790 It may happen that this requirement contradicts the license 791restrictions of other proprietary libraries that do not normally 792accompany the operating system. Such a contradiction means you cannot 793use both them and the Library together in an executable that you 794distribute. 795 796 7. You may place library facilities that are a work based on the 797Library side-by-side in a single library together with other library 798facilities not covered by this License, and distribute such a combined 799library, provided that the separate distribution of the work based on 800the Library and of the other library facilities is otherwise 801permitted, and provided that you do these two things: 802 803 a) Accompany the combined library with a copy of the same work 804 based on the Library, uncombined with any other library 805 facilities. This must be distributed under the terms of the 806 Sections above. 807 808 b) Give prominent notice with the combined library of the fact 809 that part of it is a work based on the Library, and explaining 810 where to find the accompanying uncombined form of the same work. 811 812 8. You may not copy, modify, sublicense, link with, or distribute 813the Library except as expressly provided under this License. Any 814attempt otherwise to copy, modify, sublicense, link with, or 815distribute the Library is void, and will automatically terminate your 816rights under this License. However, parties who have received copies, 817or rights, from you under this License will not have their licenses 818terminated so long as such parties remain in full compliance. 819 820 9. You are not required to accept this License, since you have not 821signed it. However, nothing else grants you permission to modify or 822distribute the Library or its derivative works. These actions are 823prohibited by law if you do not accept this License. Therefore, by 824modifying or distributing the Library (or any work based on the 825Library), you indicate your acceptance of this License to do so, and 826all its terms and conditions for copying, distributing or modifying 827the Library or works based on it. 828 829 10. Each time you redistribute the Library (or any work based on the 830Library), the recipient automatically receives a license from the 831original licensor to copy, distribute, link with or modify the Library 832subject to these terms and conditions. You may not impose any further 833restrictions on the recipients' exercise of the rights granted herein. 834You are not responsible for enforcing compliance by third parties to 835this License. 836 837 11. If, as a consequence of a court judgment or allegation of patent 838infringement or for any other reason (not limited to patent issues), 839conditions are imposed on you (whether by court order, agreement or 840otherwise) that contradict the conditions of this License, they do not 841excuse you from the conditions of this License. If you cannot 842distribute so as to satisfy simultaneously your obligations under this 843License and any other pertinent obligations, then as a consequence you 844may not distribute the Library at all. For example, if a patent 845license would not permit royalty-free redistribution of the Library by 846all those who receive copies directly or indirectly through you, then 847the only way you could satisfy both it and this License would be to 848refrain entirely from distribution of the Library. 849 850If any portion of this section is held invalid or unenforceable under any 851particular circumstance, the balance of the section is intended to apply, 852and the section as a whole is intended to apply in other circumstances. 853 854It is not the purpose of this section to induce you to infringe any 855patents or other property right claims or to contest validity of any 856such claims; this section has the sole purpose of protecting the 857integrity of the free software distribution system which is 858implemented by public license practices. Many people have made 859generous contributions to the wide range of software distributed 860through that system in reliance on consistent application of that 861system; it is up to the author/donor to decide if he or she is willing 862to distribute software through any other system and a licensee cannot 863impose that choice. 864 865This section is intended to make thoroughly clear what is believed to 866be a consequence of the rest of this License. 867 868 12. If the distribution and/or use of the Library is restricted in 869certain countries either by patents or by copyrighted interfaces, the 870original copyright holder who places the Library under this License may add 871an explicit geographical distribution limitation excluding those countries, 872so that distribution is permitted only in or among countries not thus 873excluded. In such case, this License incorporates the limitation as if 874written in the body of this License. 875 876 13. The Free Software Foundation may publish revised and/or new 877versions of the Library General Public License from time to time. 878Such new versions will be similar in spirit to the present version, 879but may differ in detail to address new problems or concerns. 880 881Each version is given a distinguishing version number. If the Library 882specifies a version number of this License which applies to it and 883"any later version", you have the option of following the terms and 884conditions either of that version or of any later version published by 885the Free Software Foundation. If the Library does not specify a 886license version number, you may choose any version ever published by 887the Free Software Foundation. 888 889 14. If you wish to incorporate parts of the Library into other free 890programs whose distribution conditions are incompatible with these, 891write to the author to ask for permission. For software which is 892copyrighted by the Free Software Foundation, write to the Free 893Software Foundation; we sometimes make exceptions for this. Our 894decision will be guided by the two goals of preserving the free status 895of all derivatives of our free software and of promoting the sharing 896and reuse of software generally. 897 898 NO WARRANTY 899 900 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 901WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 902EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 903OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY 904KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE 905IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 906PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 907LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 908THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 909 910 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 911WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY 912AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU 913FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR 914CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE 915LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 916RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 917FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF 918SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 919DAMAGES. 920 921 END OF TERMS AND CONDITIONS 922 923 Appendix: How to Apply These Terms to Your New Libraries 924 925 If you develop a new library, and you want it to be of the greatest 926possible use to the public, we recommend making it free software that 927everyone can redistribute and change. You can do so by permitting 928redistribution under these terms (or, alternatively, under the terms of the 929ordinary General Public License). 930 931 To apply these terms, attach the following notices to the library. It is 932safest to attach them to the start of each source file to most effectively 933convey the exclusion of warranty; and each file should have at least the 934"copyright" line and a pointer to where the full notice is found. 935 936 <one line to give the library's name and a brief idea of what it does.> 937 Copyright (C) <year> <name of author> 938 939 This library is free software; you can redistribute it and/or 940 modify it under the terms of the GNU Library General Public 941 License as published by the Free Software Foundation; either 942 version 2 of the License, or (at your option) any later version. 943 944 This library is distributed in the hope that it will be useful, 945 but WITHOUT ANY WARRANTY; without even the implied warranty of 946 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 947 Library General Public License for more details. 948 949 You should have received a copy of the GNU Library General Public 950 License along with this library; if not, write to the Free 951 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 952 953Also add information on how to contact you by electronic and paper mail. 954 955You should also get your employer (if you work as a programmer) or your 956school, if any, to sign a "copyright disclaimer" for the library, if 957necessary. Here is a sample; alter the names: 958 959 Yoyodyne, Inc., hereby disclaims all copyright interest in the 960 library `Frob' (a library for tweaking knobs) written by James Random Hacker. 961 962 <signature of Ty Coon>, 1 April 1990 963 Ty Coon, President of Vice 964 965That's all there is to it! 966