L4Re/departure

Annotated libext2fs/NOTICE

391:bc65615a8fed
2022-06-30 Paul Boddie Added missing structure members. mmap-region-flags
paul@181 1
This package, the EXT2 filesystem utilities, are made available under
paul@181 2
the GNU Public License version 2, with the exception of the lib/ext2fs
paul@181 3
and lib/e2p libraries, which are made available under the GNU Library
paul@181 4
General Public License Version 2, the lib/uuid library which is made
paul@181 5
available under a BSD-style license and the lib/et and lib/ss
paul@181 6
libraries which are made available under an MIT-style license.  Please
paul@181 7
see lib/uuid/COPYING for more details for the license for the files
paul@181 8
comprising the libuuid library, and the source file headers of the
paul@181 9
libet and libss libraries for more information.
paul@181 10
paul@181 11
The most recent officially distributed version can be found at
paul@181 12
http://e2fsprogs.sourceforge.net.  If you need to make a distribution,
paul@181 13
that's the one you should use.  If there is some reason why you'd like
paul@181 14
a more recent version that is still in ALPHA testing (i.e., either
paul@181 15
using the "WIP" test distributions or one from the hg or git
paul@181 16
repository from the development branch, please contact me
paul@181 17
(tytso@mit.edu) before you ship.  The release schedules for this
paul@181 18
package are flexible, if you give me enough lead time.
paul@181 19
paul@181 20
paul@181 21
					Theodore Ts'o
paul@181 22
					23-June-2007
paul@181 23
paul@181 24
----------------------------------------------------------------------
paul@181 25
paul@181 26
		    GNU GENERAL PUBLIC LICENSE
paul@181 27
		       Version 2, June 1991
paul@181 28
paul@181 29
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
paul@181 30
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
paul@181 31
 Everyone is permitted to copy and distribute verbatim copies
paul@181 32
 of this license document, but changing it is not allowed.
paul@181 33
paul@181 34
			    Preamble
paul@181 35
paul@181 36
  The licenses for most software are designed to take away your
paul@181 37
freedom to share and change it.  By contrast, the GNU General Public
paul@181 38
License is intended to guarantee your freedom to share and change free
paul@181 39
software--to make sure the software is free for all its users.  This
paul@181 40
General Public License applies to most of the Free Software
paul@181 41
Foundation's software and to any other program whose authors commit to
paul@181 42
using it.  (Some other Free Software Foundation software is covered by
paul@181 43
the GNU Library General Public License instead.)  You can apply it to
paul@181 44
your programs, too.
paul@181 45
paul@181 46
  When we speak of free software, we are referring to freedom, not
paul@181 47
price.  Our General Public Licenses are designed to make sure that you
paul@181 48
have the freedom to distribute copies of free software (and charge for
paul@181 49
this service if you wish), that you receive source code or can get it
paul@181 50
if you want it, that you can change the software or use pieces of it
paul@181 51
in new free programs; and that you know you can do these things.
paul@181 52
paul@181 53
  To protect your rights, we need to make restrictions that forbid
paul@181 54
anyone to deny you these rights or to ask you to surrender the rights.
paul@181 55
These restrictions translate to certain responsibilities for you if you
paul@181 56
distribute copies of the software, or if you modify it.
paul@181 57
paul@181 58
  For example, if you distribute copies of such a program, whether
paul@181 59
gratis or for a fee, you must give the recipients all the rights that
paul@181 60
you have.  You must make sure that they, too, receive or can get the
paul@181 61
source code.  And you must show them these terms so they know their
paul@181 62
rights.
paul@181 63
paul@181 64
  We protect your rights with two steps: (1) copyright the software, and
paul@181 65
(2) offer you this license which gives you legal permission to copy,
paul@181 66
distribute and/or modify the software.
paul@181 67
paul@181 68
  Also, for each author's protection and ours, we want to make certain
paul@181 69
that everyone understands that there is no warranty for this free
paul@181 70
software.  If the software is modified by someone else and passed on, we
paul@181 71
want its recipients to know that what they have is not the original, so
paul@181 72
that any problems introduced by others will not reflect on the original
paul@181 73
authors' reputations.
paul@181 74
paul@181 75
  Finally, any free program is threatened constantly by software
paul@181 76
patents.  We wish to avoid the danger that redistributors of a free
paul@181 77
program will individually obtain patent licenses, in effect making the
paul@181 78
program proprietary.  To prevent this, we have made it clear that any
paul@181 79
patent must be licensed for everyone's free use or not licensed at all.
paul@181 80
paul@181 81
  The precise terms and conditions for copying, distribution and
paul@181 82
modification follow.
paul@181 83
paul@181 84
		    GNU GENERAL PUBLIC LICENSE
paul@181 85
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
paul@181 86
paul@181 87
  0. This License applies to any program or other work which contains
paul@181 88
a notice placed by the copyright holder saying it may be distributed
paul@181 89
under the terms of this General Public License.  The "Program", below,
paul@181 90
refers to any such program or work, and a "work based on the Program"
paul@181 91
means either the Program or any derivative work under copyright law:
paul@181 92
that is to say, a work containing the Program or a portion of it,
paul@181 93
either verbatim or with modifications and/or translated into another
paul@181 94
language.  (Hereinafter, translation is included without limitation in
paul@181 95
the term "modification".)  Each licensee is addressed as "you".
paul@181 96
paul@181 97
Activities other than copying, distribution and modification are not
paul@181 98
covered by this License; they are outside its scope.  The act of
paul@181 99
running the Program is not restricted, and the output from the Program
paul@181 100
is covered only if its contents constitute a work based on the
paul@181 101
Program (independent of having been made by running the Program).
paul@181 102
Whether that is true depends on what the Program does.
paul@181 103
paul@181 104
  1. You may copy and distribute verbatim copies of the Program's
paul@181 105
source code as you receive it, in any medium, provided that you
paul@181 106
conspicuously and appropriately publish on each copy an appropriate
paul@181 107
copyright notice and disclaimer of warranty; keep intact all the
paul@181 108
notices that refer to this License and to the absence of any warranty;
paul@181 109
and give any other recipients of the Program a copy of this License
paul@181 110
along with the Program.
paul@181 111
paul@181 112
You may charge a fee for the physical act of transferring a copy, and
paul@181 113
you may at your option offer warranty protection in exchange for a fee.
paul@181 114
paul@181 115
  2. You may modify your copy or copies of the Program or any portion
paul@181 116
of it, thus forming a work based on the Program, and copy and
paul@181 117
distribute such modifications or work under the terms of Section 1
paul@181 118
above, provided that you also meet all of these conditions:
paul@181 119
paul@181 120
    a) You must cause the modified files to carry prominent notices
paul@181 121
    stating that you changed the files and the date of any change.
paul@181 122
paul@181 123
    b) You must cause any work that you distribute or publish, that in
paul@181 124
    whole or in part contains or is derived from the Program or any
paul@181 125
    part thereof, to be licensed as a whole at no charge to all third
paul@181 126
    parties under the terms of this License.
paul@181 127
paul@181 128
    c) If the modified program normally reads commands interactively
paul@181 129
    when run, you must cause it, when started running for such
paul@181 130
    interactive use in the most ordinary way, to print or display an
paul@181 131
    announcement including an appropriate copyright notice and a
paul@181 132
    notice that there is no warranty (or else, saying that you provide
paul@181 133
    a warranty) and that users may redistribute the program under
paul@181 134
    these conditions, and telling the user how to view a copy of this
paul@181 135
    License.  (Exception: if the Program itself is interactive but
paul@181 136
    does not normally print such an announcement, your work based on
paul@181 137
    the Program is not required to print an announcement.)
paul@181 138
paul@181 139
These requirements apply to the modified work as a whole.  If
paul@181 140
identifiable sections of that work are not derived from the Program,
paul@181 141
and can be reasonably considered independent and separate works in
paul@181 142
themselves, then this License, and its terms, do not apply to those
paul@181 143
sections when you distribute them as separate works.  But when you
paul@181 144
distribute the same sections as part of a whole which is a work based
paul@181 145
on the Program, the distribution of the whole must be on the terms of
paul@181 146
this License, whose permissions for other licensees extend to the
paul@181 147
entire whole, and thus to each and every part regardless of who wrote it.
paul@181 148
paul@181 149
Thus, it is not the intent of this section to claim rights or contest
paul@181 150
your rights to work written entirely by you; rather, the intent is to
paul@181 151
exercise the right to control the distribution of derivative or
paul@181 152
collective works based on the Program.
paul@181 153
paul@181 154
In addition, mere aggregation of another work not based on the Program
paul@181 155
with the Program (or with a work based on the Program) on a volume of
paul@181 156
a storage or distribution medium does not bring the other work under
paul@181 157
the scope of this License.
paul@181 158
paul@181 159
  3. You may copy and distribute the Program (or a work based on it,
paul@181 160
under Section 2) in object code or executable form under the terms of
paul@181 161
Sections 1 and 2 above provided that you also do one of the following:
paul@181 162
paul@181 163
    a) Accompany it with the complete corresponding machine-readable
paul@181 164
    source code, which must be distributed under the terms of Sections
paul@181 165
    1 and 2 above on a medium customarily used for software interchange; or,
paul@181 166
paul@181 167
    b) Accompany it with a written offer, valid for at least three
paul@181 168
    years, to give any third party, for a charge no more than your
paul@181 169
    cost of physically performing source distribution, a complete
paul@181 170
    machine-readable copy of the corresponding source code, to be
paul@181 171
    distributed under the terms of Sections 1 and 2 above on a medium
paul@181 172
    customarily used for software interchange; or,
paul@181 173
paul@181 174
    c) Accompany it with the information you received as to the offer
paul@181 175
    to distribute corresponding source code.  (This alternative is
paul@181 176
    allowed only for noncommercial distribution and only if you
paul@181 177
    received the program in object code or executable form with such
paul@181 178
    an offer, in accord with Subsection b above.)
paul@181 179
paul@181 180
The source code for a work means the preferred form of the work for
paul@181 181
making modifications to it.  For an executable work, complete source
paul@181 182
code means all the source code for all modules it contains, plus any
paul@181 183
associated interface definition files, plus the scripts used to
paul@181 184
control compilation and installation of the executable.  However, as a
paul@181 185
special exception, the source code distributed need not include
paul@181 186
anything that is normally distributed (in either source or binary
paul@181 187
form) with the major components (compiler, kernel, and so on) of the
paul@181 188
operating system on which the executable runs, unless that component
paul@181 189
itself accompanies the executable.
paul@181 190
paul@181 191
If distribution of executable or object code is made by offering
paul@181 192
access to copy from a designated place, then offering equivalent
paul@181 193
access to copy the source code from the same place counts as
paul@181 194
distribution of the source code, even though third parties are not
paul@181 195
compelled to copy the source along with the object code.
paul@181 196
paul@181 197
  4. You may not copy, modify, sublicense, or distribute the Program
paul@181 198
except as expressly provided under this License.  Any attempt
paul@181 199
otherwise to copy, modify, sublicense or distribute the Program is
paul@181 200
void, and will automatically terminate your rights under this License.
paul@181 201
However, parties who have received copies, or rights, from you under
paul@181 202
this License will not have their licenses terminated so long as such
paul@181 203
parties remain in full compliance.
paul@181 204
paul@181 205
  5. You are not required to accept this License, since you have not
paul@181 206
signed it.  However, nothing else grants you permission to modify or
paul@181 207
distribute the Program or its derivative works.  These actions are
paul@181 208
prohibited by law if you do not accept this License.  Therefore, by
paul@181 209
modifying or distributing the Program (or any work based on the
paul@181 210
Program), you indicate your acceptance of this License to do so, and
paul@181 211
all its terms and conditions for copying, distributing or modifying
paul@181 212
the Program or works based on it.
paul@181 213
paul@181 214
  6. Each time you redistribute the Program (or any work based on the
paul@181 215
Program), the recipient automatically receives a license from the
paul@181 216
original licensor to copy, distribute or modify the Program subject to
paul@181 217
these terms and conditions.  You may not impose any further
paul@181 218
restrictions on the recipients' exercise of the rights granted herein.
paul@181 219
You are not responsible for enforcing compliance by third parties to
paul@181 220
this License.
paul@181 221
paul@181 222
  7. If, as a consequence of a court judgment or allegation of patent
paul@181 223
infringement or for any other reason (not limited to patent issues),
paul@181 224
conditions are imposed on you (whether by court order, agreement or
paul@181 225
otherwise) that contradict the conditions of this License, they do not
paul@181 226
excuse you from the conditions of this License.  If you cannot
paul@181 227
distribute so as to satisfy simultaneously your obligations under this
paul@181 228
License and any other pertinent obligations, then as a consequence you
paul@181 229
may not distribute the Program at all.  For example, if a patent
paul@181 230
license would not permit royalty-free redistribution of the Program by
paul@181 231
all those who receive copies directly or indirectly through you, then
paul@181 232
the only way you could satisfy both it and this License would be to
paul@181 233
refrain entirely from distribution of the Program.
paul@181 234
paul@181 235
If any portion of this section is held invalid or unenforceable under
paul@181 236
any particular circumstance, the balance of the section is intended to
paul@181 237
apply and the section as a whole is intended to apply in other
paul@181 238
circumstances.
paul@181 239
paul@181 240
It is not the purpose of this section to induce you to infringe any
paul@181 241
patents or other property right claims or to contest validity of any
paul@181 242
such claims; this section has the sole purpose of protecting the
paul@181 243
integrity of the free software distribution system, which is
paul@181 244
implemented by public license practices.  Many people have made
paul@181 245
generous contributions to the wide range of software distributed
paul@181 246
through that system in reliance on consistent application of that
paul@181 247
system; it is up to the author/donor to decide if he or she is willing
paul@181 248
to distribute software through any other system and a licensee cannot
paul@181 249
impose that choice.
paul@181 250
paul@181 251
This section is intended to make thoroughly clear what is believed to
paul@181 252
be a consequence of the rest of this License.
paul@181 253
paul@181 254
  8. If the distribution and/or use of the Program is restricted in
paul@181 255
certain countries either by patents or by copyrighted interfaces, the
paul@181 256
original copyright holder who places the Program under this License
paul@181 257
may add an explicit geographical distribution limitation excluding
paul@181 258
those countries, so that distribution is permitted only in or among
paul@181 259
countries not thus excluded.  In such case, this License incorporates
paul@181 260
the limitation as if written in the body of this License.
paul@181 261
paul@181 262
  9. The Free Software Foundation may publish revised and/or new versions
paul@181 263
of the General Public License from time to time.  Such new versions will
paul@181 264
be similar in spirit to the present version, but may differ in detail to
paul@181 265
address new problems or concerns.
paul@181 266
paul@181 267
Each version is given a distinguishing version number.  If the Program
paul@181 268
specifies a version number of this License which applies to it and "any
paul@181 269
later version", you have the option of following the terms and conditions
paul@181 270
either of that version or of any later version published by the Free
paul@181 271
Software Foundation.  If the Program does not specify a version number of
paul@181 272
this License, you may choose any version ever published by the Free Software
paul@181 273
Foundation.
paul@181 274
paul@181 275
  10. If you wish to incorporate parts of the Program into other free
paul@181 276
programs whose distribution conditions are different, write to the author
paul@181 277
to ask for permission.  For software which is copyrighted by the Free
paul@181 278
Software Foundation, write to the Free Software Foundation; we sometimes
paul@181 279
make exceptions for this.  Our decision will be guided by the two goals
paul@181 280
of preserving the free status of all derivatives of our free software and
paul@181 281
of promoting the sharing and reuse of software generally.
paul@181 282
paul@181 283
			    NO WARRANTY
paul@181 284
paul@181 285
  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
paul@181 286
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
paul@181 287
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
paul@181 288
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
paul@181 289
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
paul@181 290
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
paul@181 291
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
paul@181 292
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
paul@181 293
REPAIR OR CORRECTION.
paul@181 294
paul@181 295
  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
paul@181 296
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
paul@181 297
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
paul@181 298
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
paul@181 299
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
paul@181 300
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
paul@181 301
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
paul@181 302
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
paul@181 303
POSSIBILITY OF SUCH DAMAGES.
paul@181 304
paul@181 305
		     END OF TERMS AND CONDITIONS
paul@181 306
paul@181 307
	    How to Apply These Terms to Your New Programs
paul@181 308
paul@181 309
  If you develop a new program, and you want it to be of the greatest
paul@181 310
possible use to the public, the best way to achieve this is to make it
paul@181 311
free software which everyone can redistribute and change under these terms.
paul@181 312
paul@181 313
  To do so, attach the following notices to the program.  It is safest
paul@181 314
to attach them to the start of each source file to most effectively
paul@181 315
convey the exclusion of warranty; and each file should have at least
paul@181 316
the "copyright" line and a pointer to where the full notice is found.
paul@181 317
paul@181 318
    <one line to give the program's name and a brief idea of what it does.>
paul@181 319
    Copyright (C) <year>  <name of author>
paul@181 320
paul@181 321
    This program is free software; you can redistribute it and/or modify
paul@181 322
    it under the terms of the GNU General Public License as published by
paul@181 323
    the Free Software Foundation; either version 2 of the License, or
paul@181 324
    (at your option) any later version.
paul@181 325
paul@181 326
    This program is distributed in the hope that it will be useful,
paul@181 327
    but WITHOUT ANY WARRANTY; without even the implied warranty of
paul@181 328
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
paul@181 329
    GNU General Public License for more details.
paul@181 330
paul@181 331
    You should have received a copy of the GNU General Public License
paul@181 332
    along with this program; if not, write to the Free Software
paul@181 333
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
paul@181 334
paul@181 335
paul@181 336
Also add information on how to contact you by electronic and paper mail.
paul@181 337
paul@181 338
If the program is interactive, make it output a short notice like this
paul@181 339
when it starts in an interactive mode:
paul@181 340
paul@181 341
    Gnomovision version 69, Copyright (C) year  name of author
paul@181 342
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
paul@181 343
    This is free software, and you are welcome to redistribute it
paul@181 344
    under certain conditions; type `show c' for details.
paul@181 345
paul@181 346
The hypothetical commands `show w' and `show c' should show the appropriate
paul@181 347
parts of the General Public License.  Of course, the commands you use may
paul@181 348
be called something other than `show w' and `show c'; they could even be
paul@181 349
mouse-clicks or menu items--whatever suits your program.
paul@181 350
paul@181 351
You should also get your employer (if you work as a programmer) or your
paul@181 352
school, if any, to sign a "copyright disclaimer" for the program, if
paul@181 353
necessary.  Here is a sample; alter the names:
paul@181 354
paul@181 355
  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
paul@181 356
  `Gnomovision' (which makes passes at compilers) written by James Hacker.
paul@181 357
paul@181 358
  <signature of Ty Coon>, 1 April 1989
paul@181 359
  Ty Coon, President of Vice
paul@181 360
paul@181 361
This General Public License does not permit incorporating your program into
paul@181 362
proprietary programs.  If your program is a subroutine library, you may
paul@181 363
consider it more useful to permit linking proprietary applications with the
paul@181 364
library.  If this is what you want to do, use the GNU Library General
paul@181 365
Public License instead of this License.
paul@181 366
paul@181 367
----------------------------------------------------------------------
paul@181 368
paul@181 369
		  GNU LIBRARY GENERAL PUBLIC LICENSE
paul@181 370
		       Version 2, June 1991
paul@181 371
paul@181 372
 Copyright (C) 1991 Free Software Foundation, Inc.
paul@181 373
    		    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
paul@181 374
 Everyone is permitted to copy and distribute verbatim copies
paul@181 375
 of this license document, but changing it is not allowed.
paul@181 376
paul@181 377
[This is the first released version of the library GPL.  It is
paul@181 378
 numbered 2 because it goes with version 2 of the ordinary GPL.]
paul@181 379
paul@181 380
			    Preamble
paul@181 381
paul@181 382
  The licenses for most software are designed to take away your
paul@181 383
freedom to share and change it.  By contrast, the GNU General Public
paul@181 384
Licenses are intended to guarantee your freedom to share and change
paul@181 385
free software--to make sure the software is free for all its users.
paul@181 386
paul@181 387
  This license, the Library General Public License, applies to some
paul@181 388
specially designated Free Software Foundation software, and to any
paul@181 389
other libraries whose authors decide to use it.  You can use it for
paul@181 390
your libraries, too.
paul@181 391
paul@181 392
  When we speak of free software, we are referring to freedom, not
paul@181 393
price.  Our General Public Licenses are designed to make sure that you
paul@181 394
have the freedom to distribute copies of free software (and charge for
paul@181 395
this service if you wish), that you receive source code or can get it
paul@181 396
if you want it, that you can change the software or use pieces of it
paul@181 397
in new free programs; and that you know you can do these things.
paul@181 398
paul@181 399
  To protect your rights, we need to make restrictions that forbid
paul@181 400
anyone to deny you these rights or to ask you to surrender the rights.
paul@181 401
These restrictions translate to certain responsibilities for you if
paul@181 402
you distribute copies of the library, or if you modify it.
paul@181 403
paul@181 404
  For example, if you distribute copies of the library, whether gratis
paul@181 405
or for a fee, you must give the recipients all the rights that we gave
paul@181 406
you.  You must make sure that they, too, receive or can get the source
paul@181 407
code.  If you link a program with the library, you must provide
paul@181 408
complete object files to the recipients so that they can relink them
paul@181 409
with the library, after making changes to the library and recompiling
paul@181 410
it.  And you must show them these terms so they know their rights.
paul@181 411
paul@181 412
  Our method of protecting your rights has two steps: (1) copyright
paul@181 413
the library, and (2) offer you this license which gives you legal
paul@181 414
permission to copy, distribute and/or modify the library.
paul@181 415
paul@181 416
  Also, for each distributor's protection, we want to make certain
paul@181 417
that everyone understands that there is no warranty for this free
paul@181 418
library.  If the library is modified by someone else and passed on, we
paul@181 419
want its recipients to know that what they have is not the original
paul@181 420
version, so that any problems introduced by others will not reflect on
paul@181 421
the original authors' reputations.
paul@181 422
paul@181 423
  Finally, any free program is threatened constantly by software
paul@181 424
patents.  We wish to avoid the danger that companies distributing free
paul@181 425
software will individually obtain patent licenses, thus in effect
paul@181 426
transforming the program into proprietary software.  To prevent this,
paul@181 427
we have made it clear that any patent must be licensed for everyone's
paul@181 428
free use or not licensed at all.
paul@181 429
paul@181 430
  Most GNU software, including some libraries, is covered by the ordinary
paul@181 431
GNU General Public License, which was designed for utility programs.  This
paul@181 432
license, the GNU Library General Public License, applies to certain
paul@181 433
designated libraries.  This license is quite different from the ordinary
paul@181 434
one; be sure to read it in full, and don't assume that anything in it is
paul@181 435
the same as in the ordinary license.
paul@181 436
paul@181 437
  The reason we have a separate public license for some libraries is that
paul@181 438
they blur the distinction we usually make between modifying or adding to a
paul@181 439
program and simply using it.  Linking a program with a library, without
paul@181 440
changing the library, is in some sense simply using the library, and is
paul@181 441
analogous to running a utility program or application program.  However, in
paul@181 442
a textual and legal sense, the linked executable is a combined work, a
paul@181 443
derivative of the original library, and the ordinary General Public License
paul@181 444
treats it as such.
paul@181 445
paul@181 446
  Because of this blurred distinction, using the ordinary General
paul@181 447
Public License for libraries did not effectively promote software
paul@181 448
sharing, because most developers did not use the libraries.  We
paul@181 449
concluded that weaker conditions might promote sharing better.
paul@181 450
paul@181 451
  However, unrestricted linking of non-free programs would deprive the
paul@181 452
users of those programs of all benefit from the free status of the
paul@181 453
libraries themselves.  This Library General Public License is intended to
paul@181 454
permit developers of non-free programs to use free libraries, while
paul@181 455
preserving your freedom as a user of such programs to change the free
paul@181 456
libraries that are incorporated in them.  (We have not seen how to achieve
paul@181 457
this as regards changes in header files, but we have achieved it as regards
paul@181 458
changes in the actual functions of the Library.)  The hope is that this
paul@181 459
will lead to faster development of free libraries.
paul@181 460
paul@181 461
  The precise terms and conditions for copying, distribution and
paul@181 462
modification follow.  Pay close attention to the difference between a
paul@181 463
"work based on the library" and a "work that uses the library".  The
paul@181 464
former contains code derived from the library, while the latter only
paul@181 465
works together with the library.
paul@181 466
paul@181 467
  Note that it is possible for a library to be covered by the ordinary
paul@181 468
General Public License rather than by this special one.
paul@181 469
paul@181 470
		  GNU LIBRARY GENERAL PUBLIC LICENSE
paul@181 471
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
paul@181 472
paul@181 473
  0. This License Agreement applies to any software library which
paul@181 474
contains a notice placed by the copyright holder or other authorized
paul@181 475
party saying it may be distributed under the terms of this Library
paul@181 476
General Public License (also called "this License").  Each licensee is
paul@181 477
addressed as "you".
paul@181 478
paul@181 479
  A "library" means a collection of software functions and/or data
paul@181 480
prepared so as to be conveniently linked with application programs
paul@181 481
(which use some of those functions and data) to form executables.
paul@181 482
paul@181 483
  The "Library", below, refers to any such software library or work
paul@181 484
which has been distributed under these terms.  A "work based on the
paul@181 485
Library" means either the Library or any derivative work under
paul@181 486
copyright law: that is to say, a work containing the Library or a
paul@181 487
portion of it, either verbatim or with modifications and/or translated
paul@181 488
straightforwardly into another language.  (Hereinafter, translation is
paul@181 489
included without limitation in the term "modification".)
paul@181 490
paul@181 491
  "Source code" for a work means the preferred form of the work for
paul@181 492
making modifications to it.  For a library, complete source code means
paul@181 493
all the source code for all modules it contains, plus any associated
paul@181 494
interface definition files, plus the scripts used to control compilation
paul@181 495
and installation of the library.
paul@181 496
paul@181 497
  Activities other than copying, distribution and modification are not
paul@181 498
covered by this License; they are outside its scope.  The act of
paul@181 499
running a program using the Library is not restricted, and output from
paul@181 500
such a program is covered only if its contents constitute a work based
paul@181 501
on the Library (independent of the use of the Library in a tool for
paul@181 502
writing it).  Whether that is true depends on what the Library does
paul@181 503
and what the program that uses the Library does.
paul@181 504
  
paul@181 505
  1. You may copy and distribute verbatim copies of the Library's
paul@181 506
complete source code as you receive it, in any medium, provided that
paul@181 507
you conspicuously and appropriately publish on each copy an
paul@181 508
appropriate copyright notice and disclaimer of warranty; keep intact
paul@181 509
all the notices that refer to this License and to the absence of any
paul@181 510
warranty; and distribute a copy of this License along with the
paul@181 511
Library.
paul@181 512
paul@181 513
  You may charge a fee for the physical act of transferring a copy,
paul@181 514
and you may at your option offer warranty protection in exchange for a
paul@181 515
fee.
paul@181 516
paul@181 517
  2. You may modify your copy or copies of the Library or any portion
paul@181 518
of it, thus forming a work based on the Library, and copy and
paul@181 519
distribute such modifications or work under the terms of Section 1
paul@181 520
above, provided that you also meet all of these conditions:
paul@181 521
paul@181 522
    a) The modified work must itself be a software library.
paul@181 523
paul@181 524
    b) You must cause the files modified to carry prominent notices
paul@181 525
    stating that you changed the files and the date of any change.
paul@181 526
paul@181 527
    c) You must cause the whole of the work to be licensed at no
paul@181 528
    charge to all third parties under the terms of this License.
paul@181 529
paul@181 530
    d) If a facility in the modified Library refers to a function or a
paul@181 531
    table of data to be supplied by an application program that uses
paul@181 532
    the facility, other than as an argument passed when the facility
paul@181 533
    is invoked, then you must make a good faith effort to ensure that,
paul@181 534
    in the event an application does not supply such function or
paul@181 535
    table, the facility still operates, and performs whatever part of
paul@181 536
    its purpose remains meaningful.
paul@181 537
paul@181 538
    (For example, a function in a library to compute square roots has
paul@181 539
    a purpose that is entirely well-defined independent of the
paul@181 540
    application.  Therefore, Subsection 2d requires that any
paul@181 541
    application-supplied function or table used by this function must
paul@181 542
    be optional: if the application does not supply it, the square
paul@181 543
    root function must still compute square roots.)
paul@181 544
paul@181 545
These requirements apply to the modified work as a whole.  If
paul@181 546
identifiable sections of that work are not derived from the Library,
paul@181 547
and can be reasonably considered independent and separate works in
paul@181 548
themselves, then this License, and its terms, do not apply to those
paul@181 549
sections when you distribute them as separate works.  But when you
paul@181 550
distribute the same sections as part of a whole which is a work based
paul@181 551
on the Library, the distribution of the whole must be on the terms of
paul@181 552
this License, whose permissions for other licensees extend to the
paul@181 553
entire whole, and thus to each and every part regardless of who wrote
paul@181 554
it.
paul@181 555
paul@181 556
Thus, it is not the intent of this section to claim rights or contest
paul@181 557
your rights to work written entirely by you; rather, the intent is to
paul@181 558
exercise the right to control the distribution of derivative or
paul@181 559
collective works based on the Library.
paul@181 560
paul@181 561
In addition, mere aggregation of another work not based on the Library
paul@181 562
with the Library (or with a work based on the Library) on a volume of
paul@181 563
a storage or distribution medium does not bring the other work under
paul@181 564
the scope of this License.
paul@181 565
paul@181 566
  3. You may opt to apply the terms of the ordinary GNU General Public
paul@181 567
License instead of this License to a given copy of the Library.  To do
paul@181 568
this, you must alter all the notices that refer to this License, so
paul@181 569
that they refer to the ordinary GNU General Public License, version 2,
paul@181 570
instead of to this License.  (If a newer version than version 2 of the
paul@181 571
ordinary GNU General Public License has appeared, then you can specify
paul@181 572
that version instead if you wish.)  Do not make any other change in
paul@181 573
these notices.
paul@181 574
paul@181 575
  Once this change is made in a given copy, it is irreversible for
paul@181 576
that copy, so the ordinary GNU General Public License applies to all
paul@181 577
subsequent copies and derivative works made from that copy.
paul@181 578
paul@181 579
  This option is useful when you wish to copy part of the code of
paul@181 580
the Library into a program that is not a library.
paul@181 581
paul@181 582
  4. You may copy and distribute the Library (or a portion or
paul@181 583
derivative of it, under Section 2) in object code or executable form
paul@181 584
under the terms of Sections 1 and 2 above provided that you accompany
paul@181 585
it with the complete corresponding machine-readable source code, which
paul@181 586
must be distributed under the terms of Sections 1 and 2 above on a
paul@181 587
medium customarily used for software interchange.
paul@181 588
paul@181 589
  If distribution of object code is made by offering access to copy
paul@181 590
from a designated place, then offering equivalent access to copy the
paul@181 591
source code from the same place satisfies the requirement to
paul@181 592
distribute the source code, even though third parties are not
paul@181 593
compelled to copy the source along with the object code.
paul@181 594
paul@181 595
  5. A program that contains no derivative of any portion of the
paul@181 596
Library, but is designed to work with the Library by being compiled or
paul@181 597
linked with it, is called a "work that uses the Library".  Such a
paul@181 598
work, in isolation, is not a derivative work of the Library, and
paul@181 599
therefore falls outside the scope of this License.
paul@181 600
paul@181 601
  However, linking a "work that uses the Library" with the Library
paul@181 602
creates an executable that is a derivative of the Library (because it
paul@181 603
contains portions of the Library), rather than a "work that uses the
paul@181 604
library".  The executable is therefore covered by this License.
paul@181 605
Section 6 states terms for distribution of such executables.
paul@181 606
paul@181 607
  When a "work that uses the Library" uses material from a header file
paul@181 608
that is part of the Library, the object code for the work may be a
paul@181 609
derivative work of the Library even though the source code is not.
paul@181 610
Whether this is true is especially significant if the work can be
paul@181 611
linked without the Library, or if the work is itself a library.  The
paul@181 612
threshold for this to be true is not precisely defined by law.
paul@181 613
paul@181 614
  If such an object file uses only numerical parameters, data
paul@181 615
structure layouts and accessors, and small macros and small inline
paul@181 616
functions (ten lines or less in length), then the use of the object
paul@181 617
file is unrestricted, regardless of whether it is legally a derivative
paul@181 618
work.  (Executables containing this object code plus portions of the
paul@181 619
Library will still fall under Section 6.)
paul@181 620
paul@181 621
  Otherwise, if the work is a derivative of the Library, you may
paul@181 622
distribute the object code for the work under the terms of Section 6.
paul@181 623
Any executables containing that work also fall under Section 6,
paul@181 624
whether or not they are linked directly with the Library itself.
paul@181 625
paul@181 626
  6. As an exception to the Sections above, you may also compile or
paul@181 627
link a "work that uses the Library" with the Library to produce a
paul@181 628
work containing portions of the Library, and distribute that work
paul@181 629
under terms of your choice, provided that the terms permit
paul@181 630
modification of the work for the customer's own use and reverse
paul@181 631
engineering for debugging such modifications.
paul@181 632
paul@181 633
  You must give prominent notice with each copy of the work that the
paul@181 634
Library is used in it and that the Library and its use are covered by
paul@181 635
this License.  You must supply a copy of this License.  If the work
paul@181 636
during execution displays copyright notices, you must include the
paul@181 637
copyright notice for the Library among them, as well as a reference
paul@181 638
directing the user to the copy of this License.  Also, you must do one
paul@181 639
of these things:
paul@181 640
paul@181 641
    a) Accompany the work with the complete corresponding
paul@181 642
    machine-readable source code for the Library including whatever
paul@181 643
    changes were used in the work (which must be distributed under
paul@181 644
    Sections 1 and 2 above); and, if the work is an executable linked
paul@181 645
    with the Library, with the complete machine-readable "work that
paul@181 646
    uses the Library", as object code and/or source code, so that the
paul@181 647
    user can modify the Library and then relink to produce a modified
paul@181 648
    executable containing the modified Library.  (It is understood
paul@181 649
    that the user who changes the contents of definitions files in the
paul@181 650
    Library will not necessarily be able to recompile the application
paul@181 651
    to use the modified definitions.)
paul@181 652
paul@181 653
    b) Accompany the work with a written offer, valid for at
paul@181 654
    least three years, to give the same user the materials
paul@181 655
    specified in Subsection 6a, above, for a charge no more
paul@181 656
    than the cost of performing this distribution.
paul@181 657
paul@181 658
    c) If distribution of the work is made by offering access to copy
paul@181 659
    from a designated place, offer equivalent access to copy the above
paul@181 660
    specified materials from the same place.
paul@181 661
paul@181 662
    d) Verify that the user has already received a copy of these
paul@181 663
    materials or that you have already sent this user a copy.
paul@181 664
paul@181 665
  For an executable, the required form of the "work that uses the
paul@181 666
Library" must include any data and utility programs needed for
paul@181 667
reproducing the executable from it.  However, as a special exception,
paul@181 668
the source code distributed need not include anything that is normally
paul@181 669
distributed (in either source or binary form) with the major
paul@181 670
components (compiler, kernel, and so on) of the operating system on
paul@181 671
which the executable runs, unless that component itself accompanies
paul@181 672
the executable.
paul@181 673
paul@181 674
  It may happen that this requirement contradicts the license
paul@181 675
restrictions of other proprietary libraries that do not normally
paul@181 676
accompany the operating system.  Such a contradiction means you cannot
paul@181 677
use both them and the Library together in an executable that you
paul@181 678
distribute.
paul@181 679
paul@181 680
  7. You may place library facilities that are a work based on the
paul@181 681
Library side-by-side in a single library together with other library
paul@181 682
facilities not covered by this License, and distribute such a combined
paul@181 683
library, provided that the separate distribution of the work based on
paul@181 684
the Library and of the other library facilities is otherwise
paul@181 685
permitted, and provided that you do these two things:
paul@181 686
paul@181 687
    a) Accompany the combined library with a copy of the same work
paul@181 688
    based on the Library, uncombined with any other library
paul@181 689
    facilities.  This must be distributed under the terms of the
paul@181 690
    Sections above.
paul@181 691
paul@181 692
    b) Give prominent notice with the combined library of the fact
paul@181 693
    that part of it is a work based on the Library, and explaining
paul@181 694
    where to find the accompanying uncombined form of the same work.
paul@181 695
paul@181 696
  8. You may not copy, modify, sublicense, link with, or distribute
paul@181 697
the Library except as expressly provided under this License.  Any
paul@181 698
attempt otherwise to copy, modify, sublicense, link with, or
paul@181 699
distribute the Library is void, and will automatically terminate your
paul@181 700
rights under this License.  However, parties who have received copies,
paul@181 701
or rights, from you under this License will not have their licenses
paul@181 702
terminated so long as such parties remain in full compliance.
paul@181 703
paul@181 704
  9. You are not required to accept this License, since you have not
paul@181 705
signed it.  However, nothing else grants you permission to modify or
paul@181 706
distribute the Library or its derivative works.  These actions are
paul@181 707
prohibited by law if you do not accept this License.  Therefore, by
paul@181 708
modifying or distributing the Library (or any work based on the
paul@181 709
Library), you indicate your acceptance of this License to do so, and
paul@181 710
all its terms and conditions for copying, distributing or modifying
paul@181 711
the Library or works based on it.
paul@181 712
paul@181 713
  10. Each time you redistribute the Library (or any work based on the
paul@181 714
Library), the recipient automatically receives a license from the
paul@181 715
original licensor to copy, distribute, link with or modify the Library
paul@181 716
subject to these terms and conditions.  You may not impose any further
paul@181 717
restrictions on the recipients' exercise of the rights granted herein.
paul@181 718
You are not responsible for enforcing compliance by third parties to
paul@181 719
this License.
paul@181 720
paul@181 721
  11. If, as a consequence of a court judgment or allegation of patent
paul@181 722
infringement or for any other reason (not limited to patent issues),
paul@181 723
conditions are imposed on you (whether by court order, agreement or
paul@181 724
otherwise) that contradict the conditions of this License, they do not
paul@181 725
excuse you from the conditions of this License.  If you cannot
paul@181 726
distribute so as to satisfy simultaneously your obligations under this
paul@181 727
License and any other pertinent obligations, then as a consequence you
paul@181 728
may not distribute the Library at all.  For example, if a patent
paul@181 729
license would not permit royalty-free redistribution of the Library by
paul@181 730
all those who receive copies directly or indirectly through you, then
paul@181 731
the only way you could satisfy both it and this License would be to
paul@181 732
refrain entirely from distribution of the Library.
paul@181 733
paul@181 734
If any portion of this section is held invalid or unenforceable under any
paul@181 735
particular circumstance, the balance of the section is intended to apply,
paul@181 736
and the section as a whole is intended to apply in other circumstances.
paul@181 737
paul@181 738
It is not the purpose of this section to induce you to infringe any
paul@181 739
patents or other property right claims or to contest validity of any
paul@181 740
such claims; this section has the sole purpose of protecting the
paul@181 741
integrity of the free software distribution system which is
paul@181 742
implemented by public license practices.  Many people have made
paul@181 743
generous contributions to the wide range of software distributed
paul@181 744
through that system in reliance on consistent application of that
paul@181 745
system; it is up to the author/donor to decide if he or she is willing
paul@181 746
to distribute software through any other system and a licensee cannot
paul@181 747
impose that choice.
paul@181 748
paul@181 749
This section is intended to make thoroughly clear what is believed to
paul@181 750
be a consequence of the rest of this License.
paul@181 751
paul@181 752
  12. If the distribution and/or use of the Library is restricted in
paul@181 753
certain countries either by patents or by copyrighted interfaces, the
paul@181 754
original copyright holder who places the Library under this License may add
paul@181 755
an explicit geographical distribution limitation excluding those countries,
paul@181 756
so that distribution is permitted only in or among countries not thus
paul@181 757
excluded.  In such case, this License incorporates the limitation as if
paul@181 758
written in the body of this License.
paul@181 759
paul@181 760
  13. The Free Software Foundation may publish revised and/or new
paul@181 761
versions of the Library General Public License from time to time.
paul@181 762
Such new versions will be similar in spirit to the present version,
paul@181 763
but may differ in detail to address new problems or concerns.
paul@181 764
paul@181 765
Each version is given a distinguishing version number.  If the Library
paul@181 766
specifies a version number of this License which applies to it and
paul@181 767
"any later version", you have the option of following the terms and
paul@181 768
conditions either of that version or of any later version published by
paul@181 769
the Free Software Foundation.  If the Library does not specify a
paul@181 770
license version number, you may choose any version ever published by
paul@181 771
the Free Software Foundation.
paul@181 772
paul@181 773
  14. If you wish to incorporate parts of the Library into other free
paul@181 774
programs whose distribution conditions are incompatible with these,
paul@181 775
write to the author to ask for permission.  For software which is
paul@181 776
copyrighted by the Free Software Foundation, write to the Free
paul@181 777
Software Foundation; we sometimes make exceptions for this.  Our
paul@181 778
decision will be guided by the two goals of preserving the free status
paul@181 779
of all derivatives of our free software and of promoting the sharing
paul@181 780
and reuse of software generally.
paul@181 781
paul@181 782
			    NO WARRANTY
paul@181 783
paul@181 784
  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
paul@181 785
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
paul@181 786
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
paul@181 787
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
paul@181 788
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
paul@181 789
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
paul@181 790
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
paul@181 791
LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
paul@181 792
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
paul@181 793
paul@181 794
  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
paul@181 795
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
paul@181 796
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
paul@181 797
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
paul@181 798
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
paul@181 799
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
paul@181 800
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
paul@181 801
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
paul@181 802
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
paul@181 803
DAMAGES.
paul@181 804
paul@181 805
		     END OF TERMS AND CONDITIONS
paul@181 806
paul@181 807
           How to Apply These Terms to Your New Libraries
paul@181 808
paul@181 809
  If you develop a new library, and you want it to be of the greatest
paul@181 810
possible use to the public, we recommend making it free software that
paul@181 811
everyone can redistribute and change.  You can do so by permitting
paul@181 812
redistribution under these terms (or, alternatively, under the terms of the
paul@181 813
ordinary General Public License).
paul@181 814
paul@181 815
  To apply these terms, attach the following notices to the library.  It is
paul@181 816
safest to attach them to the start of each source file to most effectively
paul@181 817
convey the exclusion of warranty; and each file should have at least the
paul@181 818
"copyright" line and a pointer to where the full notice is found.
paul@181 819
paul@181 820
    <one line to give the library's name and a brief idea of what it does.>
paul@181 821
    Copyright (C) <year>  <name of author>
paul@181 822
paul@181 823
    This library is free software; you can redistribute it and/or
paul@181 824
    modify it under the terms of the GNU Library General Public
paul@181 825
    License as published by the Free Software Foundation; either
paul@181 826
    version 2 of the License, or (at your option) any later version.
paul@181 827
paul@181 828
    This library is distributed in the hope that it will be useful,
paul@181 829
    but WITHOUT ANY WARRANTY; without even the implied warranty of
paul@181 830
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
paul@181 831
    Library General Public License for more details.
paul@181 832
paul@181 833
    You should have received a copy of the GNU Library General Public
paul@181 834
    License along with this library; if not, write to the Free Software
paul@181 835
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
paul@181 836
paul@181 837
Also add information on how to contact you by electronic and paper mail.
paul@181 838
paul@181 839
You should also get your employer (if you work as a programmer) or your
paul@181 840
school, if any, to sign a "copyright disclaimer" for the library, if
paul@181 841
necessary.  Here is a sample; alter the names:
paul@181 842
paul@181 843
  Yoyodyne, Inc., hereby disclaims all copyright interest in the
paul@181 844
  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
paul@181 845
paul@181 846
  <signature of Ty Coon>, 1 April 1990
paul@181 847
  Ty Coon, President of Vice
paul@181 848
paul@181 849
That's all there is to it!