79Appendix
7
Appendix
and/or translated straightforwardly
into another language. (Hereinafter ,
translation is included without
limitation in the term “ modication ” .)
“Source code” for a work means the
preferred f orm of the work for making
modications to it. For a library ,
complete source code means all the
source code for all modules it contains,
plus any associated interface denition
les, plus the scripts used to control
compilation and installation of the
library.
Activities other than copying,
distribution and modication are not
cover ed by this L icense; they are outsid e
its scope. The act of running a program
using the Library is not restricted, and
output from such a program is cov ered
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. Y ou 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 ref er to this License and
to the absence of any warranty; and
distribute a copy of this License along
with the Library.
Y ou may charge a fee f or the physical
act of transferring a copy, and you ma y
at your option oer warranty protection
in exchange for a fee .
2. Y ou may modify your copy or copies
of the Library or any por tion of it,
thus forming a work based on the
Library, and copy and distribute such
modications or work under the terms
of Section 1 above, provided that you
also meet all of these conditions:
a) T he modied work must itself be a
software library.
b) Y ou must cause the les modied
to carry prominent notices stating
that you changed the les and the
date of any change.
c) Y ou 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 modied Librar y
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 eort 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-dened 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
modied work as a whole. If identiable
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 y ou 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 par t 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. Y ou may opt to apply the terms of the
ordinary GNU General Public License
instead of this License to a given
copy of the Library. T o 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 irr eversible for that copy ,
so the ordinary GNU General Public
License applies to all subsequent co pies
and derivative works made from that
copy.
This option is useful when you wish to
copy part of the code of the Librar y into
a program that is not a library.
4. Y ou 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 accompan y
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 oering access to copy from
a designated place, then oering
equivalent access to copy the source
code from the same place satises 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 Librar y, 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 por tions
of the Library), rather than a “work
that uses the library ” . T he executable
is therefore co vered by this License.
Section 6 states terms for distribution of
such executables.
When a “ work that uses the Libra ry ” uses
material from a header le 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
signicant 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 dened by law .
If such an object le 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 le is unrestricted, regardless of
whether it is legally a derivative work.
(Executables containing this object
code plus portions of the Librar y will
still fall under Section 6.)
Other wise, 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.
6. As an exception t o 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 modication of
the work for the customer’s o wn use
HB985_USA_Open Source_ENG.indd 79 2011-09-27 �� 5:11:51