1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
GNU GENERAL PUBLIC LICENSE=0A=0AVersion 2, June 1991=0A=0ACopyright (C) 1=
989, 1991 Free Software Foundation, Inc. =20=0A59 Temple Place - Suite 33=
0, Boston, MA 02111-1307, USA=0A=0AEveryone is permitted to copy and dis=
tribute verbatim copies=0Aof this license document, but changing it is no=
t allowed.=0A=0APreamble=0A=0AThe licenses for most software are designed=
to take away your freedom to share and change it. By contrast, the GNU G=
eneral Public License is intended to guarantee your freedom to share and =
change free software--to make sure the software is free for all its users=
=2E This General Public License applies to most of the Free Software Foun=
dation's software and to any other program whose authors commit to using =
it. (Some other Free Software Foundation software is covered by the GNU L=
ibrary General Public License instead.) You can apply it to your programs=
, too.=0A=0AWhen we speak of free software, we are referring to freedom, =
not price. Our General Public Licenses are designed to make sure that you=
have the freedom to distribute copies of free software (and charge for t=
his service if you wish), that you receive source code or can get it if y=
ou want it, that you can change the software or use pieces of it in new f=
ree programs; and that you know you can do these things.=0A=0ATo protect =
your rights, we need to make restrictions that forbid anyone to deny you =
these rights or to ask you to surrender the rights. These restrictions tr=
anslate to certain responsibilities for you if you distribute copies of t=
he software, or if you modify it.=0A=0AFor example, if you distribute cop=
ies of such a program, whether gratis or for a fee, you must give the rec=
ipients all the rights that you have. You must make sure that they, too, =
receive or can get the source code. And you must show them these terms so=
they know their rights.=0A=0AWe protect your rights with two steps: (1) =
copyright the software, and (2) offer you this license which gives you le=
gal permission to copy, distribute and/or modify the software.=0A=0AAlso,=
for each author's protection and ours, we want to make certain that ever=
yone understands that there is no warranty for this free software. If the=
software is modified by someone else and passed on, we want its recipien=
ts to know that what they have is not the original, so that any problems =
introduced by others will not reflect on the original authors' reputation=
s.=0A=0AFinally, any free program is threatened constantly by software pa=
tents. We wish to avoid the danger that redistributors of a free program =
will individually obtain patent licenses, in effect making the program pr=
oprietary. To prevent this, we have made it clear that any patent must be=
licensed for everyone's free use or not licensed at all.=0A=0AThe precis=
e terms and conditions for copying, distribution and modification follow.=
=0A=0ATERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION=0A=0A=
0. This License applies to any program or other work which contains a not=
ice placed by the copyright holder saying it may be distributed under the=
terms of this General Public License. The "Program", below, refers to an=
y such program or work, and a "work based on the Program" means either th=
e Program or any derivative work under copyright law: that is to say, a w=
ork containing the Program or a portion of it, either verbatim or with mo=
difications and/or translated into another language. (Hereinafter, transl=
ation is included without limitation in the term "modification".) Each li=
censee is addressed as "you".=0A=0AActivities other than copying, distrib=
ution and modification are not covered by this License; they are outside =
its scope. The act of running the Program is not restricted, and the outp=
ut from the Program is covered only if its contents constitute a work bas=
ed on the Program (independent of having been made by running the Program=
). Whether that is true depends on what the Program does.=0A=0A1. You may=
copy and distribute verbatim copies of the Program's source code as you =
receive it, in any medium, provided that you conspicuously and appropriat=
ely publish on each copy an appropriate copyright notice and disclaimer o=
f warranty; keep intact all the notices that refer to this License and to=
the absence of any warranty; and give any other recipients of the Progra=
m a copy of this License along with the Program.=0A=0AYou may charge a fe=
e for the physical act of transferring a copy, and you may at your option=
offer warranty protection in exchange for a fee.=0A=0A2. You may modify =
your copy or copies of the Program or any portion of it, thus forming a w=
ork based on the Program, and copy and distribute such modifications or w=
ork under the terms of Section 1 above, provided that you also meet all o=
f these conditions:=0A=0A * a) You must cause the modified files to ca=
rry prominent notices stating that you changed the files and the date of =
any change.=0A=0A * b) You must cause any work that you distribute or =
publish, that in whole or in part contains or is derived from the Program=
or any part thereof, to be licensed as a whole at no charge to all third=
parties under the terms of this License.=0A=0A * c) If the modified p=
rogram normally reads commands interactively when run, you must cause it,=
when started running for such interactive use in the most ordinary way, =
to print or display an announcement including an appropriate copyright no=
tice and a notice that there is no warranty (or else, saying that you pro=
vide a warranty) and that users may redistribute the program under these =
conditions, and telling the user how to view a copy of this License. (Exc=
eption: if the Program itself is interactive but does not normally print =
such an announcement, your work based on the Program is not required to p=
rint an announcement.)=20=0A=0AThese requirements apply to the modified w=
ork as a whole. If identifiable sections of that work are not derived fro=
m the Program, and can be reasonably considered independent and separate =
works in themselves, then this License, and its terms, do not apply to th=
ose sections when you distribute them as separate works. But when you dis=
tribute the same sections as part of a whole which is a work based on the=
Program, the distribution of the whole must be on the terms of this Lice=
nse, whose permissions for other licensees extend to the entire whole, an=
d thus to each and every part regardless of who wrote it.=0A=0AThus, it i=
s not the intent of this section to claim rights or contest your rights t=
o work written entirely by you; rather, the intent is to exercise the rig=
ht to control the distribution of derivative or collective works based on=
the Program.=0A=0AIn addition, mere aggregation of another work not base=
d on the Program with the Program (or with a work based on the Program) o=
n a volume of a storage or distribution medium does not bring the other w=
ork under the scope of this License.=0A=0A3. You may copy and distribute =
the Program (or a work based on it, under Section 2) in object code or ex=
ecutable form under the terms of Sections 1 and 2 above provided that you=
also do one of the following:=0A=0A * a) Accompany it with the comple=
te corresponding machine-readable source code, which must be distributed =
under the terms of Sections 1 and 2 above on a medium customarily used fo=
r software interchange; or,=0A=0A * b) Accompany it with a written off=
er, valid for at least three years, to give any third party, for a charge=
no more than your cost of physically performing source distribution, a c=
omplete machine-readable copy of the corresponding source code, to be dis=
tributed under the terms of Sections 1 and 2 above on a medium customaril=
y used for software interchange; or,=0A=0A * c) Accompany it with the =
information you received as to the offer to distribute corresponding sour=
ce code. (This alternative is allowed only for noncommercial distribution=
and only if you received the program in object code or executable form w=
ith such an offer, in accord with Subsection b above.)=20=0A=0AThe source=
code for a work means the preferred form of the work for making modifica=
tions to it. For an executable work, complete source code means all the s=
ource code for all modules it contains, plus any associated interface def=
inition files, plus the scripts used to control compilation and installat=
ion of the executable. However, as a special exception, the source code d=
istributed need not include anything that is normally distributed (in eit=
her source or binary form) with the major components (compiler, kernel, a=
nd so on) of the operating system on which the executable runs, unless th=
at component itself accompanies the executable.=0A=0AIf distribution of e=
xecutable or object code is made by offering access to copy from a design=
ated place, then offering equivalent access to copy the source code from =
the same place counts as distribution of the source code, even though thi=
rd parties are not compelled to copy the source along with the object cod=
e.=0A=0A4. You may not copy, modify, sublicense, or distribute the Progra=
m except as expressly provided under this License. Any attempt otherwise =
to copy, modify, sublicense or distribute the Program is void, and will a=
utomatically terminate your rights under this License. However, parties w=
ho have received copies, or rights, from you under this License will not =
have their licenses terminated so long as such parties remain in full com=
pliance.=0A=0A5. You are not required to accept this License, since you h=
ave not signed it. However, nothing else grants you permission to modify =
or distribute the Program or its derivative works. These actions are proh=
ibited by law if you do not accept this License. Therefore, by modifying =
or distributing the Program (or any work based on the Program), you indic=
ate your acceptance of this License to do so, and all its terms and condi=
tions for copying, distributing or modifying the Program or works based o=
n it.=0A=0A6. Each time you redistribute the Program (or any work based o=
n the Program), the recipient automatically receives a license from the o=
riginal licensor to copy, distribute or modify the Program subject to the=
se terms and conditions. You may not impose any further restrictions on t=
he recipients' exercise of the rights granted herein. You are not respons=
ible for enforcing compliance by third parties to this License.=0A=0A7. I=
f, as a consequence of a court judgment or allegation of patent infringem=
ent or for any other reason (not limited to patent issues), conditions ar=
e imposed on you (whether by court order, agreement or otherwise) that co=
ntradict the conditions of this License, they do not excuse you from the =
conditions of this License. If you cannot distribute so as to satisfy sim=
ultaneously your obligations under this License and any other pertinent o=
bligations, then as a consequence you may not distribute the Program at a=
ll. For example, if a patent license would not permit royalty-free redist=
ribution of the Program by all those who receive copies directly or indir=
ectly through you, then the only way you could satisfy both it and this L=
icense would be to refrain entirely from distribution of the Program.=0A=0A=
If any portion of this section is held invalid or unenforceable under any=
particular circumstance, the balance of the section is intended to apply=
and the section as a whole is intended to apply in other circumstances.=0A=
=0AIt is not the purpose of this section to induce you to infringe any pa=
tents or other property right claims or to contest validity of any such c=
laims; this section has the sole purpose of protecting the integrity of t=
he free software distribution system, which is implemented by public lice=
nse practices. Many people have made generous contributions to the wide r=
ange of software distributed through that system in reliance on consisten=
t application of that system; it is up to the author/donor to decide if h=
e or she is willing to distribute software through any other system and a=
licensee cannot impose that choice.=0A=0AThis section is intended to mak=
e thoroughly clear what is believed to be a consequence of the rest of th=
is License.=0A=0A8. If the distribution and/or use of the Program is rest=
ricted in certain countries either by patents or by copyrighted interface=
s, the original copyright holder who places the Program under this Licens=
e may add an explicit geographical distribution limitation excluding thos=
e countries, so that distribution is permitted only in or among countries=
not thus excluded. In such case, this License incorporates the limitatio=
n as if written in the body of this License.=0A=0A9. The Free Software Fo=
undation may publish revised and/or new versions of the General Public Li=
cense from time to time. Such new versions will be similar in spirit to t=
he present version, but may differ in detail to address new problems or c=
oncerns.=0A=0AEach version is given a distinguishing version number. If t=
he Program specifies a version number of this License which applies to it=
and "any later version", you have the option of following the terms and =
conditions either of that version or of any later version published by th=
e Free Software Foundation. If the Program does not specify a version num=
ber of this License, you may choose any version ever published by the Fre=
e Software Foundation.=0A=0A10. If you wish to incorporate parts of the P=
rogram into other free programs whose distribution conditions are differe=
nt, write to the author to ask for permission. For software which is copy=
righted by the Free Software Foundation, write to the Free Software Found=
ation; we sometimes make exceptions for this. Our decision will be guided=
by the two goals of preserving the free status of all derivatives of our=
free software and of promoting the sharing and reuse of software general=
ly.=0A=0ANO WARRANTY=0A=0A11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHA=
RGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APP=
LICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER=
S AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF AN=
Y KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE I=
MPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE=
=2E THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS W=
ITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL N=
ECESSARY SERVICING, REPAIR OR CORRECTION.=0A=0A12. IN NO EVENT UNLESS REQ=
UIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER=
, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PE=
RMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECI=
AL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILI=
TY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA =
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR =
A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUC=
H HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAG=
ES.=0A=0AEND OF TERMS AND CONDITIONS=0A=0AHow to Apply These Terms to You=
r New Programs=0A=0AIf you develop a new program, and you want it to be o=
f the greatest possible use to the public, the best way to achieve this i=
s to make it free software which everyone can redistribute and change und=
er these terms.=0A=0ATo do so, attach the following notices to the progra=
m. It is safest to attach them to the start of each source file to most e=
ffectively convey the exclusion of warranty; and each file should have at=
least the "copyright" line and a pointer to where the full notice is fou=
nd.=0A=0A=09one line to give the program's name and an idea of what it do=
es.=0A=09Copyright (C) yyyy name of author=0A=0A=09This program is free =
software; you can redistribute it and/or=0A=09modify it under the terms o=
f the GNU General Public License=0A=09as published by the Free Software F=
oundation; either version 2=0A=09of the License, or (at your option) any =
later version.=0A=0A=09This program is distributed in the hope that it wi=
ll be useful,=0A=09but WITHOUT ANY WARRANTY; without even the implied war=
ranty of=0A=09MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See t=
he=0A=09GNU General Public License for more details.=0A=0A=09You should h=
ave received a copy of the GNU General Public License=0A=09along with thi=
s program; if not, write to the Free Software=0A=09Foundation, Inc., 59 T=
emple Place - Suite 330, Boston, MA 02111-1307, USA.=0A=0AAlso add infor=
mation on how to contact you by electronic and paper mail.=0A=0AIf the pr=
ogram is interactive, make it output a short notice like this when it sta=
rts in an interactive mode:=0A=0A=09Gnomovision version 69, Copyright (C)=
year name of author=0A=09Gnomovision comes with ABSOLUTELY NO WARRANTY; =
for details=0A=09type `show w'. This is free software, and you are welco=
me=0A=09to redistribute it under certain conditions; type `show c'=20=0A=09=
for details.=0A=0AThe hypothetical commands `show w' and `show c' should =
show the appropriate parts of the General Public License. Of course, the =
commands you use may be called something other than `show w' and `show c'=
; they could even be mouse-clicks or menu items--whatever suits your prog=
ram.=0A=0AYou should also get your employer (if you work as a programmer)=
or your school, if any, to sign a "copyright disclaimer" for the program=
, if necessary. Here is a sample; alter the names:=0A=0A=09Yoyodyne, Inc.=
, hereby disclaims all copyright=0A=09interest in the program `Gnomovisio=
n'=0A=09(which makes passes at compilers) written=20=0A=09by James Hacker=
=2E=0A=0A=09signature of Ty Coon, 1 April 1989=0A=09Ty Coon, President of=
Vice=0A=0AThis General Public License does not permit incorporating your=
program into proprietary programs. If your program is a subroutine libra=
ry, you may consider it more useful to permit linking proprietary applica=
tions with the library. If this is what you want to do, use the GNU Lesse=
r General Public License instead of this License.=0A
|