53
It
08
08
For example, on rare occasions, there may
be a special need to encourage the widest
possible use of a certain libra ry, so that it
becomes a de-facto standard. 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 widely
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 prog rams
enables a greater number of people to use
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 operati ng
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 program
using a modified version of the Library.
The precise terms and conditions for
copying, distribution a nd modification
follow. Pay close attention to the difference
between a “work based on the library” and a
“work that uses the library”. The former
contains code derived from the library,
whereas the latter must be combined with
the library i n order to run.
TERMS AND CONDITIONS FOR
COPYING, DISTRIBUTION AND
MODIFICATION
0. This License Agreement a pplies to any
software library or other pr ogram which
contains a notice placed by the
copyright holder or other a uthorized
party saying it may be di stributed under
the terms of this Lesser General Public
License (also called “this License”).
Each licensee is addressed as “you”.
A “library” means a collection of
software functions and/or data
prepared so as to be conveniently linked
with application programs (which use
some of those functions and data) to
form executables.
The “Libra ry”, below, refe rs to any such
software library or wor k which has been
distributed under these terms. A “work
based on the Library” means either the
Library or any derivati ve 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 straightfor wardly into
another language. (Hereinafter,
translation is included without
limitation in the term “m odification”.)
“Source code” for a work means the
preferred form of the work for m aking
modifications to it. For a libra r y,
complete source code means all the
source code for all mod ules it contains,
plus any associated interface definition
files, plus the script s used to control
compilation and installation of the
library.
Activities other than copying,
distribution and modification are 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 covered
only if its contents constitute a work
based on the Librar y (independent of
the use of the Library in a tool for writing
it). Whether that is true depends on
what the Library does and what the
program that uses the Library does.
1. You may copy and distribute verbatim
copies of the Library's complete sour ce
code as you receive it, in any medium,
provided that you conspicuously and
appropriat ely publish on each c opy an
appropriat e copyright notice an d
disclaimer of warranty ; keep intact all
the notices that refer to this License and
to the absence of any warranty; and
distribute a copy of this License along
with the Library.
You may charge a fee for the physical
act of transferring a copy, and you may
at your option offer 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 work based on the Librar y ,
and copy and distribut e 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 library.
b) You must cause the files modified to
carry prominent notices stating that
you changed the files and the date of
any chan ge.
c) You must cause the whole of the work
to be licensed at no charge to all third
parties under the terms of this
License.
d) If a facility in the modified Library
refers to a function or a table of data
to be supplied by an ap plication
program that uses the facility, other
than as an argument passed w hen
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 oper ates, and performs
whatever pa rt of its purpose remains
meaningful.
(For example, a function in a library to
compute square roots has a purp ose
that is entirely well-defin ed independent
of the application. Therefore,
Subsection 2d requires that any
application-supplied fun ction or table
used by this function must be optio nal:
if the application does not supply it, the
square root function must still compute
square roots.)
These requirements apply to the
modified work as a whole. If identifiable
sections of that work are not derived
from the Library, and can be reasonably
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 works. But when you dist ribute
the same sections as part of a whole
which is a work based on the Library,
the distribution of the whol e must be on
the terms of this License, whose
permissions for other licensees extend
to the entire whole, and thus to each
and every pa rt regardless of who wrot e
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
collecti ve works ba sed on the Li brary.
In addition, mere aggreg ation of
another work no t based on the Library
with the Library (or with a work based on
the Library) on a vo lume of a storage or
distribut ion medium d oes not brin g the
other work under the scope of this
License.
3. You may opt to apply the terms of the
ordinary GNU General Public License
instead of this License to a given co py of
the Library. To do this, you must alter all
the no
tices that refer to this License, so
that they refer to the ord
inary GNU
General Public License, version 2,
instead of to this License. (If a new er
version than version 2 of the ordinary
GNU General Public License has
appeared, then you can specify that
version instead if you wish.) Do not
make any other change in these
notices.
Once this change is made in a given
copy, it is ir reversible for that copy , so
the ordinary GNU G eneral Public
License applies to all subsequent
copies and der ivative 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. Yo u may copy and distri bute the Library
(or a portio n or derivative of it, unde r
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 distri buted under the terms of
Sections 1 and 2 above on a medium
customarily used for sof tware
interc hange.
If dis tri buti on of o bje ct c ode is m ade by
offering access to copy from a
designate d place, then offer ing
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
compell ed to cop y the sour ce along
with the object code.
5. A program that contains no derivative 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 n ot a
derivat ive work of the Libr ary, and
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 distribution 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 fo r
the work may be a derivative work of the
Library even though the source code is
not. Whether this is true is es pecially
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 defined by law.
If such an object file uses only
numerical parameters, data structure
layouts and accessors, and small
macros and small inline functions (ten
lines or less in length), then the use of
the object file is unrestricted,
regardless o f whether it is legally a
derivati ve work. (Executabl es
containing this object code plus
portions of the Librar y will still fa ll under
Section 6.)
Otherwise, if the work is a der ivative 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.
6. As an excepti on to the Sections above,
you may also combine or link a “work
that uses the Library” with the Library to
produce a work containing portions of
the Library, and distribute that work
under terms of your choice, provided
that the terms permit modification of
the work for the customer’s own use
and reverse engineering f or debugging
such modifications.
You must give prominent notice with
each copy of the work that the Library is
used in i t and that the Libr ary and its
use are covered by this License. You
must supply a copy of this Licens e. If the
work during execution displays
copyright notices, you must include the
copyright notice for the Library among
them, as well as a reference direc ting
the user to the copy of this License.
Also, you must do one of these things:
a) Accompany the work with the
complete correspond ing machine -
readable source code for the Library
including whatever change s w ere
used in the work (which must be
distribut ed under Sec tions 1 and 2
above); and, if the work is an
executable linked with the Library,
with the complete machine-readable
“work that uses the Library”, as object
code and/or source code, so that the
user can modify the Library and then
relink to pr oduce a modified
executable containing the modified
Library. (It is understood that the user
who changes the contents of
definitions files in the Li brary will not
necessarily be ab le to recompile the
application to use the modified
definitions.)
b) Use a suitable share d library
mechanism for linking with the
Library . A sui table mechanism is one
that (1) uses at run time a copy of the
library already pr esent on the user's
computer system, rather than
copying librar y functions into the
executable, and (2) will operate
properly with a modified version of the
library, if the u ser installs one, as long
as the mod
ified version is in
terface-
compatible with the version that the
work was made with.
c) Accompany the work with a w ritten
offer, valid for at least three years, to
give the same user the materials
specified in Subsection 6a, above, for
a charge no more than the cost of
performing th is distributi on.
d) If dist ribution of t he work is made by
offering access to copy from a
designat ed place, offe r equivalent
access to copy the above specified
materials from the same place.
e) Veri fy that the user has already
received a copy of these materials or
that you have already sent this us er a
copy.
For an executable, the required form of
the “work that uses the Library” must
include any data an d utility programs
needed for reproducing the executable
from it. However, as a special exception,
the materials to be distributed need not
include anything that is nor mally
distributed (in either source or binary
form) with the major components
(compiler, kernel, and so on) of the
operating system on which the
executable runs, unless that
component itself accompanies the
executable.
It may happen that this requirement
contradicts the license restricti ons of
other propri etary libraries th at do not
normally accompany the opera ting
system. Such a contradiction means
you cannot use both them and the
Library together in an executable that
you distribute.
7. You may place library faci lities that are a
work based on th e Library side-by-side
in a single library together with other
library facilities not covered by this
License, and distri bute such a
combined library, provided that the
separate distribution of the work based
on the Library and of the other librar y
facilities is otherwise permitted, and
provided that you do these two things:
a) Accompany the combined library
with a copy of the same work based
on the Library, uncombined with any
other library faciliti es. This must be
distributed under the terms of the
Sections above.
b) Give prominent notice with the
combined librar y of the fact that p art
of it is a work based on the Library,
and explaining where to find the
accompanying uncombined form of
the same work.
8. You may not copy, modify, sublicense,
link with, or distribute the Library except
as expressly pro vided under this
License. Any attempt otherwise to copy,
modify, sublicense, link with, or
distribute the Library i s void, and will
automatically terminate your rights
under this License. However, parties
who have received copies, or rights,
from you under this License will not
have their licenses terminated so long
as such parties remain in f ull
compliance.
9. You are not required to accept this
License, since you have not signed it.
However, nothing else grants you
permission to modify or di stribute the
Library or its derivat ive works. The se
actions are prohibited by law if you do
not accept this License. Therefore, by
modifying o r distributing th e Library (or
any work based on the Librar y), you
indicate your acceptance of this
License to do so, a nd all it s terms and
conditions for copying, distr ibuting or
modifyin g the Library o r works based on
it.
10. Each time you r edistribute the Library
(or any work ba sed on the Library), the
recipient automatically receives a
license from the origin al licensor to
copy, distribute, link with or modify the
Library subject to these terms and
conditions. You may not impose any
further restri ctions on the recipients’
exercise of the rights granted herein.
You are not responsible for enforcing
compliance by thir d parties with this
License.
11. If, as a consequence of a court
judgment or allegation of patent
infringement or for any other rea son
(not limited to patent issues),
conditions are imposed on you (whether
by court order, agreement or otherwise)
that contradict the conditions of this
License, they do not excuse you from
the conditions of this License. If you
cannot distribute so as to satisfy
simultaneously your obligations under
this License and any other pertinent
obligations, then as a consequence you
may not distribute the Library at all. For
example, if a patent license would not
permit royalty-f ree redistribution of the
Library by all those who receive copies
directly or indirectly through you, then
the only way you could satisfy b oth it
and this License would be to refrain
entirely from distribution of the Lib rary.