
your freedom to share and change it.
By
contrast, the
GNU
Genera/Public Licenses are intended to guarantee
your freedom
10
share and change free software·-to make
sure the software
is
free for
all
i,,~
users
lhis license, the Lesser General Public License, applies to
some specially designated software packages--typically
libraries--ofthe
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
licenseortheordinaryGenerall'ublicUcenseisthe
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
servieeify'ouwish);thatyourccei\"C~>urcecodeorcan
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 elm
do
these things
To
protecl your rights,
we
need to make restrictions that
forbid distributors todeny you these rights
or
to ask you
to surrender these rights. These restrictions translate to
certain responsibilities forY'ou
if
you distribute copies
of
the library
or
if
you modify
it.
For example.
if
you distribute copies
of
the
librarY',
whether gratis
or
for a
fee.
Y'0u
must give the recipients
all
the rights that
we
gave you.
You
must make sure that
they, too, receive or can get the source 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
recompiling
it.
And you must show them these terms so
they know their rights
We
protect your rights with atwo-step method:
(I)
we
copY'right the library, and (2)
we
offer you this license,
which gives you legal permissioll tocopy, distribute
and/or
modify the library.
To
protect each distributor,
we
want to make
it
\'ery clear that there
is
no
warranty for the
free library. Also, ifthe library
is
modified by someone
else and passed on, the recipients should know that what
the}'haveisnottheoriginalvt."rsion,sothattheoriginal
author's reputation
will
not
bl.°aff..-.:ted
by problems that
might be introouced
by
others
Finally, software patents pose aconstant threat to the
existencl.°
of any free program,
We
wish to make sure
that acompany cannot effectively restrict the users
of
afrec
program b}'obtaininga reslrictive license from a
patent holder. Therefore,
we
insist that any patent license
obtained
for
aversion
of
the library must be consistent
with the
full
freedom
of
use specified in this license
Most GNU software, including some libraries, is covered
b}'
the ordinary GNU General Public License. This
license, the
GNU
Lesser General Public License, applies to
certain designated libraries, and
is
quite different from the
ordinar}' General Public Ucense.
We
use this license for
certain libraries
in
order to permit linking those libraries
into non-free programs
When aprogram
is
linked with alibrary, whether
statically or using ashared library, the combination
of
the two
is
legally speaking acombined work. aderi"alive
of
the original library.
'1'he
ordinary General Public
License therefore permits such linking on
I)'
if the entire
combination
ftts
its
criteria offreedom.
the
Lesser
General Public License permits more lax c<iwria for
linking other code with the library.
We
call this license the "Lesser" General Public License
because
it
does
Less
to protect the user's freedom than
the ordinar}' General Public License.
It
also provides
other free software developers Lt."ssofan advantage over
competing non-free programs.
lhese
disadvantages are
the reason
we
use the ordinary General Public License
for many libraries However, the Lesser license provides
advantages in cerlain spedalcircumstances.
Fore~ample,on
rare occasions, there may
be
aspl.'cial
need to encouragt." the widest possible use
ofa
certain
library', so that
it
becoml.'s adl.'-facto standard.
To
achieve
this, non-free programs must be allowed to use the library.
Amore frequent case
is
that afree Iibrar}' does the same
job
as
widely used non-free libraries. In this case, there is
lilllc
to
gain b}'limitingthl.' free librar}'
to
free
software
only,soweusetheLesserGl.'nerall'ublicLicense.
In
other cases, permission to use aparticular Iibrar}'
in
non-free programsenables agreater number
of
people to
use alarge body
of
free software, For example, permission
to use the GNU CLibrar}'
in
non-free programs enables
many more people to use the whole
GNU
operating
system, as well as
its
variam, the
GNUfUnux
operating
system
Although the Lesser
Gmeral
Public License
is
I.ess
protecti\'eofthe users' freedom,
it
does ensure that the
user
of
aprogram thai
is
linked with the Library has the
freedom and the wherewithal to run that program using a
mooifted I'ersion
of
the Library.
lhe
precise terms and conditions for cop)'ing, distribution
and modification
follow.
Pay
close attention to Ihe
difference between a"work basl.'d
on
the library"
and
a
"work that uses the library". The former contains code
derived from the library, whereas the latler must be
combined with the library
in
order to
run
TERMS
AND
CONDITIONS
FOR
COPYING,
DISTRIBUTION
AND
MODIFICATION
O.
lhis
License Agreement applies to any software library
or
other program which contains anotice placed by the
copyright holder
or
other
authorizl.'d party saying it may
be distributed under Ihe terms
of
this Lesser General
Public License lalsocalled "this License"). Each licensee is
addressed as
"Y'ou"
A"library' means acollection
of
software functions
and/or data prl.'pared so
as
to be conveniently linked with
application programs (which use someofthosl.' functions
and data) to form executables.
lhe
"Library'; below, refers to
an}'
such software Iibrar}'
or
work which has been distributed under these terms. A
~work
basl.'dontheLibrary~meanseithertheLibrar}'orany
derivative work under cop}'rightlaw: that
is
to
say,
awork
containing the Librar}'
or
aportion
of
it, either verbatim
or
with modifications andfor translated straightforwardly
into another language. (Hereinafter, translation is
included without limitation in the term
"modification~.)
"Source code" for awork means the preferred form
of
the work for making modifications to it. For a
library, complete source code means all the source
code for all mooules
it
contains, plus
an}'
associated
inter(acedefinition files, plus
thl.'
scripts used to control
compilation and installation
of
the library.
Activities other than cop}'ing, distribUlion and
modification are not covered
by
this License; they are
outside its scope. 'Ihe act
of
running aprogram using the
Library
is
not restricted, and output from
sucha
program
is
covered only
if
its
contems constitute awork 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 Library does and what the program that
USl.'S
the
Library docs.
a) The modified work must itselfbe asoftware library.
b)
You
must calise the
files
modifted to carr}' prominent
notices stating that you changed the
tiks
and the date
of
any change
c)
You
must cause the whole
oftlie
work to be licensed
at
no charge to all third partiesundl.'r the terms
of
this
License
d) Ifafacility in the modified
Libraryreferstoafunction
or
atable
of
data to be supplied by
an
application program
that uses the facility,othl."rthan
asan
argument passed
when the facilit}'
is
inl'oked, then you must make agood
faithetfort to ensure that. in the event an application does
not supply such function ortabll.',the
faCility
still operates,
and performs whatever part
of
its purpose remains
meaningful.
(For example, afunction in alibrary to compute
square roots has apurpose that
is
entirely well-defined
independent
of
the application.
'lhnefore,
Subsection 2d
requires that any application-supplied function
or
table
used
by
this function
mUSt
be optional: if the application
docs not suppl}'
it,
the square root function must still
compute square roots.}
These requirementS apply to the modified work as a
whole. Ifidl."ntifiable 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
distribute the same sections as part
of
awhole which
is
°a
work based on the !.ihrar}', 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
regardlessofwhowroteil.
lhus,
it
is
not the intent
o(
this section toclaim rights
or
contest your rights to work writlen entirely by you;
rather, the intent
is
to exercise the right to control the
distribution
of
derivative
or
collective works based on the
Library.
In
addition, mere aggregation
of
another work not based
on the Lihrary with the Library (or with awork based
on the Lihrar}')
on
avolume
of
astorage
or
distribution
medium does not bringthe other work under the scope
of
IhisLicense
J.
You
rna}'
Oplto
apply the terms
of
the ordinary
GNU
General Public License instead
of
this License to agivl.'n
copy
of
the Library.
To
do
this, you must alter all the
notices that refer to this License, so thai the}' refer to the
ordinary GNU General Public License, version 2, instead
oftothisLicense.(1fanewerversionthanversion20fthe
ordinar}'
GNU
General Public License has appeared,
then
you can specif}' that version instead
if
you wish.} Do not
make any other change
in
these notices.
Once this change is made in agiven copy,
it
isirreversibl<"
for that copy, so the ordinary GNU
Gl.°neral
Public
License applies to
all
subsequent copies and derivative
works made from that copy.
'Ihisoption
is
useful when you wish to
cop}'
part
of
the
code
of
the Library into aprogram that
is
not alibrary,
4.
You
rna}'
copy and distribute the Library
(or
aportion
or
derivative
of
it, under Section 2) in object code
or
executable form under the terms
of
Sections 1
and2
above proVided that you accompany
it
with Ihe complete
corresponding machine-readable source code, which must
be distributed under the terms
of
Sections Iand 2above
on
amedium customarily used
for
software interchange
If
distribution
of
object code
is
made
by
offering access
to copy from adesignated place, then offering equivalent
access to copy Ihe source cooe fmm the same place
satisfies
the
requirement
10
distribute the source code,
even though third parties are not compelled tocopy the
source along wilh the object code.
5.
Aprogram that contains
no
d<"rivative
of
any portion
of
the library, but
is
dl."signed
to work with the Librar}'
by being compiled
or
linked with it,
is
called a
~work
that uses the Library': Such
awork,inisolation,isnota
derivative work
of
the Library, and
therefor<"
falls
outsid<"
the scope
of
this License
However, linking a"work that uses the Library» with
the l.ibrary creates
an
executable that
is
aderivative
of
thl.°
Library (because it contains portions
of
the Librar}'),
rather than a"work that uses the
library~
The executable
is
therefore covered b}',his License. Section 6states terms
for distribution
of
such executables.
When a"work that uses the Libraryn uses material from
aheader
file
that
is
part
of
the Library, the object code for
the work may be aderivative 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
itselfalibrary,
°The
threshold for
this
lobe
true
is
not precisely defined bylaw
Ifsuch
an object
file
uses only numerical parameters, data
structure la}'outsand accessors, and small macros and
small inline functions (ten
linesor!ess
in
length),then the
use
oftheobjeet
file
isunrestricted,regard1cssofwhether
it
is
legally aderivative work. (Executables containing this
object code plus portions
of
the Library will still
fall
under
Section 6.)
Otherwise,
if
the work
is
aderivative
of
the Library, you
lIlay distribute the object code for the work
under
th<"
terms
of
Section 6.
An}'
executables containing that work
also
fall
under
Seclion
6,whetheror
not they are linked
direetlywith the Library itself.
6.
As
an exception to the Sections above, you may also
combine
or
link a"work that uses the Library" with the
Library to proouce awork containing portions
of
the
Library, and distribute that work under terms
of
your
choice, provide-d that the terms permit modification
of
the
work for the customer's own uSl.'and reverse engineering
for debugging such modifications.
You
must give prominent notice with each copy
of
the
work that the Library
is
used
in
itand
that the Library
and its use are covered
b}'
this License.
You
must supply
acopy
of
this License.
If
the work
during
execution
displays cop}'right notices, you must include the copyright
notice (or the Library among them, as
well
as areference
directing the user to the copy
of
this License. Also, you
mustdooneofthesethings;
a) Accompany the work with the complete corresponding
machine-readable source cooe (or the Library including
whate"er changes were used in the work (which must be
distributed under Sections Iand 2above); and,
if
the work
isan
ex<"cutab1clinked with the Library, with the complete
machine-readable "work that uses the Library",asobject
code
and/or
sourc<"
code, so that the user can mooify the
Library and then relinkto produce amodified executable
containing the modified Library. (It
is
understood that
the
uSl."r
who changes the contentS
of
de
tinitions
files
in
the Library will not necessarily be able to recompile the
application to use the mooif'ed definitions.)
b)
Use
asuitable shared library mechanism for linking
with the !.ibrary. Asuitable mechanism
is
one that
(I)
uses at
run
time acopy
of
the library already present
on
the user's computer system, rather than copying