1544a6733SRoques Steve GNU GENERAL PUBLIC LICENSE 2544a6733SRoques Steve Version 2, June 1991 3544a6733SRoques Steve 4*e00731e6SRoques Steve Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/> 5544a6733SRoques Steve 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6544a6733SRoques Steve Everyone is permitted to copy and distribute verbatim copies 7544a6733SRoques Steve of this license document, but changing it is not allowed. 8544a6733SRoques Steve 9544a6733SRoques Steve Preamble 10544a6733SRoques Steve 11544a6733SRoques Steve The licenses for most software are designed to take away your 12544a6733SRoques Stevefreedom to share and change it. By contrast, the GNU General Public 13544a6733SRoques SteveLicense is intended to guarantee your freedom to share and change free 14544a6733SRoques Stevesoftware--to make sure the software is free for all its users. This 15544a6733SRoques SteveGeneral Public License applies to most of the Free Software 16544a6733SRoques SteveFoundation's software and to any other program whose authors commit to 17544a6733SRoques Steveusing it. (Some other Free Software Foundation software is covered by 18544a6733SRoques Stevethe GNU Lesser General Public License instead.) You can apply it to 19544a6733SRoques Steveyour programs, too. 20544a6733SRoques Steve 21544a6733SRoques Steve When we speak of free software, we are referring to freedom, not 22544a6733SRoques Steveprice. Our General Public Licenses are designed to make sure that you 23544a6733SRoques Stevehave the freedom to distribute copies of free software (and charge for 24544a6733SRoques Stevethis service if you wish), that you receive source code or can get it 25544a6733SRoques Steveif you want it, that you can change the software or use pieces of it 26544a6733SRoques Stevein new free programs; and that you know you can do these things. 27544a6733SRoques Steve 28544a6733SRoques Steve To protect your rights, we need to make restrictions that forbid 29544a6733SRoques Steveanyone to deny you these rights or to ask you to surrender the rights. 30544a6733SRoques SteveThese restrictions translate to certain responsibilities for you if you 31544a6733SRoques Stevedistribute copies of the software, or if you modify it. 32544a6733SRoques Steve 33544a6733SRoques Steve For example, if you distribute copies of such a program, whether 34544a6733SRoques Stevegratis or for a fee, you must give the recipients all the rights that 35544a6733SRoques Steveyou have. You must make sure that they, too, receive or can get the 36544a6733SRoques Stevesource code. And you must show them these terms so they know their 37544a6733SRoques Steverights. 38544a6733SRoques Steve 39544a6733SRoques Steve We protect your rights with two steps: (1) copyright the software, and 40544a6733SRoques Steve(2) offer you this license which gives you legal permission to copy, 41544a6733SRoques Stevedistribute and/or modify the software. 42544a6733SRoques Steve 43544a6733SRoques Steve Also, for each author's protection and ours, we want to make certain 44544a6733SRoques Stevethat everyone understands that there is no warranty for this free 45544a6733SRoques Stevesoftware. If the software is modified by someone else and passed on, we 46544a6733SRoques Stevewant its recipients to know that what they have is not the original, so 47544a6733SRoques Stevethat any problems introduced by others will not reflect on the original 48544a6733SRoques Steveauthors' reputations. 49544a6733SRoques Steve 50544a6733SRoques Steve Finally, any free program is threatened constantly by software 51544a6733SRoques Stevepatents. We wish to avoid the danger that redistributors of a free 52544a6733SRoques Steveprogram will individually obtain patent licenses, in effect making the 53544a6733SRoques Steveprogram proprietary. To prevent this, we have made it clear that any 54544a6733SRoques Stevepatent must be licensed for everyone's free use or not licensed at all. 55544a6733SRoques Steve 56544a6733SRoques Steve The precise terms and conditions for copying, distribution and 57544a6733SRoques Stevemodification follow. 58544a6733SRoques Steve 59544a6733SRoques Steve GNU GENERAL PUBLIC LICENSE 60544a6733SRoques Steve TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61544a6733SRoques Steve 62544a6733SRoques Steve 0. This License applies to any program or other work which contains 63544a6733SRoques Stevea notice placed by the copyright holder saying it may be distributed 64544a6733SRoques Steveunder the terms of this General Public License. The "Program", below, 65544a6733SRoques Steverefers to any such program or work, and a "work based on the Program" 66544a6733SRoques Stevemeans either the Program or any derivative work under copyright law: 67544a6733SRoques Stevethat is to say, a work containing the Program or a portion of it, 68544a6733SRoques Steveeither verbatim or with modifications and/or translated into another 69544a6733SRoques Stevelanguage. (Hereinafter, translation is included without limitation in 70544a6733SRoques Stevethe term "modification".) Each licensee is addressed as "you". 71544a6733SRoques Steve 72544a6733SRoques SteveActivities other than copying, distribution and modification are not 73544a6733SRoques Stevecovered by this License; they are outside its scope. The act of 74544a6733SRoques Steverunning the Program is not restricted, and the output from the Program 75544a6733SRoques Steveis covered only if its contents constitute a work based on the 76544a6733SRoques SteveProgram (independent of having been made by running the Program). 77544a6733SRoques SteveWhether that is true depends on what the Program does. 78544a6733SRoques Steve 79544a6733SRoques Steve 1. You may copy and distribute verbatim copies of the Program's 80544a6733SRoques Stevesource code as you receive it, in any medium, provided that you 81544a6733SRoques Steveconspicuously and appropriately publish on each copy an appropriate 82544a6733SRoques Stevecopyright notice and disclaimer of warranty; keep intact all the 83544a6733SRoques Stevenotices that refer to this License and to the absence of any warranty; 84544a6733SRoques Steveand give any other recipients of the Program a copy of this License 85544a6733SRoques Stevealong with the Program. 86544a6733SRoques Steve 87544a6733SRoques SteveYou may charge a fee for the physical act of transferring a copy, and 88544a6733SRoques Steveyou may at your option offer warranty protection in exchange for a fee. 89544a6733SRoques Steve 90544a6733SRoques Steve 2. You may modify your copy or copies of the Program or any portion 91544a6733SRoques Steveof it, thus forming a work based on the Program, and copy and 92544a6733SRoques Stevedistribute such modifications or work under the terms of Section 1 93544a6733SRoques Steveabove, provided that you also meet all of these conditions: 94544a6733SRoques Steve 95544a6733SRoques Steve a) You must cause the modified files to carry prominent notices 96544a6733SRoques Steve stating that you changed the files and the date of any change. 97544a6733SRoques Steve 98544a6733SRoques Steve b) You must cause any work that you distribute or publish, that in 99544a6733SRoques Steve whole or in part contains or is derived from the Program or any 100544a6733SRoques Steve part thereof, to be licensed as a whole at no charge to all third 101544a6733SRoques Steve parties under the terms of this License. 102544a6733SRoques Steve 103544a6733SRoques Steve c) If the modified program normally reads commands interactively 104544a6733SRoques Steve when run, you must cause it, when started running for such 105544a6733SRoques Steve interactive use in the most ordinary way, to print or display an 106544a6733SRoques Steve announcement including an appropriate copyright notice and a 107544a6733SRoques Steve notice that there is no warranty (or else, saying that you provide 108544a6733SRoques Steve a warranty) and that users may redistribute the program under 109544a6733SRoques Steve these conditions, and telling the user how to view a copy of this 110544a6733SRoques Steve License. (Exception: if the Program itself is interactive but 111544a6733SRoques Steve does not normally print such an announcement, your work based on 112544a6733SRoques Steve the Program is not required to print an announcement.) 113544a6733SRoques Steve 114544a6733SRoques SteveThese requirements apply to the modified work as a whole. If 115544a6733SRoques Steveidentifiable sections of that work are not derived from the Program, 116544a6733SRoques Steveand can be reasonably considered independent and separate works in 117544a6733SRoques Stevethemselves, then this License, and its terms, do not apply to those 118544a6733SRoques Stevesections when you distribute them as separate works. But when you 119544a6733SRoques Stevedistribute the same sections as part of a whole which is a work based 120544a6733SRoques Steveon the Program, the distribution of the whole must be on the terms of 121544a6733SRoques Stevethis License, whose permissions for other licensees extend to the 122544a6733SRoques Steveentire whole, and thus to each and every part regardless of who wrote it. 123544a6733SRoques Steve 124544a6733SRoques SteveThus, it is not the intent of this section to claim rights or contest 125544a6733SRoques Steveyour rights to work written entirely by you; rather, the intent is to 126544a6733SRoques Steveexercise the right to control the distribution of derivative or 127544a6733SRoques Stevecollective works based on the Program. 128544a6733SRoques Steve 129544a6733SRoques SteveIn addition, mere aggregation of another work not based on the Program 130544a6733SRoques Stevewith the Program (or with a work based on the Program) on a volume of 131544a6733SRoques Stevea storage or distribution medium does not bring the other work under 132544a6733SRoques Stevethe scope of this License. 133544a6733SRoques Steve 134544a6733SRoques Steve 3. You may copy and distribute the Program (or a work based on it, 135544a6733SRoques Steveunder Section 2) in object code or executable form under the terms of 136544a6733SRoques SteveSections 1 and 2 above provided that you also do one of the following: 137544a6733SRoques Steve 138544a6733SRoques Steve a) Accompany it with the complete corresponding machine-readable 139544a6733SRoques Steve source code, which must be distributed under the terms of Sections 140544a6733SRoques Steve 1 and 2 above on a medium customarily used for software interchange; or, 141544a6733SRoques Steve 142544a6733SRoques Steve b) Accompany it with a written offer, valid for at least three 143544a6733SRoques Steve years, to give any third party, for a charge no more than your 144544a6733SRoques Steve cost of physically performing source distribution, a complete 145544a6733SRoques Steve machine-readable copy of the corresponding source code, to be 146544a6733SRoques Steve distributed under the terms of Sections 1 and 2 above on a medium 147544a6733SRoques Steve customarily used for software interchange; or, 148544a6733SRoques Steve 149544a6733SRoques Steve c) Accompany it with the information you received as to the offer 150544a6733SRoques Steve to distribute corresponding source code. (This alternative is 151544a6733SRoques Steve allowed only for noncommercial distribution and only if you 152544a6733SRoques Steve received the program in object code or executable form with such 153544a6733SRoques Steve an offer, in accord with Subsection b above.) 154544a6733SRoques Steve 155544a6733SRoques SteveThe source code for a work means the preferred form of the work for 156544a6733SRoques Stevemaking modifications to it. For an executable work, complete source 157544a6733SRoques Stevecode means all the source code for all modules it contains, plus any 158544a6733SRoques Steveassociated interface definition files, plus the scripts used to 159544a6733SRoques Stevecontrol compilation and installation of the executable. However, as a 160544a6733SRoques Stevespecial exception, the source code distributed need not include 161544a6733SRoques Steveanything that is normally distributed (in either source or binary 162544a6733SRoques Steveform) with the major components (compiler, kernel, and so on) of the 163544a6733SRoques Steveoperating system on which the executable runs, unless that component 164544a6733SRoques Steveitself accompanies the executable. 165544a6733SRoques Steve 166544a6733SRoques SteveIf distribution of executable or object code is made by offering 167544a6733SRoques Steveaccess to copy from a designated place, then offering equivalent 168544a6733SRoques Steveaccess to copy the source code from the same place counts as 169544a6733SRoques Stevedistribution of the source code, even though third parties are not 170544a6733SRoques Stevecompelled to copy the source along with the object code. 171544a6733SRoques Steve 172544a6733SRoques Steve 4. You may not copy, modify, sublicense, or distribute the Program 173544a6733SRoques Steveexcept as expressly provided under this License. Any attempt 174544a6733SRoques Steveotherwise to copy, modify, sublicense or distribute the Program is 175544a6733SRoques Stevevoid, and will automatically terminate your rights under this License. 176544a6733SRoques SteveHowever, parties who have received copies, or rights, from you under 177544a6733SRoques Stevethis License will not have their licenses terminated so long as such 178544a6733SRoques Steveparties remain in full compliance. 179544a6733SRoques Steve 180544a6733SRoques Steve 5. You are not required to accept this License, since you have not 181544a6733SRoques Stevesigned it. However, nothing else grants you permission to modify or 182544a6733SRoques Stevedistribute the Program or its derivative works. These actions are 183544a6733SRoques Steveprohibited by law if you do not accept this License. Therefore, by 184544a6733SRoques Stevemodifying or distributing the Program (or any work based on the 185544a6733SRoques SteveProgram), you indicate your acceptance of this License to do so, and 186544a6733SRoques Steveall its terms and conditions for copying, distributing or modifying 187544a6733SRoques Stevethe Program or works based on it. 188544a6733SRoques Steve 189544a6733SRoques Steve 6. Each time you redistribute the Program (or any work based on the 190544a6733SRoques SteveProgram), the recipient automatically receives a license from the 191544a6733SRoques Steveoriginal licensor to copy, distribute or modify the Program subject to 192544a6733SRoques Stevethese terms and conditions. You may not impose any further 193544a6733SRoques Steverestrictions on the recipients' exercise of the rights granted herein. 194544a6733SRoques SteveYou are not responsible for enforcing compliance by third parties to 195544a6733SRoques Stevethis License. 196544a6733SRoques Steve 197544a6733SRoques Steve 7. If, as a consequence of a court judgment or allegation of patent 198544a6733SRoques Steveinfringement or for any other reason (not limited to patent issues), 199544a6733SRoques Steveconditions are imposed on you (whether by court order, agreement or 200544a6733SRoques Steveotherwise) that contradict the conditions of this License, they do not 201544a6733SRoques Steveexcuse you from the conditions of this License. If you cannot 202544a6733SRoques Stevedistribute so as to satisfy simultaneously your obligations under this 203544a6733SRoques SteveLicense and any other pertinent obligations, then as a consequence you 204544a6733SRoques Stevemay not distribute the Program at all. For example, if a patent 205544a6733SRoques Stevelicense would not permit royalty-free redistribution of the Program by 206544a6733SRoques Steveall those who receive copies directly or indirectly through you, then 207544a6733SRoques Stevethe only way you could satisfy both it and this License would be to 208544a6733SRoques Steverefrain entirely from distribution of the Program. 209544a6733SRoques Steve 210544a6733SRoques SteveIf any portion of this section is held invalid or unenforceable under 211544a6733SRoques Steveany particular circumstance, the balance of the section is intended to 212544a6733SRoques Steveapply and the section as a whole is intended to apply in other 213544a6733SRoques Stevecircumstances. 214544a6733SRoques Steve 215544a6733SRoques SteveIt is not the purpose of this section to induce you to infringe any 216544a6733SRoques Stevepatents or other property right claims or to contest validity of any 217544a6733SRoques Stevesuch claims; this section has the sole purpose of protecting the 218544a6733SRoques Steveintegrity of the free software distribution system, which is 219544a6733SRoques Steveimplemented by public license practices. Many people have made 220544a6733SRoques Stevegenerous contributions to the wide range of software distributed 221544a6733SRoques Stevethrough that system in reliance on consistent application of that 222544a6733SRoques Stevesystem; it is up to the author/donor to decide if he or she is willing 223544a6733SRoques Steveto distribute software through any other system and a licensee cannot 224544a6733SRoques Steveimpose that choice. 225544a6733SRoques Steve 226544a6733SRoques SteveThis section is intended to make thoroughly clear what is believed to 227544a6733SRoques Stevebe a consequence of the rest of this License. 228544a6733SRoques Steve 229544a6733SRoques Steve 8. If the distribution and/or use of the Program is restricted in 230544a6733SRoques Stevecertain countries either by patents or by copyrighted interfaces, the 231544a6733SRoques Steveoriginal copyright holder who places the Program under this License 232544a6733SRoques Stevemay add an explicit geographical distribution limitation excluding 233544a6733SRoques Stevethose countries, so that distribution is permitted only in or among 234544a6733SRoques Stevecountries not thus excluded. In such case, this License incorporates 235544a6733SRoques Stevethe limitation as if written in the body of this License. 236544a6733SRoques Steve 237544a6733SRoques Steve 9. The Free Software Foundation may publish revised and/or new versions 238544a6733SRoques Steveof the General Public License from time to time. Such new versions will 239544a6733SRoques Stevebe similar in spirit to the present version, but may differ in detail to 240544a6733SRoques Steveaddress new problems or concerns. 241544a6733SRoques Steve 242544a6733SRoques SteveEach version is given a distinguishing version number. If the Program 243544a6733SRoques Stevespecifies a version number of this License which applies to it and "any 244544a6733SRoques Stevelater version", you have the option of following the terms and conditions 245544a6733SRoques Steveeither of that version or of any later version published by the Free 246544a6733SRoques SteveSoftware Foundation. If the Program does not specify a version number of 247544a6733SRoques Stevethis License, you may choose any version ever published by the Free Software 248544a6733SRoques SteveFoundation. 249544a6733SRoques Steve 250544a6733SRoques Steve 10. If you wish to incorporate parts of the Program into other free 251544a6733SRoques Steveprograms whose distribution conditions are different, write to the author 252544a6733SRoques Steveto ask for permission. For software which is copyrighted by the Free 253544a6733SRoques SteveSoftware Foundation, write to the Free Software Foundation; we sometimes 254544a6733SRoques Stevemake exceptions for this. Our decision will be guided by the two goals 255544a6733SRoques Steveof preserving the free status of all derivatives of our free software and 256544a6733SRoques Steveof promoting the sharing and reuse of software generally. 257544a6733SRoques Steve 258544a6733SRoques Steve NO WARRANTY 259544a6733SRoques Steve 260544a6733SRoques Steve 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261544a6733SRoques SteveFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262544a6733SRoques SteveOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263544a6733SRoques StevePROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264544a6733SRoques SteveOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265544a6733SRoques SteveMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266544a6733SRoques SteveTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267544a6733SRoques StevePROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268544a6733SRoques SteveREPAIR OR CORRECTION. 269544a6733SRoques Steve 270544a6733SRoques Steve 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271544a6733SRoques SteveWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272544a6733SRoques SteveREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273544a6733SRoques SteveINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274544a6733SRoques SteveOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275544a6733SRoques SteveTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276544a6733SRoques SteveYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277544a6733SRoques StevePROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278544a6733SRoques StevePOSSIBILITY OF SUCH DAMAGES. 279544a6733SRoques Steve 280544a6733SRoques Steve END OF TERMS AND CONDITIONS 281544a6733SRoques Steve 282544a6733SRoques Steve How to Apply These Terms to Your New Programs 283544a6733SRoques Steve 284544a6733SRoques Steve If you develop a new program, and you want it to be of the greatest 285544a6733SRoques Stevepossible use to the public, the best way to achieve this is to make it 286544a6733SRoques Stevefree software which everyone can redistribute and change under these terms. 287544a6733SRoques Steve 288544a6733SRoques Steve To do so, attach the following notices to the program. It is safest 289544a6733SRoques Steveto attach them to the start of each source file to most effectively 290544a6733SRoques Steveconvey the exclusion of warranty; and each file should have at least 291544a6733SRoques Stevethe "copyright" line and a pointer to where the full notice is found. 292544a6733SRoques Steve 293*e00731e6SRoques Steve {description} 294*e00731e6SRoques Steve Copyright (C) {year} {fullname} 295544a6733SRoques Steve 296544a6733SRoques Steve This program is free software; you can redistribute it and/or modify 297544a6733SRoques Steve it under the terms of the GNU General Public License as published by 298544a6733SRoques Steve the Free Software Foundation; either version 2 of the License, or 299544a6733SRoques Steve (at your option) any later version. 300544a6733SRoques Steve 301544a6733SRoques Steve This program is distributed in the hope that it will be useful, 302544a6733SRoques Steve but WITHOUT ANY WARRANTY; without even the implied warranty of 303544a6733SRoques Steve MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304544a6733SRoques Steve GNU General Public License for more details. 305544a6733SRoques Steve 306544a6733SRoques Steve You should have received a copy of the GNU General Public License along 307544a6733SRoques Steve with this program; if not, write to the Free Software Foundation, Inc., 308544a6733SRoques Steve 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309544a6733SRoques Steve 310544a6733SRoques SteveAlso add information on how to contact you by electronic and paper mail. 311544a6733SRoques Steve 312544a6733SRoques SteveIf the program is interactive, make it output a short notice like this 313544a6733SRoques Stevewhen it starts in an interactive mode: 314544a6733SRoques Steve 315544a6733SRoques Steve Gnomovision version 69, Copyright (C) year name of author 316544a6733SRoques Steve Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317544a6733SRoques Steve This is free software, and you are welcome to redistribute it 318544a6733SRoques Steve under certain conditions; type `show c' for details. 319544a6733SRoques Steve 320544a6733SRoques SteveThe hypothetical commands `show w' and `show c' should show the appropriate 321544a6733SRoques Steveparts of the General Public License. Of course, the commands you use may 322544a6733SRoques Stevebe called something other than `show w' and `show c'; they could even be 323544a6733SRoques Stevemouse-clicks or menu items--whatever suits your program. 324544a6733SRoques Steve 325544a6733SRoques SteveYou should also get your employer (if you work as a programmer) or your 326544a6733SRoques Steveschool, if any, to sign a "copyright disclaimer" for the program, if 327544a6733SRoques Stevenecessary. Here is a sample; alter the names: 328544a6733SRoques Steve 329544a6733SRoques Steve Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330544a6733SRoques Steve `Gnomovision' (which makes passes at compilers) written by James Hacker. 331544a6733SRoques Steve 332*e00731e6SRoques Steve {signature of Ty Coon}, 1 April 1989 333544a6733SRoques Steve Ty Coon, President of Vice 334544a6733SRoques Steve 335544a6733SRoques SteveThis General Public License does not permit incorporating your program into 336544a6733SRoques Steveproprietary programs. If your program is a subroutine library, you may 337544a6733SRoques Steveconsider it more useful to permit linking proprietary applications with the 338544a6733SRoques Stevelibrary. If this is what you want to do, use the GNU Lesser General 339544a6733SRoques StevePublic License instead of this License. 340*e00731e6SRoques Steve 341