1*4882a593SmuzhiyunThe Checker Framework 2*4882a593SmuzhiyunCopyright 2004-present by the Checker Framework developers 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunMost of the Checker Framework is licensed under the GNU General Public 6*4882a593SmuzhiyunLicense, version 2 (GPL2), with the classpath exception. The text of this 7*4882a593Smuzhiyunlicense appears below. This is the same license used for OpenJDK. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunA few parts of the Checker Framework have more permissive licenses, notably 10*4882a593Smuzhiyunthe parts that you might want to include with your own program. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun * The annotations and utility files are licensed under the MIT License. 13*4882a593Smuzhiyun (The text of this license also appears below.) This applies to the 14*4882a593Smuzhiyun checker-qual*.jar and all the files that appear in it: every file in a 15*4882a593Smuzhiyun qual/ directory, plus utility files FormatUtil.java, 16*4882a593Smuzhiyun I18nFormatUtil.java, NullnessUtil.java, Opt.java, PurityUnqualified.java, 17*4882a593Smuzhiyun RegexUtil.java, SignednessUtil.java, SignednessUtilExtra.java, and 18*4882a593Smuzhiyun UnitsTools.java. It also applies to the cleanroom implementations of 19*4882a593Smuzhiyun third-party annotations (in checker/src/testannotations/ and in 20*4882a593Smuzhiyun framework/src/main/java/org/jmlspecs/). 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunThe Checker Framework includes annotations for some libraries. Those in 23*4882a593Smuzhiyun.astub files use the MIT License. Those in https://github.com/typetools/jdk 24*4882a593Smuzhiyun(which appears in the annotated-jdk directory of file checker.jar) use the 25*4882a593SmuzhiyunGPL2 license. 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunSome external libraries that are included with the Checker Framework 28*4882a593Smuzhiyundistribution have different licenses. Here are some examples. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun * javaparser is dual licensed under the LGPL or the Apache license -- you 31*4882a593Smuzhiyun may use it under whichever one you want. (The javaparser source code 32*4882a593Smuzhiyun contains a file with the text of the GPL, but it is not clear why, since 33*4882a593Smuzhiyun javaparser does not use the GPL.) See 34*4882a593Smuzhiyun https://github.com/typetools/stubparser . 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun * Annotation Tools (https://github.com/typetools/annotation-tools) uses 37*4882a593Smuzhiyun the MIT license. 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun * Libraries in plume-lib (https://github.com/plume-lib/) are licensed 40*4882a593Smuzhiyun under the MIT License. 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun=========================================================================== 43*4882a593Smuzhiyun 44*4882a593SmuzhiyunThe GNU General Public License (GPL) 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunVersion 2, June 1991 47*4882a593Smuzhiyun 48*4882a593SmuzhiyunCopyright (C) 1989, 1991 Free Software Foundation, Inc. 49*4882a593Smuzhiyun59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunEveryone is permitted to copy and distribute verbatim copies of this license 52*4882a593Smuzhiyundocument, but changing it is not allowed. 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunPreamble 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunThe licenses for most software are designed to take away your freedom to share 57*4882a593Smuzhiyunand change it. By contrast, the GNU General Public License is intended to 58*4882a593Smuzhiyunguarantee your freedom to share and change free software--to make sure the 59*4882a593Smuzhiyunsoftware is free for all its users. This General Public License applies to 60*4882a593Smuzhiyunmost of the Free Software Foundation's software and to any other program whose 61*4882a593Smuzhiyunauthors commit to using it. (Some other Free Software Foundation software is 62*4882a593Smuzhiyuncovered by the GNU Library General Public License instead.) You can apply it to 63*4882a593Smuzhiyunyour programs, too. 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunWhen we speak of free software, we are referring to freedom, not price. Our 66*4882a593SmuzhiyunGeneral Public Licenses are designed to make sure that you have the freedom to 67*4882a593Smuzhiyundistribute copies of free software (and charge for this service if you wish), 68*4882a593Smuzhiyunthat you receive source code or can get it if you want it, that you can change 69*4882a593Smuzhiyunthe software or use pieces of it in new free programs; and that you know you 70*4882a593Smuzhiyuncan do these things. 71*4882a593Smuzhiyun 72*4882a593SmuzhiyunTo protect your rights, we need to make restrictions that forbid anyone to deny 73*4882a593Smuzhiyunyou these rights or to ask you to surrender the rights. These restrictions 74*4882a593Smuzhiyuntranslate to certain responsibilities for you if you distribute copies of the 75*4882a593Smuzhiyunsoftware, or if you modify it. 76*4882a593Smuzhiyun 77*4882a593SmuzhiyunFor example, if you distribute copies of such a program, whether gratis or for 78*4882a593Smuzhiyuna fee, you must give the recipients all the rights that you have. You must 79*4882a593Smuzhiyunmake sure that they, too, receive or can get the source code. And you must 80*4882a593Smuzhiyunshow them these terms so they know their rights. 81*4882a593Smuzhiyun 82*4882a593SmuzhiyunWe protect your rights with two steps: (1) copyright the software, and (2) 83*4882a593Smuzhiyunoffer you this license which gives you legal permission to copy, distribute 84*4882a593Smuzhiyunand/or modify the software. 85*4882a593Smuzhiyun 86*4882a593SmuzhiyunAlso, for each author's protection and ours, we want to make certain that 87*4882a593Smuzhiyuneveryone understands that there is no warranty for this free software. If the 88*4882a593Smuzhiyunsoftware is modified by someone else and passed on, we want its recipients to 89*4882a593Smuzhiyunknow that what they have is not the original, so that any problems introduced 90*4882a593Smuzhiyunby others will not reflect on the original authors' reputations. 91*4882a593Smuzhiyun 92*4882a593SmuzhiyunFinally, any free program is threatened constantly by software patents. We 93*4882a593Smuzhiyunwish to avoid the danger that redistributors of a free program will 94*4882a593Smuzhiyunindividually obtain patent licenses, in effect making the program proprietary. 95*4882a593SmuzhiyunTo prevent this, we have made it clear that any patent must be licensed for 96*4882a593Smuzhiyuneveryone's free use or not licensed at all. 97*4882a593Smuzhiyun 98*4882a593SmuzhiyunThe precise terms and conditions for copying, distribution and modification 99*4882a593Smuzhiyunfollow. 100*4882a593Smuzhiyun 101*4882a593SmuzhiyunTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun0. This License applies to any program or other work which contains a notice 104*4882a593Smuzhiyunplaced by the copyright holder saying it may be distributed under the terms of 105*4882a593Smuzhiyunthis General Public License. The "Program", below, refers to any such program 106*4882a593Smuzhiyunor work, and a "work based on the Program" means either the Program or any 107*4882a593Smuzhiyunderivative work under copyright law: that is to say, a work containing the 108*4882a593SmuzhiyunProgram or a portion of it, either verbatim or with modifications and/or 109*4882a593Smuzhiyuntranslated into another language. (Hereinafter, translation is included 110*4882a593Smuzhiyunwithout limitation in the term "modification".) Each licensee is addressed as 111*4882a593Smuzhiyun"you". 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunActivities other than copying, distribution and modification are not covered by 114*4882a593Smuzhiyunthis License; they are outside its scope. The act of running the Program is 115*4882a593Smuzhiyunnot restricted, and the output from the Program is covered only if its contents 116*4882a593Smuzhiyunconstitute a work based on the Program (independent of having been made by 117*4882a593Smuzhiyunrunning the Program). Whether that is true depends on what the Program does. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun1. You may copy and distribute verbatim copies of the Program's source code as 120*4882a593Smuzhiyunyou receive it, in any medium, provided that you conspicuously and 121*4882a593Smuzhiyunappropriately publish on each copy an appropriate copyright notice and 122*4882a593Smuzhiyundisclaimer of warranty; keep intact all the notices that refer to this License 123*4882a593Smuzhiyunand to the absence of any warranty; and give any other recipients of the 124*4882a593SmuzhiyunProgram a copy of this License along with the Program. 125*4882a593Smuzhiyun 126*4882a593SmuzhiyunYou may charge a fee for the physical act of transferring a copy, and you may 127*4882a593Smuzhiyunat your option offer warranty protection in exchange for a fee. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun2. You may modify your copy or copies of the Program or any portion of it, thus 130*4882a593Smuzhiyunforming a work based on the Program, and copy and distribute such modifications 131*4882a593Smuzhiyunor work under the terms of Section 1 above, provided that you also meet all of 132*4882a593Smuzhiyunthese conditions: 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun a) You must cause the modified files to carry prominent notices stating 135*4882a593Smuzhiyun that you changed the files and the date of any change. 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun b) You must cause any work that you distribute or publish, that in whole or 138*4882a593Smuzhiyun in part contains or is derived from the Program or any part thereof, to be 139*4882a593Smuzhiyun licensed as a whole at no charge to all third parties under the terms of 140*4882a593Smuzhiyun this License. 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun c) If the modified program normally reads commands interactively when run, 143*4882a593Smuzhiyun you must cause it, when started running for such interactive use in the 144*4882a593Smuzhiyun most ordinary way, to print or display an announcement including an 145*4882a593Smuzhiyun appropriate copyright notice and a notice that there is no warranty (or 146*4882a593Smuzhiyun else, saying that you provide a warranty) and that users may redistribute 147*4882a593Smuzhiyun the program under these conditions, and telling the user how to view a copy 148*4882a593Smuzhiyun of this License. (Exception: if the Program itself is interactive but does 149*4882a593Smuzhiyun not normally print such an announcement, your work based on the Program is 150*4882a593Smuzhiyun not required to print an announcement.) 151*4882a593Smuzhiyun 152*4882a593SmuzhiyunThese requirements apply to the modified work as a whole. If identifiable 153*4882a593Smuzhiyunsections of that work are not derived from the Program, and can be reasonably 154*4882a593Smuzhiyunconsidered independent and separate works in themselves, then this License, and 155*4882a593Smuzhiyunits terms, do not apply to those sections when you distribute them as separate 156*4882a593Smuzhiyunworks. But when you distribute the same sections as part of a whole which is a 157*4882a593Smuzhiyunwork based on the Program, the distribution of the whole must be on the terms 158*4882a593Smuzhiyunof this License, whose permissions for other licensees extend to the entire 159*4882a593Smuzhiyunwhole, and thus to each and every part regardless of who wrote it. 160*4882a593Smuzhiyun 161*4882a593SmuzhiyunThus, it is not the intent of this section to claim rights or contest your 162*4882a593Smuzhiyunrights to work written entirely by you; rather, the intent is to exercise the 163*4882a593Smuzhiyunright to control the distribution of derivative or collective works based on 164*4882a593Smuzhiyunthe Program. 165*4882a593Smuzhiyun 166*4882a593SmuzhiyunIn addition, mere aggregation of another work not based on the Program with the 167*4882a593SmuzhiyunProgram (or with a work based on the Program) on a volume of a storage or 168*4882a593Smuzhiyundistribution medium does not bring the other work under the scope of this 169*4882a593SmuzhiyunLicense. 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun3. You may copy and distribute the Program (or a work based on it, under 172*4882a593SmuzhiyunSection 2) in object code or executable form under the terms of Sections 1 and 173*4882a593Smuzhiyun2 above provided that you also do one of the following: 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun a) Accompany it with the complete corresponding machine-readable source 176*4882a593Smuzhiyun code, which must be distributed under the terms of Sections 1 and 2 above 177*4882a593Smuzhiyun on a medium customarily used for software interchange; or, 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun b) Accompany it with a written offer, valid for at least three years, to 180*4882a593Smuzhiyun give any third party, for a charge no more than your cost of physically 181*4882a593Smuzhiyun performing source distribution, a complete machine-readable copy of the 182*4882a593Smuzhiyun corresponding source code, to be distributed under the terms of Sections 1 183*4882a593Smuzhiyun and 2 above on a medium customarily used for software interchange; or, 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun c) Accompany it with the information you received as to the offer to 186*4882a593Smuzhiyun distribute corresponding source code. (This alternative is allowed only 187*4882a593Smuzhiyun for noncommercial distribution and only if you received the program in 188*4882a593Smuzhiyun object code or executable form with such an offer, in accord with 189*4882a593Smuzhiyun Subsection b above.) 190*4882a593Smuzhiyun 191*4882a593SmuzhiyunThe source code for a work means the preferred form of the work for making 192*4882a593Smuzhiyunmodifications to it. For an executable work, complete source code means all 193*4882a593Smuzhiyunthe source code for all modules it contains, plus any associated interface 194*4882a593Smuzhiyundefinition files, plus the scripts used to control compilation and installation 195*4882a593Smuzhiyunof the executable. However, as a special exception, the source code 196*4882a593Smuzhiyundistributed need not include anything that is normally distributed (in either 197*4882a593Smuzhiyunsource or binary form) with the major components (compiler, kernel, and so on) 198*4882a593Smuzhiyunof the operating system on which the executable runs, unless that component 199*4882a593Smuzhiyunitself accompanies the executable. 200*4882a593Smuzhiyun 201*4882a593SmuzhiyunIf distribution of executable or object code is made by offering access to copy 202*4882a593Smuzhiyunfrom a designated place, then offering equivalent access to copy the source 203*4882a593Smuzhiyuncode from the same place counts as distribution of the source code, even though 204*4882a593Smuzhiyunthird parties are not compelled to copy the source along with the object code. 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun4. You may not copy, modify, sublicense, or distribute the Program except as 207*4882a593Smuzhiyunexpressly provided under this License. Any attempt otherwise to copy, modify, 208*4882a593Smuzhiyunsublicense or distribute the Program is void, and will automatically terminate 209*4882a593Smuzhiyunyour rights under this License. However, parties who have received copies, or 210*4882a593Smuzhiyunrights, from you under this License will not have their licenses terminated so 211*4882a593Smuzhiyunlong as such parties remain in full compliance. 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun5. You are not required to accept this License, since you have not signed it. 214*4882a593SmuzhiyunHowever, nothing else grants you permission to modify or distribute the Program 215*4882a593Smuzhiyunor its derivative works. These actions are prohibited by law if you do not 216*4882a593Smuzhiyunaccept this License. Therefore, by modifying or distributing the Program (or 217*4882a593Smuzhiyunany work based on the Program), you indicate your acceptance of this License to 218*4882a593Smuzhiyundo so, and all its terms and conditions for copying, distributing or modifying 219*4882a593Smuzhiyunthe Program or works based on it. 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun6. Each time you redistribute the Program (or any work based on the Program), 222*4882a593Smuzhiyunthe recipient automatically receives a license from the original licensor to 223*4882a593Smuzhiyuncopy, distribute or modify the Program subject to these terms and conditions. 224*4882a593SmuzhiyunYou may not impose any further restrictions on the recipients' exercise of the 225*4882a593Smuzhiyunrights granted herein. You are not responsible for enforcing compliance by 226*4882a593Smuzhiyunthird parties to this License. 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun7. If, as a consequence of a court judgment or allegation of patent 229*4882a593Smuzhiyuninfringement or for any other reason (not limited to patent issues), conditions 230*4882a593Smuzhiyunare imposed on you (whether by court order, agreement or otherwise) that 231*4882a593Smuzhiyuncontradict the conditions of this License, they do not excuse you from the 232*4882a593Smuzhiyunconditions of this License. If you cannot distribute so as to satisfy 233*4882a593Smuzhiyunsimultaneously your obligations under this License and any other pertinent 234*4882a593Smuzhiyunobligations, then as a consequence you may not distribute the Program at all. 235*4882a593SmuzhiyunFor example, if a patent license would not permit royalty-free redistribution 236*4882a593Smuzhiyunof the Program by all those who receive copies directly or indirectly through 237*4882a593Smuzhiyunyou, then the only way you could satisfy both it and this License would be to 238*4882a593Smuzhiyunrefrain entirely from distribution of the Program. 239*4882a593Smuzhiyun 240*4882a593SmuzhiyunIf any portion of this section is held invalid or unenforceable under any 241*4882a593Smuzhiyunparticular circumstance, the balance of the section is intended to apply and 242*4882a593Smuzhiyunthe section as a whole is intended to apply in other circumstances. 243*4882a593Smuzhiyun 244*4882a593SmuzhiyunIt is not the purpose of this section to induce you to infringe any patents or 245*4882a593Smuzhiyunother property right claims or to contest validity of any such claims; this 246*4882a593Smuzhiyunsection has the sole purpose of protecting the integrity of the free software 247*4882a593Smuzhiyundistribution system, which is implemented by public license practices. Many 248*4882a593Smuzhiyunpeople have made generous contributions to the wide range of software 249*4882a593Smuzhiyundistributed through that system in reliance on consistent application of that 250*4882a593Smuzhiyunsystem; it is up to the author/donor to decide if he or she is willing to 251*4882a593Smuzhiyundistribute software through any other system and a licensee cannot impose that 252*4882a593Smuzhiyunchoice. 253*4882a593Smuzhiyun 254*4882a593SmuzhiyunThis section is intended to make thoroughly clear what is believed to be a 255*4882a593Smuzhiyunconsequence of the rest of this License. 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun8. If the distribution and/or use of the Program is restricted in certain 258*4882a593Smuzhiyuncountries either by patents or by copyrighted interfaces, the original 259*4882a593Smuzhiyuncopyright holder who places the Program under this License may add an explicit 260*4882a593Smuzhiyungeographical distribution limitation excluding those countries, so that 261*4882a593Smuzhiyundistribution is permitted only in or among countries not thus excluded. In 262*4882a593Smuzhiyunsuch case, this License incorporates the limitation as if written in the body 263*4882a593Smuzhiyunof this License. 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun9. The Free Software Foundation may publish revised and/or new versions of the 266*4882a593SmuzhiyunGeneral Public License from time to time. Such new versions will be similar in 267*4882a593Smuzhiyunspirit to the present version, but may differ in detail to address new problems 268*4882a593Smuzhiyunor concerns. 269*4882a593Smuzhiyun 270*4882a593SmuzhiyunEach version is given a distinguishing version number. If the Program 271*4882a593Smuzhiyunspecifies a version number of this License which applies to it and "any later 272*4882a593Smuzhiyunversion", you have the option of following the terms and conditions either of 273*4882a593Smuzhiyunthat version or of any later version published by the Free Software Foundation. 274*4882a593SmuzhiyunIf the Program does not specify a version number of this License, you may 275*4882a593Smuzhiyunchoose any version ever published by the Free Software Foundation. 276*4882a593Smuzhiyun 277*4882a593Smuzhiyun10. If you wish to incorporate parts of the Program into other free programs 278*4882a593Smuzhiyunwhose distribution conditions are different, write to the author to ask for 279*4882a593Smuzhiyunpermission. For software which is copyrighted by the Free Software Foundation, 280*4882a593Smuzhiyunwrite to the Free Software Foundation; we sometimes make exceptions for this. 281*4882a593SmuzhiyunOur decision will be guided by the two goals of preserving the free status of 282*4882a593Smuzhiyunall derivatives of our free software and of promoting the sharing and reuse of 283*4882a593Smuzhiyunsoftware generally. 284*4882a593Smuzhiyun 285*4882a593SmuzhiyunNO WARRANTY 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR 288*4882a593SmuzhiyunTHE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE 289*4882a593SmuzhiyunSTATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE 290*4882a593SmuzhiyunPROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, 291*4882a593SmuzhiyunINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 292*4882a593SmuzhiyunFITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND 293*4882a593SmuzhiyunPERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, 294*4882a593SmuzhiyunYOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL 297*4882a593SmuzhiyunANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE 298*4882a593SmuzhiyunPROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 299*4882a593SmuzhiyunGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR 300*4882a593SmuzhiyunINABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA 301*4882a593SmuzhiyunBEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 302*4882a593SmuzhiyunFAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER 303*4882a593SmuzhiyunOR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 304*4882a593Smuzhiyun 305*4882a593SmuzhiyunEND OF TERMS AND CONDITIONS 306*4882a593Smuzhiyun 307*4882a593SmuzhiyunHow to Apply These Terms to Your New Programs 308*4882a593Smuzhiyun 309*4882a593SmuzhiyunIf you develop a new program, and you want it to be of the greatest possible 310*4882a593Smuzhiyunuse to the public, the best way to achieve this is to make it free software 311*4882a593Smuzhiyunwhich everyone can redistribute and change under these terms. 312*4882a593Smuzhiyun 313*4882a593SmuzhiyunTo do so, attach the following notices to the program. It is safest to attach 314*4882a593Smuzhiyunthem to the start of each source file to most effectively convey the exclusion 315*4882a593Smuzhiyunof warranty; and each file should have at least the "copyright" line and a 316*4882a593Smuzhiyunpointer to where the full notice is found. 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun One line to give the program's name and a brief idea of what it does. 319*4882a593Smuzhiyun 320*4882a593Smuzhiyun Copyright (C) <year> <name of author> 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun This program is free software; you can redistribute it and/or modify it 323*4882a593Smuzhiyun under the terms of the GNU General Public License as published by the Free 324*4882a593Smuzhiyun Software Foundation; either version 2 of the License, or (at your option) 325*4882a593Smuzhiyun any later version. 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun This program is distributed in the hope that it will be useful, but WITHOUT 328*4882a593Smuzhiyun ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 329*4882a593Smuzhiyun FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 330*4882a593Smuzhiyun more details. 331*4882a593Smuzhiyun 332*4882a593Smuzhiyun You should have received a copy of the GNU General Public License along 333*4882a593Smuzhiyun with this program; if not, write to the Free Software Foundation, Inc., 59 334*4882a593Smuzhiyun Temple Place, Suite 330, Boston, MA 02111-1307 USA 335*4882a593Smuzhiyun 336*4882a593SmuzhiyunAlso add information on how to contact you by electronic and paper mail. 337*4882a593Smuzhiyun 338*4882a593SmuzhiyunIf the program is interactive, make it output a short notice like this when it 339*4882a593Smuzhiyunstarts in an interactive mode: 340*4882a593Smuzhiyun 341*4882a593Smuzhiyun Gnomovision version 69, Copyright (C) year name of author Gnomovision comes 342*4882a593Smuzhiyun with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free 343*4882a593Smuzhiyun software, and you are welcome to redistribute it under certain conditions; 344*4882a593Smuzhiyun type 'show c' for details. 345*4882a593Smuzhiyun 346*4882a593SmuzhiyunThe hypothetical commands 'show w' and 'show c' should show the appropriate 347*4882a593Smuzhiyunparts of the General Public License. Of course, the commands you use may be 348*4882a593Smuzhiyuncalled something other than 'show w' and 'show c'; they could even be 349*4882a593Smuzhiyunmouse-clicks or menu items--whatever suits your program. 350*4882a593Smuzhiyun 351*4882a593SmuzhiyunYou should also get your employer (if you work as a programmer) or your school, 352*4882a593Smuzhiyunif any, to sign a "copyright disclaimer" for the program, if necessary. Here 353*4882a593Smuzhiyunis a sample; alter the names: 354*4882a593Smuzhiyun 355*4882a593Smuzhiyun Yoyodyne, Inc., hereby disclaims all copyright interest in the program 356*4882a593Smuzhiyun 'Gnomovision' (which makes passes at compilers) written by James Hacker. 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun signature of Ty Coon, 1 April 1989 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun Ty Coon, President of Vice 361*4882a593Smuzhiyun 362*4882a593SmuzhiyunThis General Public License does not permit incorporating your program into 363*4882a593Smuzhiyunproprietary programs. If your program is a subroutine library, you may 364*4882a593Smuzhiyunconsider it more useful to permit linking proprietary applications with the 365*4882a593Smuzhiyunlibrary. If this is what you want to do, use the GNU Library General Public 366*4882a593SmuzhiyunLicense instead of this License. 367*4882a593Smuzhiyun 368*4882a593Smuzhiyun 369*4882a593Smuzhiyun"CLASSPATH" EXCEPTION TO THE GPL 370*4882a593Smuzhiyun 371*4882a593SmuzhiyunCertain source files distributed by Oracle America and/or its affiliates are 372*4882a593Smuzhiyunsubject to the following clarification and special exception to the GPL, but 373*4882a593Smuzhiyunonly where Oracle has expressly included in the particular source file's header 374*4882a593Smuzhiyunthe words "Oracle designates this particular file as subject to the "Classpath" 375*4882a593Smuzhiyunexception as provided by Oracle in the LICENSE file that accompanied this code." 376*4882a593Smuzhiyun 377*4882a593Smuzhiyun Linking this library statically or dynamically with other modules is making 378*4882a593Smuzhiyun a combined work based on this library. Thus, the terms and conditions of 379*4882a593Smuzhiyun the GNU General Public License cover the whole combination. 380*4882a593Smuzhiyun 381*4882a593Smuzhiyun As a special exception, the copyright holders of this library give you 382*4882a593Smuzhiyun permission to link this library with independent modules to produce an 383*4882a593Smuzhiyun executable, regardless of the license terms of these independent modules, 384*4882a593Smuzhiyun and to copy and distribute the resulting executable under terms of your 385*4882a593Smuzhiyun choice, provided that you also meet, for each linked independent module, 386*4882a593Smuzhiyun the terms and conditions of the license of that module. An independent 387*4882a593Smuzhiyun module is a module which is not derived from or based on this library. If 388*4882a593Smuzhiyun you modify this library, you may extend this exception to your version of 389*4882a593Smuzhiyun the library, but you are not obligated to do so. If you do not wish to do 390*4882a593Smuzhiyun so, delete this exception statement from your version. 391*4882a593Smuzhiyun 392*4882a593Smuzhiyun=========================================================================== 393*4882a593Smuzhiyun 394*4882a593SmuzhiyunMIT License: 395*4882a593Smuzhiyun 396*4882a593SmuzhiyunPermission is hereby granted, free of charge, to any person obtaining a copy 397*4882a593Smuzhiyunof this software and associated documentation files (the "Software"), to deal 398*4882a593Smuzhiyunin the Software without restriction, including without limitation the rights 399*4882a593Smuzhiyunto use, copy, modify, merge, publish, distribute, sublicense, and/or sell 400*4882a593Smuzhiyuncopies of the Software, and to permit persons to whom the Software is 401*4882a593Smuzhiyunfurnished to do so, subject to the following conditions: 402*4882a593Smuzhiyun 403*4882a593SmuzhiyunThe above copyright notice and this permission notice shall be included in 404*4882a593Smuzhiyunall copies or substantial portions of the Software. 405*4882a593Smuzhiyun 406*4882a593SmuzhiyunTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 407*4882a593SmuzhiyunIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 408*4882a593SmuzhiyunFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 409*4882a593SmuzhiyunAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 410*4882a593SmuzhiyunLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 411*4882a593SmuzhiyunOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 412*4882a593SmuzhiyunTHE SOFTWARE. 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun=========================================================================== 415