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 t hat
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.)
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 executables 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 customer’s 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