Additional information
53
En
08
08
Yoyodyne, Inc., hereby disclaims all
copyright interest in the program
‘Gnomovision’ (which makes passes at
compilers) written by James Hacker.
signature of T y Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not
permit inco rporating your program into
proprieta ry programs . If your prog ram is a
subroutine library, you may consider it
more usefu l to permit link ing proprietar y
applications with the librar y. If this is what
you want to do, use the GNU Lesser General
Public License instead of this License.
GNU LESSER GENERAL PUBLIC
LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Softw are
Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
Everyone is permitted to copy and distribute
verbatim copies of this license document,
but changing it is not allowed.
[This is the first released version of the
Lesser GPL. It also counts as the successor
of the GNU Library Public License, version
2, hence the version number 2.1.]
Preamble
The licenses for most software are designed
to take away your freedom to share and
change it. By contrast, the GNU General
Public Licenses are intended to guarantee
your freedom to share and change free
software--to make sure the software is free
for all its users.
This license, the Lesser Ge neral Public
License, applies to some specially
designated software packages- -typically
libraries--of the Free Software Foundation
and other authors who decide to use it. You
can use it too, but we suggest you first think
carefully about whether this license or the
ordinary General Public License is the
better strategy to use in any particular case,
based on the explanations below.
When we speak of free software, we are
referring to freedom of use, not price. Our
General Public Licenses are designed to
make sure that you have the freedom to
distribute copies of free software (and
charge for this service if you w ish); that you
receive source code or can get it if you want
it; that you can change the software and
use pieces of it in new free programs; and
that you are informed that you can do these
things.
To protect your rights, we need to make
restrictions that forbid distributors t o deny
you these rights or to ask you to surrender
these rights. These restrictions translate to
certain responsibilities fo r you if you
distribute copies of the library or if you
modify it.
For example, if you distribute copies of the
library, whet her gratis or for a fee, you must
give the recipients all the rights that we
gave you. You must make sure that they,
too, r eceive or can get the sour ce code. If
you link other code with the library, you
must provide complete object files to the
recipients, so that they can relink them with
the library after making changes to the
library and recomp iling it. And you must
show them these terms so they know their
rights.
We protect your rights with a two-step
method: (1) we copyright the library, and (2)
we offer you this license, which gives you
legal permission to copy, distr ibute and/or
modify the l ibrary.
To protect each distributor, we want to
make it very clear that there is no warr anty
for the free librar y. Also, if the library is
modified by someone else and passed on,
the recipients should know that what they
have is not the original version, so that the
original author's reputation will not be
affected by problems that might be
introduced by others.
Finally, software patents pose a constant
threat to the existence of any free program.
We wish to make sure that a company
cannot effectively restrict the users of a free
program by obt aining a restric tive license
from a patent holder. Therefore, we insist
that any patent license obtained for a
version of the library must be consistent
with the full freedom of use specified in thi s
license.
Most GNU software, includin g some
libraries, is cover ed by the ordinary GNU
General Public Licen se. This license, the
GNU Lesser General Public License,
applies to certain designa ted libraries, and
is quite different from the ordinary General
Public License. We use this license for
certain libraries in or der to permit linking
those libraries into non-free programs.
When a program is linked with a libra ry,
whether stati cally or using a sha red library,
the combination of the two is legally
speaking a combined work, a d erivative of
the origi nal library. The ordinary G eneral
Public License therefore permits such
linking only if the entire combinat ion fits its
criteria of freedom. The Lesser General
Public License pe rmits more lax criter ia for
linking other code with the library.
We call this license the “Les ser” General
Public License because it does Less to
protect the user's freedom than the ordinary
General Public Lic ense. It also provides
other free softw are developer s Less of an
advantage over competing non-free
programs. These disadvantages are the
reason we use the ordinary General Public
License for many libraries. However, the
Lesser license provides advantages in
certain special circumstances.
For example, on rare occasions, there may
be a special need to encourage the widest
possible use of a cer tain library, so that it
becomes a de-facto stand ard. To achieve
this, non-free progra ms must be allowed to
use the library. A more frequent case is that
a free library does the same job as wi dely
used non-free libraries. In this case, there is
little to gain by limiting the free library to
free software only, so we use the Lesser
General Public License.
In other cases, permission to use a
particular library in non-free programs
enables a great er number of people to us e
a large body of free software. For example,
permission to use the GNU C Library in non-
free programs enables many more people
to use the whole GNU operating system, as
well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License
is Less protective of the users’ freedom, it
does ensure that the user of a program that
is linked with the Library has the freedom
and the wherewithal to run that progra m
using a modified version of the Library.
The precise terms and conditions for
copying, distri bution and modificati on
follow. Pay close attention to the difference
between a “work base d on the library” and a
“work that uses the library”. The former
contains code derive d from the library,
whereas the latter must be combined with
the libr ary in order t o run.
TERMS AND CONDITIONS FOR
COPYING, DISTRIBUTION AND
MODIFICATION
0. This License Agreement app lies to any
software library or other program which
contains a notice placed by the
copyright holder or other authorized
party saying it may be distributed unde r
the terms of this Lesser General Public
License (also called “this License”).
Each licensee is addressed a s “you”.
A “library” me ans a collection of
software functions and/or da ta
prepared so as to be conveniently linked
with application programs (which use
some of those functions and data) to
form executables.
The “Library”, be low, refers to any such
software library or work which has been
distributed under these terms. A “work
based on the Library” means either the
Library or any derivative work under
copyright law: that is to say, a work
containing the Library or a portion of it,
either verbatim or with modifications
and/or translated straightforward ly into
another language. (Hereinafter,
translation is included without
limitation in the term “mo dification”.)
“Source c ode” for a w ork means the
preferred form of the work for making
modifications to it. For a li brary,
complet e source code mea ns all t he
source code for all mod ules it contains,
plus any associated in terface definition
files, plus the scripts used to control
compilation and installati on of the
library.
Activities other than copying,
distribution and modification a re not
covered by this License; they are outside
its scope. The act of running a program
using the Library is not restricted, and
output from such a program is covere d
only if its contents constitute a work
based on the Library (independent of
the use of the Library in a tool for writing
it). Whether that is true depends on
what the Libr ary does and w hat the
program that uses the Library does.
1. You may copy a nd distribute verb atim
copies o f the Libr ary's c omplete source
code as you receive it, in any medium,
provided that you conspicuously and
appropriately publish o n each copy an
appropriat e copyright noti ce and
disclaimer of warranty; keep inta ct all
the notices that refer to this License and
to the absence of any warranty; and
distribute a copy of this License alon g
with the Library.
You may charge a fee for the physi cal
act of transferring a copy, and you may
at your option o ffer warranty protection
in exchange for a fee.
2. You may modify your copy or copies of
the Library or any portion of it, thus
forming a wo rk based on the Lib rary,
and copy an d distribute such
modifications or work under the terms
of Section 1 above, provided that you
also meet all of these conditions:
a) The modified work must itself be a
software li brary.
b) You must cause the files modified to
carry pr ominent no tices sta ting that
you changed th e files and the date o f
any change.
c) You must cause the whole of the work
to b e li c e ns e d a t n o c h a rg e t o a l l t h i rd
parties under the terms of this
Licen se.
d) If a facility in the modified Library
refers to a function or a table of data
to be supplied by an application
program that uses the facility, other
than as an argument passed when
the facility is invoked, then you must
make a good faith effort to ensure
that, in the event an application does
not supply such function or table, the
facility still ope rates, and performs
whatever part of its purpose remai ns
meaningful.
(For example, a function in a library to
compute square roots has a pur pose
that is entirely well-defined independent
of the application. Therefore,
Subsection 2d requires that any
application-supplied function or table
used by this function must b e optional:
if the application does not supply it, the
square root function must sti ll compute
square roots.)
These requirements apply to the
modified work as a whole. If identifiable
sections of that work are not derived
from th e Library, and can be reasonab ly
considered independent and separate
works in themselves, then this License,
and its terms, do not apply to those
sections when you distribute them as
separate wo rks. But when you dis tribute
the same sections as part of a whole
which is a w ork based on t he Library,
the distribution of the whole must be on
the terms of this License, whose
permissions for other licensees extend
to the entire whole, and thus to each
and every part regardless of who wrote
it.
Thus, it is not the intent of this section to
claim rights or contest your rights to
work written entirely by you; rather, the
intent is to exercise the right to control
the distribution of derivative or
collective works based on the Libr ary.
In addition, mere aggregation of
another work not based on the Library
with the Library (or with a work based on
the Library) on a volume of a storage or
distribu tion medium does not br ing the
other work under the scope of this
License.
3. You may opt to apply the terms of the
ordinary GNU General Public License
in
stead of this License to a given copy of
the Library. To do this, you must alter all
the notices that refer to this License, so
that they refer to the ordinary GNU
General Public License, version 2,
instead of to this License. (If a newer
version than version 2 of the ordinary
GNU General Public License has
appeared, then you can specify that
version instead if you wish.) D o not
make any other change in these
notices.
Once this change is made in a given
copy, it is irreversible for that copy, so
the ordinar y GNU General P ublic
License applies to all subsequent
copies and derivative works made from
that copy.
This option is useful when you wish to
copy part of the code of the Library into
a program that is not a library .
4. You may copy and distribute the Library
(or a portion or d erivative of it, under
Section 2) in object code or executable
form under the terms of Sections 1 and
2 above provided that you accompany it
with the complete corresponding
machine-readable source code, which
must be distribute d under th e terms of
Sections 1 and 2 above on a medium
customarily used for software
interchange.
If distribution of object code is ma de by
offering access to copy from a
designated place, then offering
equivalent access to copy the source
code from the same place satisfies the
requirement to distribute the source
code, even though third parties are not
compelled to copy the source along
with the object code.
5. A program th at contain s no derivat ive of
any portion of the Library, but is
designed to work with the Library by
being compiled or linked with it, is
called a “work that uses the Library”.
Such a work, in isolation, is not a
derivative work of the Library, a nd
therefore falls outside the scope of this
License.
However, linking a “work that uses the
Library” with the Library creates an
executable that is a derivative of the
Library (because it contains portions of
the Library), rather than a “work that
uses the library”. The executable is
therefore covered by this License.
Section 6 states terms for distributio n of
such executables.
When a “work that uses the Library”
uses material from a header file that is
part of the Library, the object code for
the work may be a deri vative work of the
Library even though the source code is
not. Whether this is true is especially
significant if the work can be linked
without the Library, or if the work is itself
a library. The threshold for this to be true
is not precisely d efined by law.
If such an object file uses only
numerical paramete rs, data structu re
layouts and accessors, an d small
macros and small inline f unctions (ten
lines or less in length), then the use of
the object file is unrestricted,
regardless of whet her it is legally a
derivative work. (Executables
containing this object code plu s
portions of the Library will still fall under
Section 6.)
Otherwise, if the work is a derivative of
the Library, you may distribute the
object code for the work under the
terms of Section 6. Any executables
containing that work also fall under
Section 6, whether or not they are linked
directly with the Library itself.