@@ -3906,98 +3906,98 @@ as the following:
it becomes a de-facto standard over similar, although not
interface-identical, proprietary alternatives
\item To encourage use of a Free Software library that already has
interface-identical proprietary competitors that are more developed
\item To allow a greater number of users to get freedom, by encouraging
proprietary companies to pick a Free alternative for its otherwise
proprietary products
\end{itemize}
The LGPL's preamble sets forth the limits to which the license seeks to go in
chasing these goals. The LGPL is designed to ensure that users who happen to
acquire software linked with such libraries have full freedoms with
respect to that library. They should have the ability to upgrade to a newer
or modified Free version or to make their own modifications, even if they
cannot modify the primary software program that links to that library.
Finally, the preamble introduces two terms used throughout the license to
clarify between the different types of derivative works: ``works that use
the library,'' and ``works based on the library.'' Unlike the GPL, the LGPL must
draw some lines regarding derivative works. We do this here in this
license because we specifically seek to liberalize the rights afforded to
those who make derivative works. In GPL, we reach as far as copyright law
allows. In LGPL, we want to draw a line that allows some derivative works
those who make derivative works. In the GPL, we reach as far as copyright law
allows. In the LGPL, we want to draw a line that allows some derivative works
copyright law would otherwise prohibit if the copyright holder exercised
his full permitted controls over the work.
\section{An Application: A Work that Uses the Library}
In the effort to allow certain proprietary derivative works and prohibit
others, LGPL distinguishes between two classes of derivative works:
others, the LGPL distinguishes between two classes of derivative works:
``works based on the library,'' and ``works that use the library.'' The
distinction is drawn on the bright line of binary (or runtime) derivative
works and source code derivatives. We will first consider the definition
of a ``work that uses the library,'' which is set forth in LGPLv2.1~\S5.
We noted in our discussion of GPLv2~\S3 (discussed in
Section~\ref{GPLv2s3} of this document) that binary programs when
compiled and linked with GPL'd software are derivative works of that GPL'd
software. This includes both linking that happens at compile-time (when
the binary is created) or at runtime (when the binary -- including library
and main program both -- is loaded into memory by the user). In GPL,
binary derivative works are controlled by the terms of the license (in GPLv2~\S3),
and distributors of such binary derivatives must release full
corresponding source\@.
In the case of LGPL, these are precisely the types of derivative works
we wish to permit. This scenario, defined in LGPL as ``a work that uses
the library,'' works as follows:
\newcommand{\workl}{$\mathcal{L}$}
\newcommand{\lplusi}{$\mathcal{L\!\!+\!\!I}$}
\begin{itemize}
\item A new copyright holder creates a separate and independent work,
\worki{}, that makes interface calls (e.g., function calls) to the
LGPL'd work, called \workl{}, whose copyright is held by some other
party. Note that since \worki{} and \workl{} are separate and
independent works, there is no copyright obligation on this new copyright
holder with regard to the licensing of \worki{}, at least with regard to
the source code.
\item The new copyright holder, for her software to be useful, realizes
that it cannot run without combining \worki{} and \workl{}.
Specifically, when she creates a running binary program, that running
binary must be a derivative work, called \lplusi{}, that the user can
run.
\item Since \lplusi{} is a derivative work of both \worki{} and \workl{},
the license of \workl{} (the LGPL) can put restrictions on the license
of \lplusi{}. In fact, this is what LGPL does.
of \lplusi{}. In fact, this is what the LGPL does.
We will talk about the specific restrictions LGPLv2.1 places on ``works
that use the library'' in detail in Section~\ref{lgpl-section-6}. For
now, focus on the logic related to how the LGPLv2.1 places requirements on
the license of \lplusi{}. Note, first of all, the similarity between
this explanation and that in Section~\ref{separate-and-independent},
which discussed the combination of otherwise separate and independent
works with GPL'd code. Effectively, what LGPLv2.1 does is say that when a
new work is otherwise separate and independent, but has interface
calls out to an LGPL'd library, then it is considered a ``work that
uses the library.''
In addition, the only reason that LGPLv2.1 has any control over the licensing
of a ``work that uses the library'' is for the same reason that GPL has
some say over separate and independent works. Namely, such controls exist
because the {\em binary combination\/} (\lplusi{}) that must be created to
make the separate work (\worki{}) at all useful is a derivative work of
the LGPLv2.1'd software (\workl{}).
Thus, a two-question test that will help indicate if a particular work is
a ``work that uses the library'' under LGPLv2.1 is as follows:
@@ -4006,49 +4006,49 @@ a ``work that uses the library'' under LGPLv2.1 is as follows:
\item Is the source code of the new copyrighted work, \worki{}, a
completely independent work that stands by itself, and includes no
source code from \workl{}?
\item When the source code is compiled, does it create a derivative work
by combining with \workl{}, either by static (compile-time) or dynamic
(runtime) linking, to create a new binary work, \lplusi{}?
\end{enumerate}
If the answers to both questions are ``yes,'' then \worki{} is most likely
a ``work that uses the library.'' If the answer to the first question
``yes,'' but the answer to the second question is ``no,'' then most likely
\worki{} is neither a ``work that uses the library'' nor a ``work based on
the library.'' If the answer to the first question is ``no,'' but the
answer to the second question is ``yes,'' then an investigation into
whether or not \worki{} is in fact a ``work based on the library'' is
warranted.
\section{The Library, and Works Based On It}
In short, a ``work based on the library'' could be defined as any
derivative work of LGPL'd software that cannot otherwise fit the
definition of a ``work that uses the library.'' A ``work based on the
library'' extends the full width and depth of copyright derivative works,
in the same sense that GPL does.
in the same sense that the GPL does.
Most typically, one creates a ``work based on the library'' by directly
modifying the source of the library. Such a work could also be created by
tightly integrating new software with the library. The lines are no doubt
fuzzy, just as they are with GPL'd works, since copyright law gives us no
litmus test for derivative works of a software program.
Thus, the test to use when considering whether something is a ``work
based on the library'' is as follows:
\begin{enumerate}
\item Is the new work, when in source form, a derivative work under
copyright law of the LGPL'd work?
\item Is there no way in which the new work fits the definition of a
``work that uses the library''?
If the answer is ``yes'' to both these questions, then you most likely
have a ``work based on the library.'' If the answer is ``no'' to the
first but ``yes'' to the second, you are in a gray area between ``work
based on the library'' and a ``work that uses the library.''