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 deriva-
tive 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 execut-
able 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 distribu-
tion 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 ac-
cessors, and small macros and small inline
functions (ten lines or less in length), then
the use of the object file is unrestricted, re-
gardless 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 refer-
ence 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 contain-
ing 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 ap-
plication 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 than copying library func-
tions into the executable, and (2) will oper-
ate properly with a modified version of the
library, if the user installs one, as long as
the modified version is interface-compatible
with the version that the work was made