1376ae610Snerun GNU GENERAL PUBLIC LICENSE 2376ae610Snerun Version 2, June 1991 3376ae610Snerun 4*37ab8232Snerun Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5*37ab8232Snerun <https://fsf.org/> 6376ae610Snerun Everyone is permitted to copy and distribute verbatim copies 7376ae610Snerun of this license document, but changing it is not allowed. 8376ae610Snerun 9376ae610Snerun Preamble 10376ae610Snerun 11376ae610Snerun The licenses for most software are designed to take away your 12376ae610Snerunfreedom to share and change it. By contrast, the GNU General Public 13376ae610SnerunLicense is intended to guarantee your freedom to share and change free 14376ae610Snerunsoftware--to make sure the software is free for all its users. This 15376ae610SnerunGeneral Public License applies to most of the Free Software 16376ae610SnerunFoundation's software and to any other program whose authors commit to 17376ae610Snerunusing it. (Some other Free Software Foundation software is covered by 18*37ab8232Snerunthe GNU Lesser General Public License instead.) You can apply it to 19376ae610Snerunyour programs, too. 20376ae610Snerun 21376ae610Snerun When we speak of free software, we are referring to freedom, not 22376ae610Snerunprice. Our General Public Licenses are designed to make sure that you 23376ae610Snerunhave the freedom to distribute copies of free software (and charge for 24376ae610Snerunthis service if you wish), that you receive source code or can get it 25376ae610Snerunif you want it, that you can change the software or use pieces of it 26376ae610Snerunin new free programs; and that you know you can do these things. 27376ae610Snerun 28376ae610Snerun To protect your rights, we need to make restrictions that forbid 29376ae610Snerunanyone to deny you these rights or to ask you to surrender the rights. 30376ae610SnerunThese restrictions translate to certain responsibilities for you if you 31376ae610Snerundistribute copies of the software, or if you modify it. 32376ae610Snerun 33376ae610Snerun For example, if you distribute copies of such a program, whether 34376ae610Snerungratis or for a fee, you must give the recipients all the rights that 35376ae610Snerunyou have. You must make sure that they, too, receive or can get the 36376ae610Snerunsource code. And you must show them these terms so they know their 37376ae610Snerunrights. 38376ae610Snerun 39376ae610Snerun We protect your rights with two steps: (1) copyright the software, and 40376ae610Snerun(2) offer you this license which gives you legal permission to copy, 41376ae610Snerundistribute and/or modify the software. 42376ae610Snerun 43376ae610Snerun Also, for each author's protection and ours, we want to make certain 44376ae610Snerunthat everyone understands that there is no warranty for this free 45376ae610Snerunsoftware. If the software is modified by someone else and passed on, we 46376ae610Snerunwant its recipients to know that what they have is not the original, so 47376ae610Snerunthat any problems introduced by others will not reflect on the original 48376ae610Snerunauthors' reputations. 49376ae610Snerun 50376ae610Snerun Finally, any free program is threatened constantly by software 51376ae610Snerunpatents. We wish to avoid the danger that redistributors of a free 52376ae610Snerunprogram will individually obtain patent licenses, in effect making the 53376ae610Snerunprogram proprietary. To prevent this, we have made it clear that any 54376ae610Snerunpatent must be licensed for everyone's free use or not licensed at all. 55376ae610Snerun 56376ae610Snerun The precise terms and conditions for copying, distribution and 57376ae610Snerunmodification follow. 58*37ab8232Snerun 59376ae610Snerun GNU GENERAL PUBLIC LICENSE 60376ae610Snerun TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61376ae610Snerun 62376ae610Snerun 0. This License applies to any program or other work which contains 63376ae610Sneruna notice placed by the copyright holder saying it may be distributed 64376ae610Snerununder the terms of this General Public License. The "Program", below, 65376ae610Snerunrefers to any such program or work, and a "work based on the Program" 66376ae610Snerunmeans either the Program or any derivative work under copyright law: 67376ae610Snerunthat is to say, a work containing the Program or a portion of it, 68376ae610Sneruneither verbatim or with modifications and/or translated into another 69376ae610Snerunlanguage. (Hereinafter, translation is included without limitation in 70376ae610Snerunthe term "modification".) Each licensee is addressed as "you". 71376ae610Snerun 72376ae610SnerunActivities other than copying, distribution and modification are not 73376ae610Sneruncovered by this License; they are outside its scope. The act of 74376ae610Snerunrunning the Program is not restricted, and the output from the Program 75376ae610Snerunis covered only if its contents constitute a work based on the 76376ae610SnerunProgram (independent of having been made by running the Program). 77376ae610SnerunWhether that is true depends on what the Program does. 78376ae610Snerun 79376ae610Snerun 1. You may copy and distribute verbatim copies of the Program's 80376ae610Snerunsource code as you receive it, in any medium, provided that you 81376ae610Snerunconspicuously and appropriately publish on each copy an appropriate 82376ae610Sneruncopyright notice and disclaimer of warranty; keep intact all the 83376ae610Snerunnotices that refer to this License and to the absence of any warranty; 84376ae610Snerunand give any other recipients of the Program a copy of this License 85376ae610Snerunalong with the Program. 86376ae610Snerun 87376ae610SnerunYou may charge a fee for the physical act of transferring a copy, and 88376ae610Snerunyou may at your option offer warranty protection in exchange for a fee. 89376ae610Snerun 90376ae610Snerun 2. You may modify your copy or copies of the Program or any portion 91376ae610Snerunof it, thus forming a work based on the Program, and copy and 92376ae610Snerundistribute such modifications or work under the terms of Section 1 93376ae610Snerunabove, provided that you also meet all of these conditions: 94376ae610Snerun 95376ae610Snerun a) You must cause the modified files to carry prominent notices 96376ae610Snerun stating that you changed the files and the date of any change. 97376ae610Snerun 98376ae610Snerun b) You must cause any work that you distribute or publish, that in 99376ae610Snerun whole or in part contains or is derived from the Program or any 100376ae610Snerun part thereof, to be licensed as a whole at no charge to all third 101376ae610Snerun parties under the terms of this License. 102376ae610Snerun 103376ae610Snerun c) If the modified program normally reads commands interactively 104376ae610Snerun when run, you must cause it, when started running for such 105376ae610Snerun interactive use in the most ordinary way, to print or display an 106376ae610Snerun announcement including an appropriate copyright notice and a 107376ae610Snerun notice that there is no warranty (or else, saying that you provide 108376ae610Snerun a warranty) and that users may redistribute the program under 109376ae610Snerun these conditions, and telling the user how to view a copy of this 110376ae610Snerun License. (Exception: if the Program itself is interactive but 111376ae610Snerun does not normally print such an announcement, your work based on 112376ae610Snerun the Program is not required to print an announcement.) 113*37ab8232Snerun 114376ae610SnerunThese requirements apply to the modified work as a whole. If 115376ae610Snerunidentifiable sections of that work are not derived from the Program, 116376ae610Snerunand can be reasonably considered independent and separate works in 117376ae610Snerunthemselves, then this License, and its terms, do not apply to those 118376ae610Snerunsections when you distribute them as separate works. But when you 119376ae610Snerundistribute the same sections as part of a whole which is a work based 120376ae610Snerunon the Program, the distribution of the whole must be on the terms of 121376ae610Snerunthis License, whose permissions for other licensees extend to the 122376ae610Snerunentire whole, and thus to each and every part regardless of who wrote it. 123376ae610Snerun 124376ae610SnerunThus, it is not the intent of this section to claim rights or contest 125376ae610Snerunyour rights to work written entirely by you; rather, the intent is to 126376ae610Snerunexercise the right to control the distribution of derivative or 127376ae610Sneruncollective works based on the Program. 128376ae610Snerun 129376ae610SnerunIn addition, mere aggregation of another work not based on the Program 130376ae610Snerunwith the Program (or with a work based on the Program) on a volume of 131376ae610Sneruna storage or distribution medium does not bring the other work under 132376ae610Snerunthe scope of this License. 133376ae610Snerun 134376ae610Snerun 3. You may copy and distribute the Program (or a work based on it, 135376ae610Snerununder Section 2) in object code or executable form under the terms of 136376ae610SnerunSections 1 and 2 above provided that you also do one of the following: 137376ae610Snerun 138376ae610Snerun a) Accompany it with the complete corresponding machine-readable 139376ae610Snerun source code, which must be distributed under the terms of Sections 140376ae610Snerun 1 and 2 above on a medium customarily used for software interchange; or, 141376ae610Snerun 142376ae610Snerun b) Accompany it with a written offer, valid for at least three 143376ae610Snerun years, to give any third party, for a charge no more than your 144376ae610Snerun cost of physically performing source distribution, a complete 145376ae610Snerun machine-readable copy of the corresponding source code, to be 146376ae610Snerun distributed under the terms of Sections 1 and 2 above on a medium 147376ae610Snerun customarily used for software interchange; or, 148376ae610Snerun 149376ae610Snerun c) Accompany it with the information you received as to the offer 150376ae610Snerun to distribute corresponding source code. (This alternative is 151376ae610Snerun allowed only for noncommercial distribution and only if you 152376ae610Snerun received the program in object code or executable form with such 153376ae610Snerun an offer, in accord with Subsection b above.) 154376ae610Snerun 155376ae610SnerunThe source code for a work means the preferred form of the work for 156376ae610Snerunmaking modifications to it. For an executable work, complete source 157376ae610Sneruncode means all the source code for all modules it contains, plus any 158376ae610Snerunassociated interface definition files, plus the scripts used to 159376ae610Sneruncontrol compilation and installation of the executable. However, as a 160376ae610Snerunspecial exception, the source code distributed need not include 161376ae610Snerunanything that is normally distributed (in either source or binary 162376ae610Snerunform) with the major components (compiler, kernel, and so on) of the 163376ae610Snerunoperating system on which the executable runs, unless that component 164376ae610Snerunitself accompanies the executable. 165376ae610Snerun 166376ae610SnerunIf distribution of executable or object code is made by offering 167376ae610Snerunaccess to copy from a designated place, then offering equivalent 168376ae610Snerunaccess to copy the source code from the same place counts as 169376ae610Snerundistribution of the source code, even though third parties are not 170376ae610Sneruncompelled to copy the source along with the object code. 171*37ab8232Snerun 172376ae610Snerun 4. You may not copy, modify, sublicense, or distribute the Program 173376ae610Snerunexcept as expressly provided under this License. Any attempt 174376ae610Snerunotherwise to copy, modify, sublicense or distribute the Program is 175376ae610Snerunvoid, and will automatically terminate your rights under this License. 176376ae610SnerunHowever, parties who have received copies, or rights, from you under 177376ae610Snerunthis License will not have their licenses terminated so long as such 178376ae610Snerunparties remain in full compliance. 179376ae610Snerun 180376ae610Snerun 5. You are not required to accept this License, since you have not 181376ae610Snerunsigned it. However, nothing else grants you permission to modify or 182376ae610Snerundistribute the Program or its derivative works. These actions are 183376ae610Snerunprohibited by law if you do not accept this License. Therefore, by 184376ae610Snerunmodifying or distributing the Program (or any work based on the 185376ae610SnerunProgram), you indicate your acceptance of this License to do so, and 186376ae610Snerunall its terms and conditions for copying, distributing or modifying 187376ae610Snerunthe Program or works based on it. 188376ae610Snerun 189376ae610Snerun 6. Each time you redistribute the Program (or any work based on the 190376ae610SnerunProgram), the recipient automatically receives a license from the 191376ae610Snerunoriginal licensor to copy, distribute or modify the Program subject to 192376ae610Snerunthese terms and conditions. You may not impose any further 193376ae610Snerunrestrictions on the recipients' exercise of the rights granted herein. 194376ae610SnerunYou are not responsible for enforcing compliance by third parties to 195376ae610Snerunthis License. 196376ae610Snerun 197376ae610Snerun 7. If, as a consequence of a court judgment or allegation of patent 198376ae610Sneruninfringement or for any other reason (not limited to patent issues), 199376ae610Snerunconditions are imposed on you (whether by court order, agreement or 200376ae610Snerunotherwise) that contradict the conditions of this License, they do not 201376ae610Snerunexcuse you from the conditions of this License. If you cannot 202376ae610Snerundistribute so as to satisfy simultaneously your obligations under this 203376ae610SnerunLicense and any other pertinent obligations, then as a consequence you 204376ae610Snerunmay not distribute the Program at all. For example, if a patent 205376ae610Snerunlicense would not permit royalty-free redistribution of the Program by 206376ae610Snerunall those who receive copies directly or indirectly through you, then 207376ae610Snerunthe only way you could satisfy both it and this License would be to 208376ae610Snerunrefrain entirely from distribution of the Program. 209376ae610Snerun 210376ae610SnerunIf any portion of this section is held invalid or unenforceable under 211376ae610Snerunany particular circumstance, the balance of the section is intended to 212376ae610Snerunapply and the section as a whole is intended to apply in other 213376ae610Sneruncircumstances. 214376ae610Snerun 215376ae610SnerunIt is not the purpose of this section to induce you to infringe any 216376ae610Snerunpatents or other property right claims or to contest validity of any 217376ae610Snerunsuch claims; this section has the sole purpose of protecting the 218376ae610Snerunintegrity of the free software distribution system, which is 219376ae610Snerunimplemented by public license practices. Many people have made 220376ae610Snerungenerous contributions to the wide range of software distributed 221376ae610Snerunthrough that system in reliance on consistent application of that 222376ae610Snerunsystem; it is up to the author/donor to decide if he or she is willing 223376ae610Snerunto distribute software through any other system and a licensee cannot 224376ae610Snerunimpose that choice. 225376ae610Snerun 226376ae610SnerunThis section is intended to make thoroughly clear what is believed to 227376ae610Snerunbe a consequence of the rest of this License. 228*37ab8232Snerun 229376ae610Snerun 8. If the distribution and/or use of the Program is restricted in 230376ae610Sneruncertain countries either by patents or by copyrighted interfaces, the 231376ae610Snerunoriginal copyright holder who places the Program under this License 232376ae610Snerunmay add an explicit geographical distribution limitation excluding 233376ae610Snerunthose countries, so that distribution is permitted only in or among 234376ae610Sneruncountries not thus excluded. In such case, this License incorporates 235376ae610Snerunthe limitation as if written in the body of this License. 236376ae610Snerun 237376ae610Snerun 9. The Free Software Foundation may publish revised and/or new versions 238376ae610Snerunof the General Public License from time to time. Such new versions will 239376ae610Snerunbe similar in spirit to the present version, but may differ in detail to 240376ae610Snerunaddress new problems or concerns. 241376ae610Snerun 242376ae610SnerunEach version is given a distinguishing version number. If the Program 243376ae610Snerunspecifies a version number of this License which applies to it and "any 244376ae610Snerunlater version", you have the option of following the terms and conditions 245376ae610Sneruneither of that version or of any later version published by the Free 246376ae610SnerunSoftware Foundation. If the Program does not specify a version number of 247376ae610Snerunthis License, you may choose any version ever published by the Free Software 248376ae610SnerunFoundation. 249376ae610Snerun 250376ae610Snerun 10. If you wish to incorporate parts of the Program into other free 251376ae610Snerunprograms whose distribution conditions are different, write to the author 252376ae610Snerunto ask for permission. For software which is copyrighted by the Free 253376ae610SnerunSoftware Foundation, write to the Free Software Foundation; we sometimes 254376ae610Snerunmake exceptions for this. Our decision will be guided by the two goals 255376ae610Snerunof preserving the free status of all derivatives of our free software and 256376ae610Snerunof promoting the sharing and reuse of software generally. 257376ae610Snerun 258376ae610Snerun NO WARRANTY 259376ae610Snerun 260376ae610Snerun 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261376ae610SnerunFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262376ae610SnerunOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263376ae610SnerunPROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264376ae610SnerunOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265376ae610SnerunMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266376ae610SnerunTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267376ae610SnerunPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268376ae610SnerunREPAIR OR CORRECTION. 269376ae610Snerun 270376ae610Snerun 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271376ae610SnerunWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272376ae610SnerunREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273376ae610SnerunINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274376ae610SnerunOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275376ae610SnerunTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276376ae610SnerunYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277376ae610SnerunPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278376ae610SnerunPOSSIBILITY OF SUCH DAMAGES. 279376ae610Snerun 280376ae610Snerun END OF TERMS AND CONDITIONS 281*37ab8232Snerun 282376ae610Snerun How to Apply These Terms to Your New Programs 283376ae610Snerun 284376ae610Snerun If you develop a new program, and you want it to be of the greatest 285376ae610Snerunpossible use to the public, the best way to achieve this is to make it 286376ae610Snerunfree software which everyone can redistribute and change under these terms. 287376ae610Snerun 288376ae610Snerun To do so, attach the following notices to the program. It is safest 289376ae610Snerunto attach them to the start of each source file to most effectively 290376ae610Snerunconvey the exclusion of warranty; and each file should have at least 291376ae610Snerunthe "copyright" line and a pointer to where the full notice is found. 292376ae610Snerun 293376ae610Snerun <one line to give the program's name and a brief idea of what it does.> 294376ae610Snerun Copyright (C) <year> <name of author> 295376ae610Snerun 296376ae610Snerun This program is free software; you can redistribute it and/or modify 297376ae610Snerun it under the terms of the GNU General Public License as published by 298376ae610Snerun the Free Software Foundation; either version 2 of the License, or 299376ae610Snerun (at your option) any later version. 300376ae610Snerun 301376ae610Snerun This program is distributed in the hope that it will be useful, 302376ae610Snerun but WITHOUT ANY WARRANTY; without even the implied warranty of 303376ae610Snerun MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304376ae610Snerun GNU General Public License for more details. 305376ae610Snerun 306*37ab8232Snerun You should have received a copy of the GNU General Public License along 307*37ab8232Snerun with this program; if not, see <https://www.gnu.org/licenses/>. 308376ae610Snerun 309376ae610SnerunAlso add information on how to contact you by electronic and paper mail. 310376ae610Snerun 311376ae610SnerunIf the program is interactive, make it output a short notice like this 312376ae610Snerunwhen it starts in an interactive mode: 313376ae610Snerun 314376ae610Snerun Gnomovision version 69, Copyright (C) year name of author 315376ae610Snerun Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 316376ae610Snerun This is free software, and you are welcome to redistribute it 317376ae610Snerun under certain conditions; type `show c' for details. 318376ae610Snerun 319376ae610SnerunThe hypothetical commands `show w' and `show c' should show the appropriate 320376ae610Snerunparts of the General Public License. Of course, the commands you use may 321376ae610Snerunbe called something other than `show w' and `show c'; they could even be 322376ae610Snerunmouse-clicks or menu items--whatever suits your program. 323376ae610Snerun 324376ae610SnerunYou should also get your employer (if you work as a programmer) or your 325376ae610Snerunschool, if any, to sign a "copyright disclaimer" for the program, if 326376ae610Snerunnecessary. Here is a sample; alter the names: 327376ae610Snerun 328376ae610Snerun Yoyodyne, Inc., hereby disclaims all copyright interest in the program 329376ae610Snerun `Gnomovision' (which makes passes at compilers) written by James Hacker. 330376ae610Snerun 331*37ab8232Snerun <signature of Moe Ghoul>, 1 April 1989 332*37ab8232Snerun Moe Ghoul, President of Vice 333376ae610Snerun 334376ae610SnerunThis General Public License does not permit incorporating your program into 335376ae610Snerunproprietary programs. If your program is a subroutine library, you may 336376ae610Snerunconsider it more useful to permit linking proprietary applications with the 337*37ab8232Snerunlibrary. If this is what you want to do, use the GNU Lesser General 338376ae610SnerunPublic License instead of this License. 339