ad70cab
RPM and it's source code are covered under two separate licenses. 
ad70cab
ad70cab
The entire code base may be distributed under the terms of the GNU General
ad70cab
Public License (GPL), which appears immediately below.  Alternatively,
ad70cab
all of the source code in the lib subdirectory of the RPM source code
ad70cab
distribution as well as any code derived from that code may instead be
ad70cab
distributed under the GNU Library General Public License (LGPL), at the
ad70cab
choice of the distributor. The complete text of the LGPL appears
ad70cab
at the bottom of this file.
ad70cab
ad70cab
This alternatively is allowed to enable applications to be linked against
ad70cab
the RPM library (commonly called librpm) without forcing such applications
ad70cab
to be distributed under the GPL. 
ad70cab
ad70cab
Any questions regarding the licensing of RPM should be addressed to
ad70cab
rpm-maint@lists.rpm.org
ad70cab
ad70cab
---------------------------------------------------------------------------
ad70cab
ad70cab
		    GNU GENERAL PUBLIC LICENSE
ad70cab
		       Version 2, June 1991
ad70cab
ad70cab
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
ad70cab
                          675 Mass Ave, Cambridge, MA 02139, USA
ad70cab
 Everyone is permitted to copy and distribute verbatim copies
ad70cab
 of this license document, but changing it is not allowed.
ad70cab
ad70cab
			    Preamble
ad70cab
ad70cab
  The licenses for most software are designed to take away your
ad70cab
freedom to share and change it.  By contrast, the GNU General Public
ad70cab
License is intended to guarantee your freedom to share and change free
ad70cab
software--to make sure the software is free for all its users.  This
ad70cab
General Public License applies to most of the Free Software
ad70cab
Foundation's software and to any other program whose authors commit to
ad70cab
using it.  (Some other Free Software Foundation software is covered by
ad70cab
the GNU Library General Public License instead.)  You can apply it to
ad70cab
your programs, too.
ad70cab
ad70cab
  When we speak of free software, we are referring to freedom, not
ad70cab
price.  Our General Public Licenses are designed to make sure that you
ad70cab
have the freedom to distribute copies of free software (and charge for
ad70cab
this service if you wish), that you receive source code or can get it
ad70cab
if you want it, that you can change the software or use pieces of it
ad70cab
in new free programs; and that you know you can do these things.
ad70cab
ad70cab
  To protect your rights, we need to make restrictions that forbid
ad70cab
anyone to deny you these rights or to ask you to surrender the rights.
ad70cab
These restrictions translate to certain responsibilities for you if you
ad70cab
distribute copies of the software, or if you modify it.
ad70cab
ad70cab
  For example, if you distribute copies of such a program, whether
ad70cab
gratis or for a fee, you must give the recipients all the rights that
ad70cab
you have.  You must make sure that they, too, receive or can get the
ad70cab
source code.  And you must show them these terms so they know their
ad70cab
rights.
ad70cab
ad70cab
  We protect your rights with two steps: (1) copyright the software, and
ad70cab
(2) offer you this license which gives you legal permission to copy,
ad70cab
distribute and/or modify the software.
ad70cab
ad70cab
  Also, for each author's protection and ours, we want to make certain
ad70cab
that everyone understands that there is no warranty for this free
ad70cab
software.  If the software is modified by someone else and passed on, we
ad70cab
want its recipients to know that what they have is not the original, so
ad70cab
that any problems introduced by others will not reflect on the original
ad70cab
authors' reputations.
ad70cab
ad70cab
  Finally, any free program is threatened constantly by software
ad70cab
patents.  We wish to avoid the danger that redistributors of a free
ad70cab
program will individually obtain patent licenses, in effect making the
ad70cab
program proprietary.  To prevent this, we have made it clear that any
ad70cab
patent must be licensed for everyone's free use or not licensed at all.
ad70cab
ad70cab
  The precise terms and conditions for copying, distribution and
ad70cab
modification follow.
ad70cab

ad70cab
		    GNU GENERAL PUBLIC LICENSE
ad70cab
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
ad70cab
ad70cab
  0. This License applies to any program or other work which contains
ad70cab
a notice placed by the copyright holder saying it may be distributed
ad70cab
under the terms of this General Public License.  The "Program", below,
ad70cab
refers to any such program or work, and a "work based on the Program"
ad70cab
means either the Program or any derivative work under copyright law:
ad70cab
that is to say, a work containing the Program or a portion of it,
ad70cab
either verbatim or with modifications and/or translated into another
ad70cab
language.  (Hereinafter, translation is included without limitation in
ad70cab
the term "modification".)  Each licensee is addressed as "you".
ad70cab
ad70cab
Activities other than copying, distribution and modification are not
ad70cab
covered by this License; they are outside its scope.  The act of
ad70cab
running the Program is not restricted, and the output from the Program
ad70cab
is covered only if its contents constitute a work based on the
ad70cab
Program (independent of having been made by running the Program).
ad70cab
Whether that is true depends on what the Program does.
ad70cab
ad70cab
  1. You may copy and distribute verbatim copies of the Program's
ad70cab
source code as you receive it, in any medium, provided that you
ad70cab
conspicuously and appropriately publish on each copy an appropriate
ad70cab
copyright notice and disclaimer of warranty; keep intact all the
ad70cab
notices that refer to this License and to the absence of any warranty;
ad70cab
and give any other recipients of the Program a copy of this License
ad70cab
along with the Program.
ad70cab
ad70cab
You may charge a fee for the physical act of transferring a copy, and
ad70cab
you may at your option offer warranty protection in exchange for a fee.
ad70cab
ad70cab
  2. You may modify your copy or copies of the Program or any portion
ad70cab
of it, thus forming a work based on the Program, and copy and
ad70cab
distribute such modifications or work under the terms of Section 1
ad70cab
above, provided that you also meet all of these conditions:
ad70cab
ad70cab
    a) You must cause the modified files to carry prominent notices
ad70cab
    stating that you changed the files and the date of any change.
ad70cab
ad70cab
    b) You must cause any work that you distribute or publish, that in
ad70cab
    whole or in part contains or is derived from the Program or any
ad70cab
    part thereof, to be licensed as a whole at no charge to all third
ad70cab
    parties under the terms of this License.
ad70cab
ad70cab
    c) If the modified program normally reads commands interactively
ad70cab
    when run, you must cause it, when started running for such
ad70cab
    interactive use in the most ordinary way, to print or display an
ad70cab
    announcement including an appropriate copyright notice and a
ad70cab
    notice that there is no warranty (or else, saying that you provide
ad70cab
    a warranty) and that users may redistribute the program under
ad70cab
    these conditions, and telling the user how to view a copy of this
ad70cab
    License.  (Exception: if the Program itself is interactive but
ad70cab
    does not normally print such an announcement, your work based on
ad70cab
    the Program is not required to print an announcement.)
ad70cab

ad70cab
These requirements apply to the modified work as a whole.  If
ad70cab
identifiable sections of that work are not derived from the Program,
ad70cab
and can be reasonably considered independent and separate works in
ad70cab
themselves, then this License, and its terms, do not apply to those
ad70cab
sections when you distribute them as separate works.  But when you
ad70cab
distribute the same sections as part of a whole which is a work based
ad70cab
on the Program, the distribution of the whole must be on the terms of
ad70cab
this License, whose permissions for other licensees extend to the
ad70cab
entire whole, and thus to each and every part regardless of who wrote it.
ad70cab
ad70cab
Thus, it is not the intent of this section to claim rights or contest
ad70cab
your rights to work written entirely by you; rather, the intent is to
ad70cab
exercise the right to control the distribution of derivative or
ad70cab
collective works based on the Program.
ad70cab
ad70cab
In addition, mere aggregation of another work not based on the Program
ad70cab
with the Program (or with a work based on the Program) on a volume of
ad70cab
a storage or distribution medium does not bring the other work under
ad70cab
the scope of this License.
ad70cab
ad70cab
  3. You may copy and distribute the Program (or a work based on it,
ad70cab
under Section 2) in object code or executable form under the terms of
ad70cab
Sections 1 and 2 above provided that you also do one of the following:
ad70cab
ad70cab
    a) Accompany it with the complete corresponding machine-readable
ad70cab
    source code, which must be distributed under the terms of Sections
ad70cab
    1 and 2 above on a medium customarily used for software interchange; or,
ad70cab
ad70cab
    b) Accompany it with a written offer, valid for at least three
ad70cab
    years, to give any third party, for a charge no more than your
ad70cab
    cost of physically performing source distribution, a complete
ad70cab
    machine-readable copy of the corresponding source code, to be
ad70cab
    distributed under the terms of Sections 1 and 2 above on a medium
ad70cab
    customarily used for software interchange; or,
ad70cab
ad70cab
    c) Accompany it with the information you received as to the offer
ad70cab
    to distribute corresponding source code.  (This alternative is
ad70cab
    allowed only for noncommercial distribution and only if you
ad70cab
    received the program in object code or executable form with such
ad70cab
    an offer, in accord with Subsection b above.)
ad70cab
ad70cab
The source code for a work means the preferred form of the work for
ad70cab
making modifications to it.  For an executable work, complete source
ad70cab
code means all the source code for all modules it contains, plus any
ad70cab
associated interface definition files, plus the scripts used to
ad70cab
control compilation and installation of the executable.  However, as a
ad70cab
special exception, the source code distributed need not include
ad70cab
anything that is normally distributed (in either source or binary
ad70cab
form) with the major components (compiler, kernel, and so on) of the
ad70cab
operating system on which the executable runs, unless that component
ad70cab
itself accompanies the executable.
ad70cab
ad70cab
If distribution of executable or object code is made by offering
ad70cab
access to copy from a designated place, then offering equivalent
ad70cab
access to copy the source code from the same place counts as
ad70cab
distribution of the source code, even though third parties are not
ad70cab
compelled to copy the source along with the object code.
ad70cab

ad70cab
  4. You may not copy, modify, sublicense, or distribute the Program
ad70cab
except as expressly provided under this License.  Any attempt
ad70cab
otherwise to copy, modify, sublicense or distribute the Program is
ad70cab
void, and will automatically terminate your rights under this License.
ad70cab
However, parties who have received copies, or rights, from you under
ad70cab
this License will not have their licenses terminated so long as such
ad70cab
parties remain in full compliance.
ad70cab
ad70cab
  5. You are not required to accept this License, since you have not
ad70cab
signed it.  However, nothing else grants you permission to modify or
ad70cab
distribute the Program or its derivative works.  These actions are
ad70cab
prohibited by law if you do not accept this License.  Therefore, by
ad70cab
modifying or distributing the Program (or any work based on the
ad70cab
Program), you indicate your acceptance of this License to do so, and
ad70cab
all its terms and conditions for copying, distributing or modifying
ad70cab
the Program or works based on it.
ad70cab
ad70cab
  6. Each time you redistribute the Program (or any work based on the
ad70cab
Program), the recipient automatically receives a license from the
ad70cab
original licensor to copy, distribute or modify the Program subject to
ad70cab
these terms and conditions.  You may not impose any further
ad70cab
restrictions on the recipients' exercise of the rights granted herein.
ad70cab
You are not responsible for enforcing compliance by third parties to
ad70cab
this License.
ad70cab
ad70cab
  7. If, as a consequence of a court judgment or allegation of patent
ad70cab
infringement or for any other reason (not limited to patent issues),
ad70cab
conditions are imposed on you (whether by court order, agreement or
ad70cab
otherwise) that contradict the conditions of this License, they do not
ad70cab
excuse you from the conditions of this License.  If you cannot
ad70cab
distribute so as to satisfy simultaneously your obligations under this
ad70cab
License and any other pertinent obligations, then as a consequence you
ad70cab
may not distribute the Program at all.  For example, if a patent
ad70cab
license would not permit royalty-free redistribution of the Program by
ad70cab
all those who receive copies directly or indirectly through you, then
ad70cab
the only way you could satisfy both it and this License would be to
ad70cab
refrain entirely from distribution of the Program.
ad70cab
ad70cab
If any portion of this section is held invalid or unenforceable under
ad70cab
any particular circumstance, the balance of the section is intended to
ad70cab
apply and the section as a whole is intended to apply in other
ad70cab
circumstances.
ad70cab
ad70cab
It is not the purpose of this section to induce you to infringe any
ad70cab
patents or other property right claims or to contest validity of any
ad70cab
such claims; this section has the sole purpose of protecting the
ad70cab
integrity of the free software distribution system, which is
ad70cab
implemented by public license practices.  Many people have made
ad70cab
generous contributions to the wide range of software distributed
ad70cab
through that system in reliance on consistent application of that
ad70cab
system; it is up to the author/donor to decide if he or she is willing
ad70cab
to distribute software through any other system and a licensee cannot
ad70cab
impose that choice.
ad70cab
ad70cab
This section is intended to make thoroughly clear what is believed to
ad70cab
be a consequence of the rest of this License.
ad70cab

ad70cab
  8. If the distribution and/or use of the Program is restricted in
ad70cab
certain countries either by patents or by copyrighted interfaces, the
ad70cab
original copyright holder who places the Program under this License
ad70cab
may add an explicit geographical distribution limitation excluding
ad70cab
those countries, so that distribution is permitted only in or among
ad70cab
countries not thus excluded.  In such case, this License incorporates
ad70cab
the limitation as if written in the body of this License.
ad70cab
ad70cab
  9. The Free Software Foundation may publish revised and/or new versions
ad70cab
of the General Public License from time to time.  Such new versions will
ad70cab
be similar in spirit to the present version, but may differ in detail to
ad70cab
address new problems or concerns.
ad70cab
ad70cab
Each version is given a distinguishing version number.  If the Program
ad70cab
specifies a version number of this License which applies to it and "any
ad70cab
later version", you have the option of following the terms and conditions
ad70cab
either of that version or of any later version published by the Free
ad70cab
Software Foundation.  If the Program does not specify a version number of
ad70cab
this License, you may choose any version ever published by the Free Software
ad70cab
Foundation.
ad70cab
ad70cab
  10. If you wish to incorporate parts of the Program into other free
ad70cab
programs whose distribution conditions are different, write to the author
ad70cab
to ask for permission.  For software which is copyrighted by the Free
ad70cab
Software Foundation, write to the Free Software Foundation; we sometimes
ad70cab
make exceptions for this.  Our decision will be guided by the two goals
ad70cab
of preserving the free status of all derivatives of our free software and
ad70cab
of promoting the sharing and reuse of software generally.
ad70cab
ad70cab
			    NO WARRANTY
ad70cab
ad70cab
  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
ad70cab
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
ad70cab
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
ad70cab
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
ad70cab
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
ad70cab
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
ad70cab
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
ad70cab
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
ad70cab
REPAIR OR CORRECTION.
ad70cab
ad70cab
  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
ad70cab
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
ad70cab
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
ad70cab
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
ad70cab
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
ad70cab
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
ad70cab
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
ad70cab
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
ad70cab
POSSIBILITY OF SUCH DAMAGES.
ad70cab
ad70cab
		     END OF TERMS AND CONDITIONS
ad70cab

ad70cab
	    How to Apply These Terms to Your New Programs
ad70cab
ad70cab
  If you develop a new program, and you want it to be of the greatest
ad70cab
possible use to the public, the best way to achieve this is to make it
ad70cab
free software which everyone can redistribute and change under these terms.
ad70cab
ad70cab
  To do so, attach the following notices to the program.  It is safest
ad70cab
to attach them to the start of each source file to most effectively
ad70cab
convey the exclusion of warranty; and each file should have at least
ad70cab
the "copyright" line and a pointer to where the full notice is found.
ad70cab
ad70cab
    <one line to give the program's name and a brief idea of what it does.>
ad70cab
    Copyright (C) 19yy  <name of author>
ad70cab
ad70cab
    This program is free software; you can redistribute it and/or modify
ad70cab
    it under the terms of the GNU General Public License as published by
ad70cab
    the Free Software Foundation; either version 2 of the License, or
ad70cab
    (at your option) any later version.
ad70cab
ad70cab
    This program is distributed in the hope that it will be useful,
ad70cab
    but WITHOUT ANY WARRANTY; without even the implied warranty of
ad70cab
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
ad70cab
    GNU General Public License for more details.
ad70cab
ad70cab
    You should have received a copy of the GNU General Public License
ad70cab
    along with this program; if not, write to the Free Software
ad70cab
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
ad70cab
ad70cab
Also add information on how to contact you by electronic and paper mail.
ad70cab
ad70cab
If the program is interactive, make it output a short notice like this
ad70cab
when it starts in an interactive mode:
ad70cab
ad70cab
    Gnomovision version 69, Copyright (C) 19yy name of author
ad70cab
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
ad70cab
    This is free software, and you are welcome to redistribute it
ad70cab
    under certain conditions; type `show c' for details.
ad70cab
ad70cab
The hypothetical commands `show w' and `show c' should show the appropriate
ad70cab
parts of the General Public License.  Of course, the commands you use may
ad70cab
be called something other than `show w' and `show c'; they could even be
ad70cab
mouse-clicks or menu items--whatever suits your program.
ad70cab
ad70cab
You should also get your employer (if you work as a programmer) or your
ad70cab
school, if any, to sign a "copyright disclaimer" for the program, if
ad70cab
necessary.  Here is a sample; alter the names:
ad70cab
ad70cab
  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
ad70cab
  `Gnomovision' (which makes passes at compilers) written by James Hacker.
ad70cab
ad70cab
  <signature of Ty Coon>, 1 April 1989
ad70cab
  Ty Coon, President of Vice
ad70cab
ad70cab
This General Public License does not permit incorporating your program into
ad70cab
proprietary programs.  If your program is a subroutine library, you may
ad70cab
consider it more useful to permit linking proprietary applications with the
ad70cab
library.  If this is what you want to do, use the GNU Library General
ad70cab
Public License instead of this License.
ad70cab
ad70cab
---------------------------------------------------------------------------
ad70cab
ad70cab
		  GNU LIBRARY GENERAL PUBLIC LICENSE
ad70cab
		       Version 2, June 1991
ad70cab
ad70cab
 Copyright (C) 1991 Free Software Foundation, Inc.
ad70cab
                    675 Mass Ave, Cambridge, MA 02139, USA
ad70cab
 Everyone is permitted to copy and distribute verbatim copies
ad70cab
 of this license document, but changing it is not allowed.
ad70cab
ad70cab
[This is the first released version of the library GPL.  It is
ad70cab
 numbered 2 because it goes with version 2 of the ordinary GPL.]
ad70cab
ad70cab
			    Preamble
ad70cab
ad70cab
  The licenses for most software are designed to take away your
ad70cab
freedom to share and change it.  By contrast, the GNU General Public
ad70cab
Licenses are intended to guarantee your freedom to share and change
ad70cab
free software--to make sure the software is free for all its users.
ad70cab
ad70cab
  This license, the Library General Public License, applies to some
ad70cab
specially designated Free Software Foundation software, and to any
ad70cab
other libraries whose authors decide to use it.  You can use it for
ad70cab
your libraries, too.
ad70cab
ad70cab
  When we speak of free software, we are referring to freedom, not
ad70cab
price.  Our General Public Licenses are designed to make sure that you
ad70cab
have the freedom to distribute copies of free software (and charge for
ad70cab
this service if you wish), that you receive source code or can get it
ad70cab
if you want it, that you can change the software or use pieces of it
ad70cab
in new free programs; and that you know you can do these things.
ad70cab
ad70cab
  To protect your rights, we need to make restrictions that forbid
ad70cab
anyone to deny you these rights or to ask you to surrender the rights.
ad70cab
These restrictions translate to certain responsibilities for you if
ad70cab
you distribute copies of the library, or if you modify it.
ad70cab
ad70cab
  For example, if you distribute copies of the library, whether gratis
ad70cab
or for a fee, you must give the recipients all the rights that we gave
ad70cab
you.  You must make sure that they, too, receive or can get the source
ad70cab
code.  If you link a program with the library, you must provide
ad70cab
complete object files to the recipients so that they can relink them
ad70cab
with the library, after making changes to the library and recompiling
ad70cab
it.  And you must show them these terms so they know their rights.
ad70cab
ad70cab
  Our method of protecting your rights has two steps: (1) copyright
ad70cab
the library, and (2) offer you this license which gives you legal
ad70cab
permission to copy, distribute and/or modify the library.
ad70cab
ad70cab
  Also, for each distributor's protection, we want to make certain
ad70cab
that everyone understands that there is no warranty for this free
ad70cab
library.  If the library is modified by someone else and passed on, we
ad70cab
want its recipients to know that what they have is not the original
ad70cab
version, so that any problems introduced by others will not reflect on
ad70cab
the original authors' reputations.
ad70cab

ad70cab
  Finally, any free program is threatened constantly by software
ad70cab
patents.  We wish to avoid the danger that companies distributing free
ad70cab
software will individually obtain patent licenses, thus in effect
ad70cab
transforming the program into proprietary software.  To prevent this,
ad70cab
we have made it clear that any patent must be licensed for everyone's
ad70cab
free use or not licensed at all.
ad70cab
ad70cab
  Most GNU software, including some libraries, is covered by the ordinary
ad70cab
GNU General Public License, which was designed for utility programs.  This
ad70cab
license, the GNU Library General Public License, applies to certain
ad70cab
designated libraries.  This license is quite different from the ordinary
ad70cab
one; be sure to read it in full, and don't assume that anything in it is
ad70cab
the same as in the ordinary license.
ad70cab
ad70cab
  The reason we have a separate public license for some libraries is that
ad70cab
they blur the distinction we usually make between modifying or adding to a
ad70cab
program and simply using it.  Linking a program with a library, without
ad70cab
changing the library, is in some sense simply using the library, and is
ad70cab
analogous to running a utility program or application program.  However, in
ad70cab
a textual and legal sense, the linked executable is a combined work, a
ad70cab
derivative of the original library, and the ordinary General Public License
ad70cab
treats it as such.
ad70cab
ad70cab
  Because of this blurred distinction, using the ordinary General
ad70cab
Public License for libraries did not effectively promote software
ad70cab
sharing, because most developers did not use the libraries.  We
ad70cab
concluded that weaker conditions might promote sharing better.
ad70cab
ad70cab
  However, unrestricted linking of non-free programs would deprive the
ad70cab
users of those programs of all benefit from the free status of the
ad70cab
libraries themselves.  This Library General Public License is intended to
ad70cab
permit developers of non-free programs to use free libraries, while
ad70cab
preserving your freedom as a user of such programs to change the free
ad70cab
libraries that are incorporated in them.  (We have not seen how to achieve
ad70cab
this as regards changes in header files, but we have achieved it as regards
ad70cab
changes in the actual functions of the Library.)  The hope is that this
ad70cab
will lead to faster development of free libraries.
ad70cab
ad70cab
  The precise terms and conditions for copying, distribution and
ad70cab
modification follow.  Pay close attention to the difference between a
ad70cab
"work based on the library" and a "work that uses the library".  The
ad70cab
former contains code derived from the library, while the latter only
ad70cab
works together with the library.
ad70cab
ad70cab
  Note that it is possible for a library to be covered by the ordinary
ad70cab
General Public License rather than by this special one.
ad70cab

ad70cab
		  GNU LIBRARY GENERAL PUBLIC LICENSE
ad70cab
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
ad70cab
ad70cab
  0. This License Agreement applies to any software library which
ad70cab
contains a notice placed by the copyright holder or other authorized
ad70cab
party saying it may be distributed under the terms of this Library
ad70cab
General Public License (also called "this License").  Each licensee is
ad70cab
addressed as "you".
ad70cab
ad70cab
  A "library" means a collection of software functions and/or data
ad70cab
prepared so as to be conveniently linked with application programs
ad70cab
(which use some of those functions and data) to form executables.
ad70cab
ad70cab
  The "Library", below, refers to any such software library or work
ad70cab
which has been distributed under these terms.  A "work based on the
ad70cab
Library" means either the Library or any derivative work under
ad70cab
copyright law: that is to say, a work containing the Library or a
ad70cab
portion of it, either verbatim or with modifications and/or translated
ad70cab
straightforwardly into another language.  (Hereinafter, translation is
ad70cab
included without limitation in the term "modification".)
ad70cab
ad70cab
  "Source code" for a work means the preferred form of the work for
ad70cab
making modifications to it.  For a library, complete source code means
ad70cab
all the source code for all modules it contains, plus any associated
ad70cab
interface definition files, plus the scripts used to control compilation
ad70cab
and installation of the library.
ad70cab
ad70cab
  Activities other than copying, distribution and modification are not
ad70cab
covered by this License; they are outside its scope.  The act of
ad70cab
running a program using the Library is not restricted, and output from
ad70cab
such a program is covered only if its contents constitute a work based
ad70cab
on the Library (independent of the use of the Library in a tool for
ad70cab
writing it).  Whether that is true depends on what the Library does
ad70cab
and what the program that uses the Library does.
ad70cab
  
ad70cab
  1. You may copy and distribute verbatim copies of the Library's
ad70cab
complete source code as you receive it, in any medium, provided that
ad70cab
you conspicuously and appropriately publish on each copy an
ad70cab
appropriate copyright notice and disclaimer of warranty; keep intact
ad70cab
all the notices that refer to this License and to the absence of any
ad70cab
warranty; and distribute a copy of this License along with the
ad70cab
Library.
ad70cab
ad70cab
  You may charge a fee for the physical act of transferring a copy,
ad70cab
and you may at your option offer warranty protection in exchange for a
ad70cab
fee.
ad70cab

ad70cab
  2. You may modify your copy or copies of the Library or any portion
ad70cab
of it, thus forming a work based on the Library, and copy and
ad70cab
distribute such modifications or work under the terms of Section 1
ad70cab
above, provided that you also meet all of these conditions:
ad70cab
ad70cab
    a) The modified work must itself be a software library.
ad70cab
ad70cab
    b) You must cause the files modified to carry prominent notices
ad70cab
    stating that you changed the files and the date of any change.
ad70cab
ad70cab
    c) You must cause the whole of the work to be licensed at no
ad70cab
    charge to all third parties under the terms of this License.
ad70cab
ad70cab
    d) If a facility in the modified Library refers to a function or a
ad70cab
    table of data to be supplied by an application program that uses
ad70cab
    the facility, other than as an argument passed when the facility
ad70cab
    is invoked, then you must make a good faith effort to ensure that,
ad70cab
    in the event an application does not supply such function or
ad70cab
    table, the facility still operates, and performs whatever part of
ad70cab
    its purpose remains meaningful.
ad70cab
ad70cab
    (For example, a function in a library to compute square roots has
ad70cab
    a purpose that is entirely well-defined independent of the
ad70cab
    application.  Therefore, Subsection 2d requires that any
ad70cab
    application-supplied function or table used by this function must
ad70cab
    be optional: if the application does not supply it, the square
ad70cab
    root function must still compute square roots.)
ad70cab
ad70cab
These requirements apply to the modified work as a whole.  If
ad70cab
identifiable sections of that work are not derived from the Library,
ad70cab
and can be reasonably considered independent and separate works in
ad70cab
themselves, then this License, and its terms, do not apply to those
ad70cab
sections when you distribute them as separate works.  But when you
ad70cab
distribute the same sections as part of a whole which is a work based
ad70cab
on the Library, the distribution of the whole must be on the terms of
ad70cab
this License, whose permissions for other licensees extend to the
ad70cab
entire whole, and thus to each and every part regardless of who wrote
ad70cab
it.
ad70cab
ad70cab
Thus, it is not the intent of this section to claim rights or contest
ad70cab
your rights to work written entirely by you; rather, the intent is to
ad70cab
exercise the right to control the distribution of derivative or
ad70cab
collective works based on the Library.
ad70cab
ad70cab
In addition, mere aggregation of another work not based on the Library
ad70cab
with the Library (or with a work based on the Library) on a volume of
ad70cab
a storage or distribution medium does not bring the other work under
ad70cab
the scope of this License.
ad70cab
ad70cab
  3. You may opt to apply the terms of the ordinary GNU General Public
ad70cab
License instead of this License to a given copy of the Library.  To do
ad70cab
this, you must alter all the notices that refer to this License, so
ad70cab
that they refer to the ordinary GNU General Public License, version 2,
ad70cab
instead of to this License.  (If a newer version than version 2 of the
ad70cab
ordinary GNU General Public License has appeared, then you can specify
ad70cab
that version instead if you wish.)  Do not make any other change in
ad70cab
these notices.
ad70cab

ad70cab
  Once this change is made in a given copy, it is irreversible for
ad70cab
that copy, so the ordinary GNU General Public License applies to all
ad70cab
subsequent copies and derivative works made from that copy.
ad70cab
ad70cab
  This option is useful when you wish to copy part of the code of
ad70cab
the Library into a program that is not a library.
ad70cab
ad70cab
  4. You may copy and distribute the Library (or a portion or
ad70cab
derivative of it, under Section 2) in object code or executable form
ad70cab
under the terms of Sections 1 and 2 above provided that you accompany
ad70cab
it with the complete corresponding machine-readable source code, which
ad70cab
must be distributed under the terms of Sections 1 and 2 above on a
ad70cab
medium customarily used for software interchange.
ad70cab
ad70cab
  If distribution of object code is made by offering access to copy
ad70cab
from a designated place, then offering equivalent access to copy the
ad70cab
source code from the same place satisfies the requirement to
ad70cab
distribute the source code, even though third parties are not
ad70cab
compelled to copy the source along with the object code.
ad70cab
ad70cab
  5. A program that contains no derivative of any portion of the
ad70cab
Library, but is designed to work with the Library by being compiled or
ad70cab
linked with it, is called a "work that uses the Library".  Such a
ad70cab
work, in isolation, is not a derivative work of the Library, and
ad70cab
therefore falls outside the scope of this License.
ad70cab
ad70cab
  However, linking a "work that uses the Library" with the Library
ad70cab
creates an executable that is a derivative of the Library (because it
ad70cab
contains portions of the Library), rather than a "work that uses the
ad70cab
library".  The executable is therefore covered by this License.
ad70cab
Section 6 states terms for distribution of such executables.
ad70cab
ad70cab
  When a "work that uses the Library" uses material from a header file
ad70cab
that is part of the Library, the object code for the work may be a
ad70cab
derivative work of the Library even though the source code is not.
ad70cab
Whether this is true is especially significant if the work can be
ad70cab
linked without the Library, or if the work is itself a library.  The
ad70cab
threshold for this to be true is not precisely defined by law.
ad70cab
ad70cab
  If such an object file uses only numerical parameters, data
ad70cab
structure layouts and accessors, and small macros and small inline
ad70cab
functions (ten lines or less in length), then the use of the object
ad70cab
file is unrestricted, regardless of whether it is legally a derivative
ad70cab
work.  (Executables containing this object code plus portions of the
ad70cab
Library will still fall under Section 6.)
ad70cab
ad70cab
  Otherwise, if the work is a derivative of the Library, you may
ad70cab
distribute the object code for the work under the terms of Section 6.
ad70cab
Any executables containing that work also fall under Section 6,
ad70cab
whether or not they are linked directly with the Library itself.
ad70cab

ad70cab
  6. As an exception to the Sections above, you may also compile or
ad70cab
link a "work that uses the Library" with the Library to produce a
ad70cab
work containing portions of the Library, and distribute that work
ad70cab
under terms of your choice, provided that the terms permit
ad70cab
modification of the work for the customer's own use and reverse
ad70cab
engineering for debugging such modifications.
ad70cab
ad70cab
  You must give prominent notice with each copy of the work that the
ad70cab
Library is used in it and that the Library and its use are covered by
ad70cab
this License.  You must supply a copy of this License.  If the work
ad70cab
during execution displays copyright notices, you must include the
ad70cab
copyright notice for the Library among them, as well as a reference
ad70cab
directing the user to the copy of this License.  Also, you must do one
ad70cab
of these things:
ad70cab
ad70cab
    a) Accompany the work with the complete corresponding
ad70cab
    machine-readable source code for the Library including whatever
ad70cab
    changes were used in the work (which must be distributed under
ad70cab
    Sections 1 and 2 above); and, if the work is an executable linked
ad70cab
    with the Library, with the complete machine-readable "work that
ad70cab
    uses the Library", as object code and/or source code, so that the
ad70cab
    user can modify the Library and then relink to produce a modified
ad70cab
    executable containing the modified Library.  (It is understood
ad70cab
    that the user who changes the contents of definitions files in the
ad70cab
    Library will not necessarily be able to recompile the application
ad70cab
    to use the modified definitions.)
ad70cab
ad70cab
    b) Accompany the work with a written offer, valid for at
ad70cab
    least three years, to give the same user the materials
ad70cab
    specified in Subsection 6a, above, for a charge no more
ad70cab
    than the cost of performing this distribution.
ad70cab
ad70cab
    c) If distribution of the work is made by offering access to copy
ad70cab
    from a designated place, offer equivalent access to copy the above
ad70cab
    specified materials from the same place.
ad70cab
ad70cab
    d) Verify that the user has already received a copy of these
ad70cab
    materials or that you have already sent this user a copy.
ad70cab
ad70cab
  For an executable, the required form of the "work that uses the
ad70cab
Library" must include any data and utility programs needed for
ad70cab
reproducing the executable from it.  However, as a special exception,
ad70cab
the source code distributed need not include anything that is normally
ad70cab
distributed (in either source or binary form) with the major
ad70cab
components (compiler, kernel, and so on) of the operating system on
ad70cab
which the executable runs, unless that component itself accompanies
ad70cab
the executable.
ad70cab
ad70cab
  It may happen that this requirement contradicts the license
ad70cab
restrictions of other proprietary libraries that do not normally
ad70cab
accompany the operating system.  Such a contradiction means you cannot
ad70cab
use both them and the Library together in an executable that you
ad70cab
distribute.
ad70cab

ad70cab
  7. You may place library facilities that are a work based on the
ad70cab
Library side-by-side in a single library together with other library
ad70cab
facilities not covered by this License, and distribute such a combined
ad70cab
library, provided that the separate distribution of the work based on
ad70cab
the Library and of the other library facilities is otherwise
ad70cab
permitted, and provided that you do these two things:
ad70cab
ad70cab
    a) Accompany the combined library with a copy of the same work
ad70cab
    based on the Library, uncombined with any other library
ad70cab
    facilities.  This must be distributed under the terms of the
ad70cab
    Sections above.
ad70cab
ad70cab
    b) Give prominent notice with the combined library of the fact
ad70cab
    that part of it is a work based on the Library, and explaining
ad70cab
    where to find the accompanying uncombined form of the same work.
ad70cab
ad70cab
  8. You may not copy, modify, sublicense, link with, or distribute
ad70cab
the Library except as expressly provided under this License.  Any
ad70cab
attempt otherwise to copy, modify, sublicense, link with, or
ad70cab
distribute the Library is void, and will automatically terminate your
ad70cab
rights under this License.  However, parties who have received copies,
ad70cab
or rights, from you under this License will not have their licenses
ad70cab
terminated so long as such parties remain in full compliance.
ad70cab
ad70cab
  9. You are not required to accept this License, since you have not
ad70cab
signed it.  However, nothing else grants you permission to modify or
ad70cab
distribute the Library or its derivative works.  These actions are
ad70cab
prohibited by law if you do not accept this License.  Therefore, by
ad70cab
modifying or distributing the Library (or any work based on the
ad70cab
Library), you indicate your acceptance of this License to do so, and
ad70cab
all its terms and conditions for copying, distributing or modifying
ad70cab
the Library or works based on it.
ad70cab
ad70cab
  10. Each time you redistribute the Library (or any work based on the
ad70cab
Library), the recipient automatically receives a license from the
ad70cab
original licensor to copy, distribute, link with or modify the Library
ad70cab
subject to these terms and conditions.  You may not impose any further
ad70cab
restrictions on the recipients' exercise of the rights granted herein.
ad70cab
You are not responsible for enforcing compliance by third parties to
ad70cab
this License.
ad70cab

ad70cab
  11. If, as a consequence of a court judgment or allegation of patent
ad70cab
infringement or for any other reason (not limited to patent issues),
ad70cab
conditions are imposed on you (whether by court order, agreement or
ad70cab
otherwise) that contradict the conditions of this License, they do not
ad70cab
excuse you from the conditions of this License.  If you cannot
ad70cab
distribute so as to satisfy simultaneously your obligations under this
ad70cab
License and any other pertinent obligations, then as a consequence you
ad70cab
may not distribute the Library at all.  For example, if a patent
ad70cab
license would not permit royalty-free redistribution of the Library by
ad70cab
all those who receive copies directly or indirectly through you, then
ad70cab
the only way you could satisfy both it and this License would be to
ad70cab
refrain entirely from distribution of the Library.
ad70cab
ad70cab
If any portion of this section is held invalid or unenforceable under any
ad70cab
particular circumstance, the balance of the section is intended to apply,
ad70cab
and the section as a whole is intended to apply in other circumstances.
ad70cab
ad70cab
It is not the purpose of this section to induce you to infringe any
ad70cab
patents or other property right claims or to contest validity of any
ad70cab
such claims; this section has the sole purpose of protecting the
ad70cab
integrity of the free software distribution system which is
ad70cab
implemented by public license practices.  Many people have made
ad70cab
generous contributions to the wide range of software distributed
ad70cab
through that system in reliance on consistent application of that
ad70cab
system; it is up to the author/donor to decide if he or she is willing
ad70cab
to distribute software through any other system and a licensee cannot
ad70cab
impose that choice.
ad70cab
ad70cab
This section is intended to make thoroughly clear what is believed to
ad70cab
be a consequence of the rest of this License.
ad70cab
ad70cab
  12. If the distribution and/or use of the Library is restricted in
ad70cab
certain countries either by patents or by copyrighted interfaces, the
ad70cab
original copyright holder who places the Library under this License may add
ad70cab
an explicit geographical distribution limitation excluding those countries,
ad70cab
so that distribution is permitted only in or among countries not thus
ad70cab
excluded.  In such case, this License incorporates the limitation as if
ad70cab
written in the body of this License.
ad70cab
ad70cab
  13. The Free Software Foundation may publish revised and/or new
ad70cab
versions of the Library General Public License from time to time.
ad70cab
Such new versions will be similar in spirit to the present version,
ad70cab
but may differ in detail to address new problems or concerns.
ad70cab
ad70cab
Each version is given a distinguishing version number.  If the Library
ad70cab
specifies a version number of this License which applies to it and
ad70cab
"any later version", you have the option of following the terms and
ad70cab
conditions either of that version or of any later version published by
ad70cab
the Free Software Foundation.  If the Library does not specify a
ad70cab
license version number, you may choose any version ever published by
ad70cab
the Free Software Foundation.
ad70cab

ad70cab
  14. If you wish to incorporate parts of the Library into other free
ad70cab
programs whose distribution conditions are incompatible with these,
ad70cab
write to the author to ask for permission.  For software which is
ad70cab
copyrighted by the Free Software Foundation, write to the Free
ad70cab
Software Foundation; we sometimes make exceptions for this.  Our
ad70cab
decision will be guided by the two goals of preserving the free status
ad70cab
of all derivatives of our free software and of promoting the sharing
ad70cab
and reuse of software generally.
ad70cab
ad70cab
			    NO WARRANTY
ad70cab
ad70cab
  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
ad70cab
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
ad70cab
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
ad70cab
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
ad70cab
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
ad70cab
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
ad70cab
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
ad70cab
LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
ad70cab
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
ad70cab
ad70cab
  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
ad70cab
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
ad70cab
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
ad70cab
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
ad70cab
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
ad70cab
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
ad70cab
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
ad70cab
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
ad70cab
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
ad70cab
DAMAGES.
ad70cab
ad70cab
		     END OF TERMS AND CONDITIONS
ad70cab

ad70cab
     Appendix: How to Apply These Terms to Your New Libraries
ad70cab
ad70cab
  If you develop a new library, and you want it to be of the greatest
ad70cab
possible use to the public, we recommend making it free software that
ad70cab
everyone can redistribute and change.  You can do so by permitting
ad70cab
redistribution under these terms (or, alternatively, under the terms of the
ad70cab
ordinary General Public License).
ad70cab
ad70cab
  To apply these terms, attach the following notices to the library.  It is
ad70cab
safest to attach them to the start of each source file to most effectively
ad70cab
convey the exclusion of warranty; and each file should have at least the
ad70cab
"copyright" line and a pointer to where the full notice is found.
ad70cab
ad70cab
    <one line to give the library's name and a brief idea of what it does.>
ad70cab
    Copyright (C) <year>  <name of author>
ad70cab
ad70cab
    This library is free software; you can redistribute it and/or
ad70cab
    modify it under the terms of the GNU Library General Public
ad70cab
    License as published by the Free Software Foundation; either
ad70cab
    version 2 of the License, or (at your option) any later version.
ad70cab
ad70cab
    This library is distributed in the hope that it will be useful,
ad70cab
    but WITHOUT ANY WARRANTY; without even the implied warranty of
ad70cab
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
ad70cab
    Library General Public License for more details.
ad70cab
ad70cab
    You should have received a copy of the GNU Library General Public
ad70cab
    License along with this library; if not, write to the Free
ad70cab
    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
ad70cab
ad70cab
Also add information on how to contact you by electronic and paper mail.
ad70cab
ad70cab
You should also get your employer (if you work as a programmer) or your
ad70cab
school, if any, to sign a "copyright disclaimer" for the library, if
ad70cab
necessary.  Here is a sample; alter the names:
ad70cab
ad70cab
  Yoyodyne, Inc., hereby disclaims all copyright interest in the
ad70cab
  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
ad70cab
ad70cab
  <signature of Ty Coon>, 1 April 1990
ad70cab
  Ty Coon, President of Vice
ad70cab
ad70cab
That's all there is to it!