[This is the first released version of the
Finally, software patents pose a constant
Lesser GPL. It also counts as the successor
threat to the existence of any free program.
of the GNU Library Public License, version
We wish to make sure that a company
2, hence the version number 2.1.]
cannot effectively restrict the users of a free
program by obtaining a restrictive license
Preamble
from a patent holder. Therefore, we insist
The licenses for most software are designed
that any patent license obtained for a
to take away your freedom to share and
version of the library must be consistent
change it. By contrast, the GNU General
with the full freedom of use specified in this
Public Licenses are intended to guarantee
license.
your freedom to share and change free
Most GNU software, including some
software--to make sure the software is free
libraries, is covered by the ordinary GNU
for all its users.
General Public License. This license, the
This license, the Lesser General Public
GNU Lesser General Public License,
License, applies to some specially
applies to certain designated libraries, and
designated software packages--typically
is quite different from the ordinary General
libraries--of the Free Software Foundation
Public License. We use this license for
and other authors who decide to use it. You
certain libraries in order to permit linking
can use it too, but we suggest you first think
those libraries into non-free programs.
carefully about whether this license or the
When a program is linked with a library,
ordinary General Public License is the
whether statically or using a shared library,
better strategy to use in any particular case,
the combination of the two is legally
based on the explanations below.
speaking a combined work, a derivative of
When we speak of free software, we are
the original library. The ordinary General
referring to freedom of use, not price. Our
Public License therefore permits such
General Public Licenses are designed to
linking only if the entire combination fits its
make sure that you have the freedom to
criteria of freedom. The Lesser General
distribute copies of free software (and
Public License permits more lax criteria for
charge for this service if you wish); that you
linking other code with the library.
receive source code or can get it if you want
We call this license the "Lesser" General
it; that you can change the software and
Public License because it does Less to
use pieces of it in new free programs; and
protect the user's freedom than the ordinary
that you are informed that you can do these
General Public License. It also provides
things.
other free software developers Less of an
To protect your rights, we need to make
advantage over competing non-free
restrictions that forbid distributors to deny
programs. These disadvantages are the
you these rights or to ask you to surrender
reason we use the ordinary General Public
these rights. These restrictions translate to
License for many libraries. However, the
certain responsibilities for you if you
Lesser license provides advantages in
distribute copies of the library or if you
certain special circumstances.
modify it.
For example, on rare occasions, there may
For example, if you distribute copies of the
be a special need to encourage the widest
library, whether gratis or for a fee, you must
possible use of a certain library, so that it
give the recipients all the rights that we
becomes a de-facto standard. To achieve
gave you. You must make sure that they,
this, non-free programs must be allowed to
too, receive or can get the source code. If
use the library. A more frequent case is that
you link other code with the library, you
a free library does the same job as widely
must provide complete object files to the
used non-free libraries. In this case, there is
recipients, so that they can relink them with
little to gain by limiting the free library to
the library after making changes to the
free software only, so we use the Lesser
library and recompiling it. And you must
General Public License.
show them these terms so they know their
In other cases, permission to use a
rights.
particular library in non-free programs
We protect your rights with a two-step
enables a greater number of people to use
method: (1) we copyright the library, and (2)
a large body of free software. For example,
we offer you this license, which gives you
permission to use the GNU C Library in non-
legal permission to copy, distribute and/or
free programs enables many more people
modify the library.
to use the whole GNU operating system, as
To protect each distributor, we want to
well as its variant, the GNU/Linux operating
make it very clear that there is no warranty
system.
for the free library. Also, if the library is
Although the Lesser General Public License
modified by someone else and passed on,
is Less protective of the users' freedom, it
the recipients should know that what they
does ensure that the user of a program that
have is not the original version, so that the
is linked with the Library has the freedom
original author's reputation will not be
and the wherewithal to run that program
affected by problems that might be
using a modified version of the Library.
introduced by others.
The precise terms and conditions for
the notices that refer to this License and
copying, distribution and modification
to the absence of any warranty; and
follow. Pay close attention to the difference
distribute a copy of this License along
between a "work based on the library" and a
with the Library.
"work that uses the library". The former
You may charge a fee for the physical
contains code derived from the library,
act of transferring a copy, and you may
whereas the latter must be combined with
at your option offer warranty protection
the library in order to run.
in exchange for a fee.
2. You may modify your copy or copies of
TERMS AND CONDITIONS FOR
the Library or any portion of it, thus
COPYING, DISTRIBUTION AND
forming a work based on the Library,
MODIFICATION
and copy and distribute such
modifications or work under the terms
0. This License Agreement applies to any
software library or other program which
of Section 1 above, provided that you
also meet all of these conditions:
contains a notice placed by the
copyright holder or other authorized
a) The modified work must itself be a
party saying it may be distributed under
software library.
the terms of this Lesser General Public
b)You must cause the files modified to
License (also called "this License").
carry prominent notices stating that
Each licensee is addressed as "you".
you changed the files and the date of
A "library" means a collection of
any change.
software functions and/or data
c) You must cause the whole of the work
prepared so as to be conveniently linked
to be licensed at no charge to all third
with application programs (which use
parties under the terms of this
some of those functions and data) to
License.
form executables.
d)If a facility in the modified Library
The "Library", below, refers to any such
refers to a function or a table of data
software library or work which has been
to be supplied by an application
distributed under these terms. A "work
program that uses the facility, other
based on the Library" means either the
than as an argument passed when
Library or any derivative work under
the facility is invoked, then you must
copyright law: that is to say, a work
make a good faith effort to ensure
containing the Library or a portion of it,
that, in the event an application does
either verbatim or with modifications
not supply such function or table, the
and/or translated straightforwardly into
facility still operates, and performs
another language. (Hereinafter,
whatever part of its purpose remains
translation is included without
meaningful.
limitation in the term "modification".)
(For example, a function in a library to
"Source code" for a work means the
compute square roots has a purpose
preferred form of the work for making
that is entirely well-defined independent
modifications to it. For a library,
of the application. Therefore,
complete source code means all the
Subsection 2d requires that any
source code for all modules it contains,
application-supplied function or table
plus any associated interface definition
used by this function must be optional:
files, plus the scripts used to control
if the application does not supply it, the
compilation and installation of the
square root function must still compute
library.
square roots.)
Activities other than copying,
These requirements apply to the
distribution and modification are not
modified work as a whole. If identifiable
covered by this License; they are outside
sections of that work are not derived
its scope. The act of running a program
from the Library, and can be reasonably
using the Library is not restricted, and
considered independent and separate
output from such a program is covered
works in themselves, then this License,
only if its contents constitute a work
and its terms, do not apply to those
based on the Library (independent of
sections when you distribute them as
the use of the Library in a tool for writing
separate works. But when you distribute
it). Whether that is true depends on
the same sections as part of a whole
what the Library does and what the
which is a work based on the Library,
program that uses the Library does.
the distribution of the whole must be on
1. You may copy and distribute verbatim
the terms of this License, whose
copies of the Library's complete source
permissions for other licensees extend
code as you receive it, in any medium,
to the entire whole, and thus to each
provided that you conspicuously and
and every part regardless of who wrote
appropriately publish on each copy an
it.
appropriate copyright notice and
disclaimer of warranty; keep intact all
Thus, it is not the intent of this section to
However, linking a "work that uses the
claim rights or contest your rights to
Library" with the Library creates an
work written entirely by you; rather, the
executable that is a derivative of the
intent is to exercise the right to control
Library (because it contains portions of
the distribution of derivative or
the Library), rather than a "work that
collective works based on the Library.
uses the library". The executable is
therefore covered by this License.
In addition, mere aggregation of
Section 6 states terms for distribution of
another work not based on the Library
such executables.
with the Library (or with a work based on
the Library) on a volume of a storage or
When a "work that uses the Library"
distribution medium does not bring the
uses material from a header file that is
other work under the scope of this
part of the Library, the object code for
License.
the work may be a derivative work of the
Library even though the source code is
3. You may opt to apply the terms of the
ordinary GNU General Public License
not. Whether this is true is especially
significant if the work can be linked
instead of this License to a given copy of
without the Library, or if the work is itself
the Library. To do this, you must alter all
the notices that refer to this License, so
a library. The threshold for this to be true
is not precisely defined by law.
that they refer to the ordinary GNU
General Public License, version 2,
If such an object file uses only
instead of to this License. (If a newer
numerical parameters, data structure
version than version 2 of the ordinary
layouts and accessors, and small
GNU General Public License has
macros and small inline functions (ten
appeared, then you can specify that
lines or less in length), then the use of
version instead if you wish.) Do not
the object file is unrestricted,
make any other change in these
regardless of whether it is legally a
notices.
derivative work. (Executables
containing this object code plus
Once this change is made in a given
portions of the Library will still fall under
copy, it is irreversible for that copy, so
the ordinary GNU General Public
Section 6.)
License applies to all subsequent
Otherwise, if the work is a derivative of
copies and derivative works made from
the Library, you may distribute the
that copy.
object code for the work under the
terms of Section 6. Any executables
This option is useful when you wish to
containing that work also fall under
copy part of the code of the Library into
a program that is not a library.
Section 6, whether or not they are linked
directly with the Library itself.
4. You may copy and distribute the Library
(or a portion or derivative of it, under
6. As an exception to the Sections above,
you may also combine or link a "work
Section 2) in object code or executable
that uses the Library" with the Library to
form under the terms of Sections 1 and
2 above provided that you accompany it
produce a work containing portions of
the Library, and distribute that work
with the complete corresponding
under terms of your choice, provided
machine-readable source code, which
that the terms permit modification of
must be distributed under the terms of
the work for the customer's own use
Sections 1 and 2 above on a medium
and reverse engineering for debugging
customarily used for software
such modifications.
interchange.
You must give prominent notice with
If distribution of object code is made by
each copy of the work that the Library is
offering access to copy from a
designated place, then offering
used in it and that the Library and its
use are covered by this License. You
equivalent access to copy the source
must supply a copy of this License. If the
code from the same place satisfies the
requirement to distribute the source
work during execution displays
copyright notices, you must include the
code, even though third parties are not
copyright notice for the Library among
compelled to copy the source along
with the object code.
them, as well as a reference directing
the user to the copy of this License.
5. A program that contains no derivative of
Also, you must do one of these things:
any portion of the Library, but is
designed to work with the Library by
a) Accompany the work with the
complete corresponding machine-
being compiled or linked with it, is
readable source code for the Library
called a "work that uses the Library".
Such a work, in isolation, is not a
including whatever changes were
used in the work (which must be
derivative work of the Library, and
distributed under Sections 1 and 2
therefore falls outside the scope of this
License.
above); and, if the work is an
executable linked with the Library,