Changeset - d1de64cafda9
[Not reviewed]
0 1 0
Bradley M. Kuhn - 10 years ago 2014-02-16 20:38:32
bkuhn@fsf.org
Various updates and edits following the 2004-01-20 course.
1 file changed with 101 insertions and 87 deletions:
gpl-lgpl.tex
101
87
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\
 

	
 
Columbia Law School, New York, NY, USA \\
 
\vspace{.1in}
 
Tuesday 20 January 2003 
 
Tuesday 20 January 2004
 
}
 

	
 
\vspace{.7in}
...
 
@@ -125,6 +125,15 @@ learned the following:
 
        works of software.
 
\end{itemize}
 

	
 
\bigskip
 

	
 
These course materials are merely a summary of the highlights of the
 
course presented.  Readers of this material should assume that they have
 
missed the bulk of the material, as the detailed discussion of about these
 
issues is the true education about GPL and LPGL\@.  Merely reading this
 
material is akin to matriculating into a college course and read only the
 
textbook instead of going to class.
 

	
 
\end{abstract}
 

	
 
\tableofcontents
...
 
@@ -600,6 +609,8 @@ economy.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{Running Software And Verbatim Copying}
 
\label{run-and-verbatim}
 

	
 

	
 
This chapter begins the deep discussion of the details of the terms of
 
GPL\@.  In this chapter, we consider the first two sections: GPL \S\S
...
 
@@ -668,7 +679,7 @@ matter is left up to copyright law, not the licenses that utilize it.
 
It is certainly true that copyright law as a whole does not propose clear
 
and straightforward guidelines for what is and is not a derivative
 
software work under copyright law.  However, no copyright license --- not
 
even the GNU GPL -- can be blamed for this.  Legislators and court
 
even the GNU GPL --- can be blamed for this.  Legislators and court
 
opinions must give us guidance to decide the border cases.
 

	
 
\section{GPL \S 1: Verbatim Copying}
...
 
@@ -761,6 +772,7 @@ of a derivative work of software. However, the applicable provisions do
 
provide some, albeit quite cursory, guidance. Section 101 of the Copyright
 
Act sets forth the following definitions:
 

	
 
\begin{quotation}
 
A ``computer program'' is a set of statements or instructions to be used
 
directly or indirectly in a computer in order to bring about a certain
 
result.
...
 
@@ -772,6 +784,7 @@ reproduction, abridgment, condensation, or any other form in which a work
 
may be recast, transformed, or adapted. A work consisting of editorial
 
revisions, annotations, elaborations, or other modifications which, as a
 
whole, represent an original work of authorship, is a ``derivative work''.
 
\end{quotation}
 

	
 
These are the only provisions in the Copyright Act relevant to the
 
determination of what constitutes a derivative work of a computer
...
 
@@ -1041,6 +1054,7 @@ adopts norms avoiding such risk.
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 

	
 
\chapter{Modified Source and Binary Distribution}
 
\label{source-and-binary}
 

	
 
In this chapter, we discuss the two core sections that define the rights
 
and obligations for those who modify, improve, and/or redistribute GPL'd
...
 
@@ -1496,49 +1510,50 @@ with respect to the licensed software.
 
\newcommand{\compB}{$\mathcal{B}$}
 
\newcommand{\compA}{$\mathcal{A}$}
 

	
 
For example, if Company \compA has a patent on advanced web browsing, but
 
For example, if Company \compA{} has a patent on advanced web browsing, but
 
also licenses a web browsing software program under the GPL, then it
 
cannot assert the patent against any party that takes a license to its
 
program under the GPL.  However, if a party uses that program without
 
complying with the GPL, then Company \compA can assert, not just copyright
 
complying with the GPL, then Company \compA{} can assert, not just copyright
 
infringement claims against the non-GPL-compliant party, but also
 
infringement of the patent, because the implied patent license only
 
extends to use of the software in accordance with the GPL.  Further, if
 
Company \compB distributes a competitive advanced web browsing program,
 
Company \compA is free to assert its patent against any user or
 
Company \compB{} distributes a competitive advanced web browsing program,
 
Company \compA{} is free to assert its patent against any user or
 
distributor of that product.  It is irrelevant whether Company \compB's
 
program is distributed under the GPL, as Company \compB can not grant
 
program is distributed under the GPL, as Company \compB{} can not grant
 
implied licenses to Company \compA's patent.
 

	
 
This result also reassures companies that they need not fear loosing their
 
proprietary value in patents to competitors through the GPL implied patent
 
license, as only those competitors who adopt and comply with the GPL's
 
terms can benefit from the implied patent license.  To continue the
 
example above, Company \compB does not receive a free ride on Company
 
\compA's patent, as Company \compB has not licensed-in and then
 
example above, Company \compB{} does not receive a free ride on Company
 
\compA's patent, as Company \compB{} has not licensed-in and then
 
redistributed Company A's advanced web browser under the GPL.  If Company
 
\compB does do that, however, Company \compA still has not lost
 
competitive advantage against Company \compB, as Company \compB must then,
 
\compB{} does do that, however, Company \compA{} still has not lost
 
competitive advantage against Company \compB{}, as Company \compB{} must then,
 
when it re-distributes Company \compA's program, grant an implied license
 
to any of its patents that cover the program.  Further, if Company \compB
 
to any of its patents that cover the program.  Further, if Company \compB{}
 
relicenses an improved version of Company A's program, it must do so under
 
the GPL, meaning that any patents it holds that cover the improved version
 
are impliedly licensed to any licensee.  As such, the only way Company
 
\compB can benefit from Company \compA's implied patent license, is if it,
 
\compB{} can benefit from Company \compA's implied patent license, is if it,
 
itself, distributes Company \compA's software program and grants an
 
implied patent license to any of its patents that cover that program.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{Defending Freedom On Many Fronts}
 

	
 
The last chapter presented the core freedom-defending provisions of GPL\@,
 
which are in \S\S 0--3.  \S\S 4--7 of the GPL are designed to ensure that
 
\S\S 0--3 are not infringed, are enforceable, are kept to the confines of
 
copyright law and are not trumped by other copyright agreements or
 
components of other entirely separate legal systems.  In short, while \S\S
 
0--3 are the parts of the license that defend the freedoms of users and
 
programmers, \S\S 4--7 are the parts of the license that keep the playing
 
field clear so that \S\S 0--3 can do their jobs.
 
Chapters~\ref{run-and-verbatim} and ~\ref{source-and-binary} presented the
 
core freedom-defending provisions of GPL\@, which are in \S\S 0--3.  \S\S
 
4--7 of the GPL are designed to ensure that \S\S 0--3 are not infringed,
 
are enforceable, are kept to the confines of copyright law and are not
 
trumped by other copyright agreements or components of other entirely
 
separate legal systems.  In short, while \S\S 0--3 are the parts of the
 
license that defend the freedoms of users and programmers, \S\S 4--7 are
 
the parts of the license that keep the playing field clear so that \S\S
 
0--3 can do their jobs.
 

	
 
\section{GPL \S 4: Termination on Violation}
 
\label{GPLs4}
...
 
@@ -1591,12 +1606,12 @@ That is FSF's steadfast position in a violation negotiation --- comply
 
with the license and respect freedom.
 

	
 
However, other entities who do not share the full ethos of software
 
freedom as institutionalized by FSF pursue GPL violations differently.  MySQL
 
AB, a company that produces the GPL'd MySQL database, upon discovering
 
GPL violations typically negotiates a proprietary software license
 
separately for a fee.  While this practice is not one that FSF would ever
 
consider undertaking or even endorsing, it is a legal way for copyright
 
holders to proceed.
 
freedom as institutionalized by FSF pursue GPL violations differently.
 
MySQL AB, a company that produces the GPL'd MySQL database, upon
 
discovering GPL violations typically negotiates a proprietary software
 
license separately for a fee.  While this practice is not one that FSF
 
would ever consider undertaking or even endorsing, it is a legal way for
 
copyright holders to proceed.
 

	
 
\section{GPL \S 5: Acceptance, Copyright Style}
 
\label{GPLs5}
...
 
@@ -1788,23 +1803,23 @@ as copyright law will allow is the most direct way to reach that goal.
 
However, while the strategic goal is to bring as much Free Software into
 
the world as possible, particular tactical situations of software freedom
 
dictate different means.  Extending the copyleft effect as far as
 
copyright law allows is not always the most prudent course to the goal.
 
In particular situations, even those of us with the goal of building a
 
world where all published software is Free Software realize that full
 
copyleft does not best serve that goal.  The GNU Lesser General Public
 
copyright law allows is not always the most prudent course in reaching the
 
goal.  In particular situations, even those of us with the goal of
 
building a world where all published software is Free Software realize
 
that full copyleft does not best serve us.  The GNU Lesser General Public
 
License (``GNU LGPL'') was designed as a solution for such situations.
 

	
 
\section{The First LGPL'd Program}
 

	
 
The first example that FSF encountered where such altered tactics were
 
needed was when work began on the GNU C Library.  The GNU C Library would
 
be (and today, now is) a drop-in replacement for existing C Libraries.  On
 
a Unix-like operating system, C is the lingua franca and the C library is
 
an essential component for all programs.  It is extremely difficult to
 
become (and today, now is) a drop-in replacement for existing C Libraries.
 
On a Unix-like operating system, C is the lingua franca and the C library
 
is an essential component for all programs.  It is extremely difficult to
 
construct a program that will run with ease on a Unix-like operating
 
system without making use of services provided by the GNU C Library --
 
even if the program is written in a language other than C\@.  Effectively,
 
all user application programs that run on any modern Unix-like system must
 
system without making use of services provided by the C Library --- even
 
if the program is written in a language other than C\@.  Effectively, all
 
user application programs that run on any modern Unix-like system must
 
make use of the C Library.
 

	
 
By the time work began on the GNU implementation of the C Library, there
...
 
@@ -1812,15 +1827,15 @@ were already many C libraries in existence from a variety of vendors.
 
Every proprietary Unix vendor had one, and many third parties produced
 
smaller versions for special purpose use.  However, our goal was to create
 
a C library that would provide equivalent functionality to these other C
 
Libraries on a Free Software operating system (which in fact happens today
 
in modern GNU/Linux systems, which all use the GNU C Library).
 
libraries on a Free Software operating system (which in fact happens today
 
on modern GNU/Linux systems, which all use the GNU C Library).
 

	
 
Unlike existing GNU application software, however, the licensing
 
implications of releasing the GNU C Library (``glibc'') under GPL were
 
somewhat different.  Applications released under GPL would never
 
themselves become part of proprietary software.  However, if glibc were
 
released under GPL, it would require that any application distributed for
 
the GNU/Linux platform be released under GPL.
 
the GNU/Linux platform be released under GPL\@.
 

	
 
Since all applications on a Unix-like system depend on the C library, it
 
means that they must link with that library to function on the system.  In
...
 
@@ -1837,18 +1852,18 @@ advocates, since it stops all proprietary software development on
 
GNU/Linux systems.  However, the outcome is a bit more subtle.  In a world
 
where many C Libraries already exist, many of which could easily be ported
 
to GNU/Linux, a GPL'd glibc would be unlikely to succeed.  Proprietary
 
vendors would see the excellent opportunity to license their C libraries to
 
anyone who wished to write proprietary software for GNU/Linux systems.
 
The de-facto standard for C libraries on GNU/Linux would likely become not
 
vendors would see the excellent opportunity to license their C libraries
 
to anyone who wished to write proprietary software for GNU/Linux systems.
 
The de-facto standard for C libraries on GNU/Linux would likely be not
 
glibc, but the most popular proprietary one.
 

	
 
Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no
 
proprietary applications on GNU/Linux --- would be unattainable in this
 
scenario.  Furthermore, users of those proprietary applications would also
 
be users of a proprietary C library, not glibc.
 
be users of a proprietary C library, not the Free glibc.
 

	
 
The Lesser GPL was first conceived to handle this scenario.  It was clear
 
that the existence of proprietary applications for GNU/Linux was
 
The Lesser GPL was initially conceived to handle this scenario.  It was
 
clear that the existence of proprietary applications for GNU/Linux was
 
inevitable.  Since there were so many C libraries already in existence, a
 
new one under GPL would not stop that tide.  However, if the new C library
 
were released under a license that (a) permitted proprietary applications
...
 
@@ -1860,25 +1875,23 @@ the C library.
 

	
 
There was no way the license of glibc could stop or even slow the creation
 
of proprietary applications on GNU/Linux.  However, loosening the
 
restrictions on the licensing of glibc was able to ensure that nearly all
 
proprietary applications at least used a Free C library rather than a
 
proprietary one.  This trade-off is central to the reasoning behind the
 
LGPL\@.
 
restrictions on the licensing of glibc ensured that nearly all proprietary
 
applications at least used a Free C library rather than a proprietary one.
 
This trade-off is central to the reasoning behind the LGPL\@.
 

	
 
Of course, many people who use the LGPL today are not thinking in these
 
terms.  In fact, they are often choosing the GPL because they are looking
 
for a ``compromise'' between the GPL and the X11-style liberal licensing
 
that does not reserve any rights to ensure the future freedom of the
 
software.  However, understanding FSF's reasoning behind the creation of
 
the LGPL is helpful when studying the license.
 
terms.  In fact, they are often choosing the LGPL because they are looking
 
for a ``compromise'' between the GPL and the X11-style liberal licensing.
 
However, understanding FSF's reasoning behind the creation of the LGPL is
 
helpful when studying the license.
 

	
 

	
 
\section{What's the Same?}
 

	
 
Much of the text of the LGPL is identical to the GPL\@.  As we begin our
 
discussion of the LGPL, we will first eliminate the sections that are
 
identical, or that have the minor change of changing the word ``Program''
 
to ``Library''.
 
identical, or that have the minor modifications of changing the word
 
``Program'' to ``Library''.
 

	
 
First, \S 1 of LGPL, the rules for verbatim copying of source, are
 
equivalent to those in GPL's \S 1.
...
 
@@ -2025,14 +2038,14 @@ the library'', works as follows:
 
\end{itemize}
 

	
 
We will talk about the specific restrictions LGPL places on ``works that
 
use the library'' in detail in Section~\ref{FIXME}.  For now, focus on the
 
logic related to how the LGPL 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
 
combining otherwise separate and independent works with GPL'd code.
 
Effectively, what LGPL is doing is saying 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''.
 
use the library'' in detail in Section~\ref{lgpl-section-6}.  For now,
 
focus on the logic related to how the LGPL 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 LGPL is doing is saying 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 LGPL has any control over the licensing
 
of a ``work that uses the library'' is for the same reason that GPL has
...
 
@@ -2122,11 +2135,10 @@ the license only so that when such a border case is hit, the implications
 
of using LGPL continue in the expected way.
 

	
 
To understand this subtle point, we must recall the way that a compiler
 
operates, which we discussed in Section~\ref{FIXME}.  The compiler first
 
generates object code, which are the binary representations of various
 
programming modules.  Each of those modules is usually not useful by
 
itself; it becomes useful to a user a a full program when those modules
 
are {\em assembled\/} into a full binary executable.
 
operates.  The compiler first generates object code, which are the binary
 
representations of various programming modules.  Each of those modules is
 
usually not useful by itself; it becomes useful to a user a full program
 
when those modules are {\em assembled\/} into a full binary executable.
 

	
 
As we have discussed, the assembly of modules can happen at compile-time
 
or at runtime.  Legally, there is no distinction between the two --- both
...
 
@@ -2154,7 +2166,7 @@ based on the library''.  However, since the compiler copies verbatim,
 
copyrighted portions of the library into the object code for the otherwise
 
separate and independent work, it would actually cause that object file a
 
``work based on the library''.  It is not FSF's intent that a mere
 
compilation idiosyncrasy changes the requirements on the users of the
 
compilation idiosyncrasy would change the requirements on the users of the
 
LGPL'd software.  This paragraph removes that restriction, allowing the
 
implications of the license to be the same regardless of the specific
 
mechanisms the compiler uses underneath to create the ``work that uses the
...
 
@@ -2170,7 +2182,7 @@ them understand that the full implications of LGPL are the same regardless
 
of the details of the compilation progress.
 

	
 
\section{LGPL \S 6: Distributing Works that Use the Library}
 

	
 
\label{lgpl-section-6}
 
Now that we have a established a good working definition of works that
 
``use'' and works that ``are based on'' the library, we will consider the
 
rules for distributing these two different works.
...
 
@@ -2184,10 +2196,10 @@ source form.  However, there are also conditions in LGPL \S 6 to make sure
 
that a user who wishes to modify or update the library can do so.
 

	
 
LGPL \S 6 lists five choices with regard to supplying library source and
 
the freedom to modify that library source the users.  We will first
 
consider the option given by \S 6(b), which describes the most common way
 
that is currently used for LGPL compliance on a ``work that uses the
 
library''.
 
granting the freedom to modify that library source to users.  We will
 
first consider the option given by \S 6(b), which describes the most
 
common way that is currently used for LGPL compliance on a ``work that
 
uses the library''.
 

	
 
\S 6(b) allows the distributor of a ``work that uses the library'' to
 
simply use a dynamically linked, shared library mechanism to link with the
...
 
@@ -2214,17 +2226,18 @@ based on the library'', so that the user can relink the application and
 
build a new binary.
 

	
 
The remaining options in \S 6 are very similar to the other choices
 
provided by GPL \S 3.  There are some additions, and time does not permit
 
us in this course to go into those additional options.  In almost all
 
cases of distribution under LGPL, either \S 6(a) or \S 6(b) are exercised.
 
provided by GPL \S 3.  There are some additional options, and time does
 
not permit us in this course to go into those additional options.  In
 
almost all cases of distribution under LGPL, either \S 6(a) or \S 6(b) are
 
exercised.
 

	
 
\section{Distribution of Works Based on the Library}
 

	
 
Essential, ``works based on the library'' must be distributed under the
 
same conditions as works under full GPL\@.  In fact, we note that LGPL's \S
 
2 is nearly identical in its terms and requirements to GPL's \S 2.  There
 
are again subtle differences and additions, which time does not permit us
 
to cover in this course.
 
Essentially, ``works based on the library'' must be distributed under the
 
same conditions as works under full GPL\@.  In fact, we note that LGPL's
 
\S 2 is nearly identical in its terms and requirements to GPL's \S 2.
 
There are again subtle differences and additions, which time does not
 
permit us to cover in this course.
 

	
 
\section{And the Rest}
 

	
...
 
@@ -3400,6 +3413,7 @@ That's all there is to it!
 
% LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs
 
% LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs
 
% LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
 
% LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce
 
% LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery
 
% LocalWords:  impermissibly
 
% LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce DVD
 
% LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery Iqtel
 
% LocalWords:  impermissibly Bateman faire minimis Borland uncopyrightable Mgmt
 
% LocalWords:  franca downloadable
0 comments (0 inline, 0 general)