Owner's Manual
Table Of Contents
We
call
this license the
"Lesser"
General Public License because it does
Less
to
protect
the
user's
freedom than the ordinary General Public
License.
It
also
provides other free
software developers
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 certain library,
so
that it becomes a de-facto standard.
To
achieve this,
non· free programs 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 programs 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 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 program using a modified version
of
the Library.
The
precise terms and conditions for copying, distribution and 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
in
order to
run.
TERMS
AND
CONDITIONS
FOR
COPYING,
DISTRIBUTION
AND
MODIFICATION
0.
This License Agreement applies
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 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 "Library", below, 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 straightforwardly
into another language. (Hereinafter, translation
is
included
without
limitation
in
the term
"modification".)
"Source code" for a work 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
modules it
contains, plus any associated interface definition files, plus the scripts 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 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
uses
the Library does.
1.
You
may copy and distribute verbatim copies
of
the Library's complete source code
as
you receive it,
in
any medium, provided that you conspicuously and appropriately
publish on each copy
an
appropriate copyright notice and 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 Library, and copy and distribute such modifications or work under
the terms
of
Section 1 above, provided that you
also
meet
all
of
these conditions:
2
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 change.
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
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 operates, and performs whatever part
of
its
purpose remains meaningful.
(For
example, a function
in
a library
to
compute square roots
has
a purpose 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 be optional:
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
distribute the
same
sections
as
part
of
a whole which
is
a work
based
on the 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 Library.
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 distribution medium
does not bring 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 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.)
Do
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 ordinary
GNU
General Public 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 derivative
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 distributed under the terms
of
Sections 1 and 2 above on
a medium customarily used for software interchange.
If distribution
of
object code
is
made 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 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
not a derivative work
of
the Library, 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 for the work may be a derivative 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 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
of
whether
it
is
legally a derivative work.
(Executables containing this object code plus portions
of
the Library will still fall under
Section
6.)