1*e52dfd47Snerun GNU GENERAL PUBLIC LICENSE 2*e52dfd47Snerun Version 2, June 1991 3*e52dfd47Snerun 4*e52dfd47Snerun Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5*e52dfd47Snerun 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6*e52dfd47Snerun Everyone is permitted to copy and distribute verbatim copies 7*e52dfd47Snerun of this license document, but changing it is not allowed. 8*e52dfd47Snerun 9*e52dfd47Snerun Preamble 10*e52dfd47Snerun 11*e52dfd47Snerun The licenses for most software are designed to take away your 12*e52dfd47Snerunfreedom to share and change it. By contrast, the GNU General Public 13*e52dfd47SnerunLicense is intended to guarantee your freedom to share and change free 14*e52dfd47Snerunsoftware--to make sure the software is free for all its users. This 15*e52dfd47SnerunGeneral Public License applies to most of the Free Software 16*e52dfd47SnerunFoundation's software and to any other program whose authors commit to 17*e52dfd47Snerunusing it. (Some other Free Software Foundation software is covered by 18*e52dfd47Snerunthe GNU Lesser General Public License instead.) You can apply it to 19*e52dfd47Snerunyour programs, too. 20*e52dfd47Snerun 21*e52dfd47Snerun When we speak of free software, we are referring to freedom, not 22*e52dfd47Snerunprice. Our General Public Licenses are designed to make sure that you 23*e52dfd47Snerunhave the freedom to distribute copies of free software (and charge for 24*e52dfd47Snerunthis service if you wish), that you receive source code or can get it 25*e52dfd47Snerunif you want it, that you can change the software or use pieces of it 26*e52dfd47Snerunin new free programs; and that you know you can do these things. 27*e52dfd47Snerun 28*e52dfd47Snerun To protect your rights, we need to make restrictions that forbid 29*e52dfd47Snerunanyone to deny you these rights or to ask you to surrender the rights. 30*e52dfd47SnerunThese restrictions translate to certain responsibilities for you if you 31*e52dfd47Snerundistribute copies of the software, or if you modify it. 32*e52dfd47Snerun 33*e52dfd47Snerun For example, if you distribute copies of such a program, whether 34*e52dfd47Snerungratis or for a fee, you must give the recipients all the rights that 35*e52dfd47Snerunyou have. You must make sure that they, too, receive or can get the 36*e52dfd47Snerunsource code. And you must show them these terms so they know their 37*e52dfd47Snerunrights. 38*e52dfd47Snerun 39*e52dfd47Snerun We protect your rights with two steps: (1) copyright the software, and 40*e52dfd47Snerun(2) offer you this license which gives you legal permission to copy, 41*e52dfd47Snerundistribute and/or modify the software. 42*e52dfd47Snerun 43*e52dfd47Snerun Also, for each author's protection and ours, we want to make certain 44*e52dfd47Snerunthat everyone understands that there is no warranty for this free 45*e52dfd47Snerunsoftware. If the software is modified by someone else and passed on, we 46*e52dfd47Snerunwant its recipients to know that what they have is not the original, so 47*e52dfd47Snerunthat any problems introduced by others will not reflect on the original 48*e52dfd47Snerunauthors' reputations. 49*e52dfd47Snerun 50*e52dfd47Snerun Finally, any free program is threatened constantly by software 51*e52dfd47Snerunpatents. We wish to avoid the danger that redistributors of a free 52*e52dfd47Snerunprogram will individually obtain patent licenses, in effect making the 53*e52dfd47Snerunprogram proprietary. To prevent this, we have made it clear that any 54*e52dfd47Snerunpatent must be licensed for everyone's free use or not licensed at all. 55*e52dfd47Snerun 56*e52dfd47Snerun The precise terms and conditions for copying, distribution and 57*e52dfd47Snerunmodification follow. 58*e52dfd47Snerun 59*e52dfd47Snerun GNU GENERAL PUBLIC LICENSE 60*e52dfd47Snerun TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61*e52dfd47Snerun 62*e52dfd47Snerun 0. This License applies to any program or other work which contains 63*e52dfd47Sneruna notice placed by the copyright holder saying it may be distributed 64*e52dfd47Snerununder the terms of this General Public License. The "Program", below, 65*e52dfd47Snerunrefers to any such program or work, and a "work based on the Program" 66*e52dfd47Snerunmeans either the Program or any derivative work under copyright law: 67*e52dfd47Snerunthat is to say, a work containing the Program or a portion of it, 68*e52dfd47Sneruneither verbatim or with modifications and/or translated into another 69*e52dfd47Snerunlanguage. (Hereinafter, translation is included without limitation in 70*e52dfd47Snerunthe term "modification".) Each licensee is addressed as "you". 71*e52dfd47Snerun 72*e52dfd47SnerunActivities other than copying, distribution and modification are not 73*e52dfd47Sneruncovered by this License; they are outside its scope. The act of 74*e52dfd47Snerunrunning the Program is not restricted, and the output from the Program 75*e52dfd47Snerunis covered only if its contents constitute a work based on the 76*e52dfd47SnerunProgram (independent of having been made by running the Program). 77*e52dfd47SnerunWhether that is true depends on what the Program does. 78*e52dfd47Snerun 79*e52dfd47Snerun 1. You may copy and distribute verbatim copies of the Program's 80*e52dfd47Snerunsource code as you receive it, in any medium, provided that you 81*e52dfd47Snerunconspicuously and appropriately publish on each copy an appropriate 82*e52dfd47Sneruncopyright notice and disclaimer of warranty; keep intact all the 83*e52dfd47Snerunnotices that refer to this License and to the absence of any warranty; 84*e52dfd47Snerunand give any other recipients of the Program a copy of this License 85*e52dfd47Snerunalong with the Program. 86*e52dfd47Snerun 87*e52dfd47SnerunYou may charge a fee for the physical act of transferring a copy, and 88*e52dfd47Snerunyou may at your option offer warranty protection in exchange for a fee. 89*e52dfd47Snerun 90*e52dfd47Snerun 2. You may modify your copy or copies of the Program or any portion 91*e52dfd47Snerunof it, thus forming a work based on the Program, and copy and 92*e52dfd47Snerundistribute such modifications or work under the terms of Section 1 93*e52dfd47Snerunabove, provided that you also meet all of these conditions: 94*e52dfd47Snerun 95*e52dfd47Snerun a) You must cause the modified files to carry prominent notices 96*e52dfd47Snerun stating that you changed the files and the date of any change. 97*e52dfd47Snerun 98*e52dfd47Snerun b) You must cause any work that you distribute or publish, that in 99*e52dfd47Snerun whole or in part contains or is derived from the Program or any 100*e52dfd47Snerun part thereof, to be licensed as a whole at no charge to all third 101*e52dfd47Snerun parties under the terms of this License. 102*e52dfd47Snerun 103*e52dfd47Snerun c) If the modified program normally reads commands interactively 104*e52dfd47Snerun when run, you must cause it, when started running for such 105*e52dfd47Snerun interactive use in the most ordinary way, to print or display an 106*e52dfd47Snerun announcement including an appropriate copyright notice and a 107*e52dfd47Snerun notice that there is no warranty (or else, saying that you provide 108*e52dfd47Snerun a warranty) and that users may redistribute the program under 109*e52dfd47Snerun these conditions, and telling the user how to view a copy of this 110*e52dfd47Snerun License. (Exception: if the Program itself is interactive but 111*e52dfd47Snerun does not normally print such an announcement, your work based on 112*e52dfd47Snerun the Program is not required to print an announcement.) 113*e52dfd47Snerun 114*e52dfd47SnerunThese requirements apply to the modified work as a whole. If 115*e52dfd47Snerunidentifiable sections of that work are not derived from the Program, 116*e52dfd47Snerunand can be reasonably considered independent and separate works in 117*e52dfd47Snerunthemselves, then this License, and its terms, do not apply to those 118*e52dfd47Snerunsections when you distribute them as separate works. But when you 119*e52dfd47Snerundistribute the same sections as part of a whole which is a work based 120*e52dfd47Snerunon the Program, the distribution of the whole must be on the terms of 121*e52dfd47Snerunthis License, whose permissions for other licensees extend to the 122*e52dfd47Snerunentire whole, and thus to each and every part regardless of who wrote it. 123*e52dfd47Snerun 124*e52dfd47SnerunThus, it is not the intent of this section to claim rights or contest 125*e52dfd47Snerunyour rights to work written entirely by you; rather, the intent is to 126*e52dfd47Snerunexercise the right to control the distribution of derivative or 127*e52dfd47Sneruncollective works based on the Program. 128*e52dfd47Snerun 129*e52dfd47SnerunIn addition, mere aggregation of another work not based on the Program 130*e52dfd47Snerunwith the Program (or with a work based on the Program) on a volume of 131*e52dfd47Sneruna storage or distribution medium does not bring the other work under 132*e52dfd47Snerunthe scope of this License. 133*e52dfd47Snerun 134*e52dfd47Snerun 3. You may copy and distribute the Program (or a work based on it, 135*e52dfd47Snerununder Section 2) in object code or executable form under the terms of 136*e52dfd47SnerunSections 1 and 2 above provided that you also do one of the following: 137*e52dfd47Snerun 138*e52dfd47Snerun a) Accompany it with the complete corresponding machine-readable 139*e52dfd47Snerun source code, which must be distributed under the terms of Sections 140*e52dfd47Snerun 1 and 2 above on a medium customarily used for software interchange; or, 141*e52dfd47Snerun 142*e52dfd47Snerun b) Accompany it with a written offer, valid for at least three 143*e52dfd47Snerun years, to give any third party, for a charge no more than your 144*e52dfd47Snerun cost of physically performing source distribution, a complete 145*e52dfd47Snerun machine-readable copy of the corresponding source code, to be 146*e52dfd47Snerun distributed under the terms of Sections 1 and 2 above on a medium 147*e52dfd47Snerun customarily used for software interchange; or, 148*e52dfd47Snerun 149*e52dfd47Snerun c) Accompany it with the information you received as to the offer 150*e52dfd47Snerun to distribute corresponding source code. (This alternative is 151*e52dfd47Snerun allowed only for noncommercial distribution and only if you 152*e52dfd47Snerun received the program in object code or executable form with such 153*e52dfd47Snerun an offer, in accord with Subsection b above.) 154*e52dfd47Snerun 155*e52dfd47SnerunThe source code for a work means the preferred form of the work for 156*e52dfd47Snerunmaking modifications to it. For an executable work, complete source 157*e52dfd47Sneruncode means all the source code for all modules it contains, plus any 158*e52dfd47Snerunassociated interface definition files, plus the scripts used to 159*e52dfd47Sneruncontrol compilation and installation of the executable. However, as a 160*e52dfd47Snerunspecial exception, the source code distributed need not include 161*e52dfd47Snerunanything that is normally distributed (in either source or binary 162*e52dfd47Snerunform) with the major components (compiler, kernel, and so on) of the 163*e52dfd47Snerunoperating system on which the executable runs, unless that component 164*e52dfd47Snerunitself accompanies the executable. 165*e52dfd47Snerun 166*e52dfd47SnerunIf distribution of executable or object code is made by offering 167*e52dfd47Snerunaccess to copy from a designated place, then offering equivalent 168*e52dfd47Snerunaccess to copy the source code from the same place counts as 169*e52dfd47Snerundistribution of the source code, even though third parties are not 170*e52dfd47Sneruncompelled to copy the source along with the object code. 171*e52dfd47Snerun 172*e52dfd47Snerun 4. You may not copy, modify, sublicense, or distribute the Program 173*e52dfd47Snerunexcept as expressly provided under this License. Any attempt 174*e52dfd47Snerunotherwise to copy, modify, sublicense or distribute the Program is 175*e52dfd47Snerunvoid, and will automatically terminate your rights under this License. 176*e52dfd47SnerunHowever, parties who have received copies, or rights, from you under 177*e52dfd47Snerunthis License will not have their licenses terminated so long as such 178*e52dfd47Snerunparties remain in full compliance. 179*e52dfd47Snerun 180*e52dfd47Snerun 5. You are not required to accept this License, since you have not 181*e52dfd47Snerunsigned it. However, nothing else grants you permission to modify or 182*e52dfd47Snerundistribute the Program or its derivative works. These actions are 183*e52dfd47Snerunprohibited by law if you do not accept this License. Therefore, by 184*e52dfd47Snerunmodifying or distributing the Program (or any work based on the 185*e52dfd47SnerunProgram), you indicate your acceptance of this License to do so, and 186*e52dfd47Snerunall its terms and conditions for copying, distributing or modifying 187*e52dfd47Snerunthe Program or works based on it. 188*e52dfd47Snerun 189*e52dfd47Snerun 6. Each time you redistribute the Program (or any work based on the 190*e52dfd47SnerunProgram), the recipient automatically receives a license from the 191*e52dfd47Snerunoriginal licensor to copy, distribute or modify the Program subject to 192*e52dfd47Snerunthese terms and conditions. You may not impose any further 193*e52dfd47Snerunrestrictions on the recipients' exercise of the rights granted herein. 194*e52dfd47SnerunYou are not responsible for enforcing compliance by third parties to 195*e52dfd47Snerunthis License. 196*e52dfd47Snerun 197*e52dfd47Snerun 7. If, as a consequence of a court judgment or allegation of patent 198*e52dfd47Sneruninfringement or for any other reason (not limited to patent issues), 199*e52dfd47Snerunconditions are imposed on you (whether by court order, agreement or 200*e52dfd47Snerunotherwise) that contradict the conditions of this License, they do not 201*e52dfd47Snerunexcuse you from the conditions of this License. If you cannot 202*e52dfd47Snerundistribute so as to satisfy simultaneously your obligations under this 203*e52dfd47SnerunLicense and any other pertinent obligations, then as a consequence you 204*e52dfd47Snerunmay not distribute the Program at all. For example, if a patent 205*e52dfd47Snerunlicense would not permit royalty-free redistribution of the Program by 206*e52dfd47Snerunall those who receive copies directly or indirectly through you, then 207*e52dfd47Snerunthe only way you could satisfy both it and this License would be to 208*e52dfd47Snerunrefrain entirely from distribution of the Program. 209*e52dfd47Snerun 210*e52dfd47SnerunIf any portion of this section is held invalid or unenforceable under 211*e52dfd47Snerunany particular circumstance, the balance of the section is intended to 212*e52dfd47Snerunapply and the section as a whole is intended to apply in other 213*e52dfd47Sneruncircumstances. 214*e52dfd47Snerun 215*e52dfd47SnerunIt is not the purpose of this section to induce you to infringe any 216*e52dfd47Snerunpatents or other property right claims or to contest validity of any 217*e52dfd47Snerunsuch claims; this section has the sole purpose of protecting the 218*e52dfd47Snerunintegrity of the free software distribution system, which is 219*e52dfd47Snerunimplemented by public license practices. Many people have made 220*e52dfd47Snerungenerous contributions to the wide range of software distributed 221*e52dfd47Snerunthrough that system in reliance on consistent application of that 222*e52dfd47Snerunsystem; it is up to the author/donor to decide if he or she is willing 223*e52dfd47Snerunto distribute software through any other system and a licensee cannot 224*e52dfd47Snerunimpose that choice. 225*e52dfd47Snerun 226*e52dfd47SnerunThis section is intended to make thoroughly clear what is believed to 227*e52dfd47Snerunbe a consequence of the rest of this License. 228*e52dfd47Snerun 229*e52dfd47Snerun 8. If the distribution and/or use of the Program is restricted in 230*e52dfd47Sneruncertain countries either by patents or by copyrighted interfaces, the 231*e52dfd47Snerunoriginal copyright holder who places the Program under this License 232*e52dfd47Snerunmay add an explicit geographical distribution limitation excluding 233*e52dfd47Snerunthose countries, so that distribution is permitted only in or among 234*e52dfd47Sneruncountries not thus excluded. In such case, this License incorporates 235*e52dfd47Snerunthe limitation as if written in the body of this License. 236*e52dfd47Snerun 237*e52dfd47Snerun 9. The Free Software Foundation may publish revised and/or new versions 238*e52dfd47Snerunof the General Public License from time to time. Such new versions will 239*e52dfd47Snerunbe similar in spirit to the present version, but may differ in detail to 240*e52dfd47Snerunaddress new problems or concerns. 241*e52dfd47Snerun 242*e52dfd47SnerunEach version is given a distinguishing version number. If the Program 243*e52dfd47Snerunspecifies a version number of this License which applies to it and "any 244*e52dfd47Snerunlater version", you have the option of following the terms and conditions 245*e52dfd47Sneruneither of that version or of any later version published by the Free 246*e52dfd47SnerunSoftware Foundation. If the Program does not specify a version number of 247*e52dfd47Snerunthis License, you may choose any version ever published by the Free Software 248*e52dfd47SnerunFoundation. 249*e52dfd47Snerun 250*e52dfd47Snerun 10. If you wish to incorporate parts of the Program into other free 251*e52dfd47Snerunprograms whose distribution conditions are different, write to the author 252*e52dfd47Snerunto ask for permission. For software which is copyrighted by the Free 253*e52dfd47SnerunSoftware Foundation, write to the Free Software Foundation; we sometimes 254*e52dfd47Snerunmake exceptions for this. Our decision will be guided by the two goals 255*e52dfd47Snerunof preserving the free status of all derivatives of our free software and 256*e52dfd47Snerunof promoting the sharing and reuse of software generally. 257*e52dfd47Snerun 258*e52dfd47Snerun NO WARRANTY 259*e52dfd47Snerun 260*e52dfd47Snerun 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261*e52dfd47SnerunFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262*e52dfd47SnerunOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263*e52dfd47SnerunPROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264*e52dfd47SnerunOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265*e52dfd47SnerunMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266*e52dfd47SnerunTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267*e52dfd47SnerunPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268*e52dfd47SnerunREPAIR OR CORRECTION. 269*e52dfd47Snerun 270*e52dfd47Snerun 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271*e52dfd47SnerunWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272*e52dfd47SnerunREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273*e52dfd47SnerunINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274*e52dfd47SnerunOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275*e52dfd47SnerunTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276*e52dfd47SnerunYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277*e52dfd47SnerunPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278*e52dfd47SnerunPOSSIBILITY OF SUCH DAMAGES. 279*e52dfd47Snerun 280*e52dfd47Snerun END OF TERMS AND CONDITIONS 281*e52dfd47Snerun 282*e52dfd47Snerun How to Apply These Terms to Your New Programs 283*e52dfd47Snerun 284*e52dfd47Snerun If you develop a new program, and you want it to be of the greatest 285*e52dfd47Snerunpossible use to the public, the best way to achieve this is to make it 286*e52dfd47Snerunfree software which everyone can redistribute and change under these terms. 287*e52dfd47Snerun 288*e52dfd47Snerun To do so, attach the following notices to the program. It is safest 289*e52dfd47Snerunto attach them to the start of each source file to most effectively 290*e52dfd47Snerunconvey the exclusion of warranty; and each file should have at least 291*e52dfd47Snerunthe "copyright" line and a pointer to where the full notice is found. 292*e52dfd47Snerun 293*e52dfd47Snerun <one line to give the program's name and a brief idea of what it does.> 294*e52dfd47Snerun Copyright (C) <year> <name of author> 295*e52dfd47Snerun 296*e52dfd47Snerun This program is free software; you can redistribute it and/or modify 297*e52dfd47Snerun it under the terms of the GNU General Public License as published by 298*e52dfd47Snerun the Free Software Foundation; either version 2 of the License, or 299*e52dfd47Snerun (at your option) any later version. 300*e52dfd47Snerun 301*e52dfd47Snerun This program is distributed in the hope that it will be useful, 302*e52dfd47Snerun but WITHOUT ANY WARRANTY; without even the implied warranty of 303*e52dfd47Snerun MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304*e52dfd47Snerun GNU General Public License for more details. 305*e52dfd47Snerun 306*e52dfd47Snerun You should have received a copy of the GNU General Public License along 307*e52dfd47Snerun with this program; if not, write to the Free Software Foundation, Inc., 308*e52dfd47Snerun 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309*e52dfd47Snerun 310*e52dfd47SnerunAlso add information on how to contact you by electronic and paper mail. 311*e52dfd47Snerun 312*e52dfd47SnerunIf the program is interactive, make it output a short notice like this 313*e52dfd47Snerunwhen it starts in an interactive mode: 314*e52dfd47Snerun 315*e52dfd47Snerun Gnomovision version 69, Copyright (C) year name of author 316*e52dfd47Snerun Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317*e52dfd47Snerun This is free software, and you are welcome to redistribute it 318*e52dfd47Snerun under certain conditions; type `show c' for details. 319*e52dfd47Snerun 320*e52dfd47SnerunThe hypothetical commands `show w' and `show c' should show the appropriate 321*e52dfd47Snerunparts of the General Public License. Of course, the commands you use may 322*e52dfd47Snerunbe called something other than `show w' and `show c'; they could even be 323*e52dfd47Snerunmouse-clicks or menu items--whatever suits your program. 324*e52dfd47Snerun 325*e52dfd47SnerunYou should also get your employer (if you work as a programmer) or your 326*e52dfd47Snerunschool, if any, to sign a "copyright disclaimer" for the program, if 327*e52dfd47Snerunnecessary. Here is a sample; alter the names: 328*e52dfd47Snerun 329*e52dfd47Snerun Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330*e52dfd47Snerun `Gnomovision' (which makes passes at compilers) written by James Hacker. 331*e52dfd47Snerun 332*e52dfd47Snerun <signature of Ty Coon>, 1 April 1989 333*e52dfd47Snerun Ty Coon, President of Vice 334*e52dfd47Snerun 335*e52dfd47SnerunThis General Public License does not permit incorporating your program into 336*e52dfd47Snerunproprietary programs. If your program is a subroutine library, you may 337*e52dfd47Snerunconsider it more useful to permit linking proprietary applications with the 338*e52dfd47Snerunlibrary. If this is what you want to do, use the GNU Lesser General 339*e52dfd47SnerunPublic License instead of this License. 340