Loading ...
Loading ...
Loading ...
54
APPENDIX
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
executable.
When a “work that uses the libraryuses
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
accessories, 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. (Executable
containing this object code plus 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 executable containing
that work also fall under Section 6,
whether or not they are linked directly
with 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 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 customers own use
and reverse engineering for debugging
such modifications.
You must give prominent notice with
each copy of the work that the library
is used in it and that the Library and
its use are covered by this license. You
must supply a copy of this license. If the
work during execution displays copyright
notices, you must include the copyright
notice for the library among them, as
well as a reference directing the user to
the copy of this license. Also, you must
do one of these things:
a) Accompany the work with the
complete corresponding machine-
readable source code for the library
including whatever changes were used
in the work (which must be distributed
under Sections 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 produce a
modified executable containing the
modified library. (It is understood that
the user who changes the contents
of definitions files in the library will
not necessarily be able to recompile
the application to use the modified
definitions.)
b) Use a suitable shared library
mechanism for linking with the
library. A suitable mechanism is
one that (1) uses at run time a copy
of the library already present on
the user’s computer system, rather
Loading ...
Loading ...
Loading ...