@@ -678,384 +678,447 @@ Code writing is not litigation. It is better, richer, more
productive. But the law is an obvious instance of how creativity and
incentives do not depend upon perfect control over the products
created. Like jazz, or novels, or architecture, the law gets built
upon the work that went before. This adding and changing is what
creativity always is. And a free society is one that assures that its
most important resources remain free in just this sense.\footnote{This
quotation is Copyright \copyright{} 2002, Lawrence Lessig. It is
licensed under the terms of
\href{http://creativecommons.org/licenses/by/1.0/}{the ``Attribution
License'' version 1.0} or any later version as published by Creative
Commons.}
\end{quotation}
In essence, lawyers are paid to service the shared commons of legal
infrastructure. Few citizens defend themselves in court or write their
own briefs (even though they are legally permitted to do so) because
everyone would prefer to have an expert do that job.
The Free Software economy is a market ripe for experts. It
functions similarly to other well established professional fields like the
law. The GPL, in turn, serves as the legal scaffolding that permits the
creation of this vibrant commercial and noncommercial Free Software
economy.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{A Tale of Two Copyleft Licenses}
While determining the proper methodology and criteria to yield an accurate
count remains difficult, the GPL is generally considered one of the most
widely used Free Software licenses. For most of its history --- for 16 years
from June 1991 to June 2007 --- there was really only one version of the GPL,
version 2.
However, the GPL had both earlier versions before version 2, and, more well
known, a revision to version 3.
\section{Historical Motivations for the General Public License}
The earliest license to grant software freedom was likely the Berkeley
Software Distribution (``BSD'') license. This license is typical of what are
often called lax, highly permissive licenses. Not unlike software in the
public domain, these non-copyleft licenses (usually) grant software freedom
to users, but they do not go to any effort to uphold that software freedom
for users. The so-called ``downstream'' (those who receive the software and
then build new things based on that software) can restrict the software and
distribute further.
The GNU's Not Unix (``GNU'') project, which Richard M.~Stallman (``RMS'')
founded in 1984 to make a complete Unix-compatible operating system
implementation that assured software freedom for all. However, RMS saw that
using a license that gave but did not assure software freedom would be
counter to the goals of the GNU project. RMS invented ``copyleft'' as an
answer to that problem, and began using various copyleft licenses for the
early GNU project programs\footnote{RMS writes more fully about this topic in
his essay entitled simply
\href{http://www.gnu.org/gnu/thegnuproject.html}{\textit{The GNU Project}}.
For those who want to hear the story in his own voice,
\href{http://audio-video.gnu.org/audio/}{speech recordings} of his talk,
\textit{The Free Software Movement and the GNU/Linux Operating System}
are also widely available}.
\section{Proto-GPLs And Their Impact}
The earliest copyleft licenses were specific to various GNU programs. For
example, \href{http://www.free-soft.org/gpl_history/emacs_gpl.html}{The Emacs
General Public License} was likely the first copyleft license ever
published. Interesting to note that even this earliest copyleft license
contains a version of the well-known GPL copyleft clause:
\begin{quotation}
You may modify your copy or copies of GNU Emacs \ldots provided that you also
\ldots cause the whole of any work that you distribute or publish, that in
whole or in part contains or is a derivative of GNU Emacs or any part
thereof, to be licensed at no charge to all third parties on terms identical
to those contained in this License Agreement.
This simply stated clause is the fundamental innovation of copyleft.
Specifically, copyleft \textit{uses} the copyright holders' controls on
permission to modify the work to add a conditional requirement. Namely,
downstream users may only have permission to modify the work if they pass
along the same permissions on the modified version that came originally to
them.
These original program-specific proto-GPLs give an interesting window into
the central ideas and development of copyleft. In particular, reviewing them
shows how the text of the GPL we know has evolved to address more of the
issues discussed earlier in \S~\ref{software-and-non-copyright}.
\section{The GNU General Public License, Version 1}
In January 1989, the FSF announced that the GPL had been converted into a
``subroutine'' that could be reused not just for all FSF-copyrighted
programs, but also by anyone else. As the FSF claimed in its announcement of
the GPLv1\footnote{The announcement of GPLv1 was published in the
\href{http://www.gnu.org/bulletins/bull6.html\#SEC8}{GNU'S Bulletin, vol 1,
number 6 dated January 1989}. (Thanks very much to Andy Tai for his
\href{http://www.free-soft.org/gpl_history/}{consolidation of research on
the history of the pre-v1 GPL's}.)}:
To make it easier to copyleft programs, we have been improving on the
legalbol architecture of the General Public License to produce a new version
that serves as a general-purpose subroutine: it can apply to any program
without modification, no matter who is publishing it.
This, like many inventive ideas, seems somewhat obvious in retrospect. But,
the FSF had some bright people and access to good lawyers when it started.
It took almost five years from the first copyleft licenses to get to a
generalized, reusable GPLv1. In the context and mindset of the 1980s, this
is not surprising. The idea of reusable licensing infrastructure was not
only uncommon, it was virtually nonexistent! Even the early BSD licenses
were simply copied and rewritten slightly for each new use\footnote{It
remains an interesting accident of history that the early BSD problematic
``advertising clause'' (discussion of which is somewhat beyond the scope of
this tutorial) lives on into current day, simply because while the
University of California at Berkeley gave unilateral permission to remove
the clause from \textit{its} copyrighted works, others who adapted the BSD
license with their own names in place of UC-Berkeley's never have.}. The
GPLv1's innovation of reuable licensing infrastructure, an obvious fact
today, was indeed a novel invention for its day\footnote{We're all just
grateful that the FSF also opposes business method patents, since the FSF's
patent on a ``method for reusable licensing infrastructure'' would have
not expired until 2006!}.
\section{The GNU General Public License, Version 2}
The GPLv2 was released two and a half years after GPLv1, and over the
following sixteen years, it became the standard for copyleft licensing until
the release of GPLv3 in 2007 (discussed in more detail in the next section).
While this tutorial does not discuss the terms of GPLv1 in detail, it is
worth noting below the three key changes that GPLv2 brought:
\begin{itemize}
\item Software patents and their danger are explicitly mentioned, inspiring
(in part) the addition of GPLv2\S\S5--7. (These sections are discussed in
detail in \S~\ref{GPLv2s5}, \S~\ref{GPLv2s6} and \S~\ref{GPLv2s7} of this
tutorial.)
\item GPLv2\S2's copyleft terms are expanded to more explicitly discuss the
issue of combined works. (GPLv2\S2 is discussed in detail in
\S~\ref{GPLv2s2} in this tutorial).
\item GPLv2\S3 includes more detailed requirements, including the phrase
``the scripts used to control compilation and installation of the
executable'', which is a central component of current GPLv2 enforcement
. (GPLv2\S3 is discussed in detail in
\S~\ref{GPLv2s3} in this tutorial).
\end{itemize}
The next chapter discusses GPLv2 in full detail, and readers who wish to dive
into the section-by-section discussion of the GPL should jump ahead now to
that chapter. However, the most interesting fact to note here is how GPLv2
was published with little fanfare and limited commentary. This contrasts
greatly with the creation of GPLv3.
\section{The GNU General Public License, Version 3}
RMS began drafting GPLv2.2 in mid-2002, and FSF ran a few discussion groups
during that era about new text of that license. However, rampant violations
of the GPL required more immediate attention of FSF's licensing staff, and as
such, much of the early 2000's was spent doing GPL enforcement
work\footnote{More on GPL enforcement is discussed in \tutorialpartsplit{a
companion tutorial, \texit{A Practical Guide to GPL
Compliance}}{Part~\ref{gpl-compliance-guide} of this tutorial}.}. In
2006, FSF began in earnest drafting work for GPLv3.
The GPLv3 process began in earnest in January 2006. It became clear that
many provisions of the GPL could benefit from modification to fit new
circumstances and to reflect what the entire community learned from
experience with version 2. Given the scale of revision it seems proper to
approach the work through public discussion in a transparent and accessible
manner.
The GPLv3 process continued through June 2007, culminating in publication of
GPLv3 and LGPLv3 on 29 June 2007, AGPLv3 on 19 November 2007, and the GCC
Runtime Library Exception on 27 January 2009.
All told, four discussion drafts of GPLv3, two discussion drafts of LGPLv3
and two discussion drafts of AGPLv3 were published and discussed.
Ultimately, FSF remained the final arbiter and publisher of the licenses, and
RMS himself their primary author, but input was sought from many parties, and
these licenses do admittedly look and read more like legislation as a result.
Nevertheless, all of the ``v3'' group are substantially better and improved
licenses.
GPLv3 and its terms are discussed in detail in Chapter\~ref{GPLv3}.
\section{The Innovation of Optional ``Or Any Later'' Version}
An interesting fact of all GPL licenses is that the are ultimate multiple
choices for use of the license. The FSF is the primary steward of GPL (as
discussed later in \S~\ref{GPLv2s9} and \S~\ref{GPLv2s14}). However, those
who wish to license works under GPL are not required to automatically accept
changes made by the FSF for their own copyrighted works.
Each licensor may chose three different methods of licensing, as follows:
\item explicitly name a single version of GPL for their work (usually
indicated in shorthand by saying the license is ``GPLv$X$-only''), or
\item name no version of the GPL, thus they allow their downstream recipients
to select any version of the GPL they chose (usually indicated in shorthand
by saying the license is simply ``GPL''), or
\item name a specific version of GPL and give downstream recipients the
option to chose that version ``or any later version as published by the
FSF'' (usually indicated by saying the license is
``GPLv$X$-or-later'')\footnote{The shorthand of ``GPL$X+$'' is also popular
for this situation. The authors of this tutorial prefer ``-or-later''
syntax, because it (a) mirrors the words ``or'' and ``later from the
licensing statement, (b) the $X+$ doesn't make it abundantly clear that
$X$ is clearly included as a license option and (c) the $+$ symbol has
other uses in computing (such as with regular expressions) that mean
something different.}
\label{license-compatibility-first-mentioned}
Oddly, this flexibility has received (in the opinion of the authors, undue)
criticism, primarily because of the complex and oft-debated notion of
``license compatibility'' (which is explained in detail in
\S~\ref{license-compatibility}). Copyleft licenses are generally
incompatible with each other, because the details of how they implement
copyleft differs. Specifically, copyleft works only because of its
requirement that downstream licensors use the \texit{same} license for
combined and modified works. As such, software licensed under the terms of
``GPLv2-only'' cannot be combined with works licensed ``GPLv3-or-later''.
This is admittedly a frustrating outcome.
Other copyleft licenses that appeared after GPL, such
as the Creative Commons ``Share Alike'' licenses, the Eclipse Public License
and the Mozilla Public License \textbf{require} all copyright holders chosing
to use any version of those licenses to automatically accept and relicense
their copyrighted works under new versions. Of course ,Creative Commons, the
Eclipse Foundation, and the Mozilla Foundation (like the FSF) have generally
served as excellent stewards of their licenses. Copyright holders using
those licenses seems to find it acceptable that to fully delegate all future
licensing decisions for their copyrights to these organizations without a
second thought.
However, note that FSF gives herein the control of copyright holders to
decide whether or not to implicitly trust the FSF in its work of drafting
future GPL versions. The FSF, for its part, does encourage copyright holders
to chose by default ``GPLv$X$-or-later'' (where $X$ is the most recent
version of the GPL published by the FSF). However, the FSF \textbf{does not
mandate} that a choice to use any GPL requires a copyright holder ceding
its authority for future licensing decisions to the FSF. In fact, the FSF
considered this possibility for GPLv3 and chose not to do so, instead opting
for the third-party steward designation clause discussed in
Section~\ref{GPlv3S14}.
\section{Complexities of Two Simultaneously Popular Copylefts}
\chapter{GPLv2: Running Software and Verbatim Copying}
\label{run-and-verbatim}
This chapter begins the deep discussion of the details of the terms of
GPLv2\@. In this chapter, we consider the first two sections: GPLv2 \S\S
0--2. These are the straightforward sections of the GPL that define the
simplest rights that the user receives.
\section{GPLv2 \S 0: Freedom to Run}
\label{GPLs0}
\S 0, the opening section of GPLv2, sets forth that the work is governed by
copyright law. It specifically points out that it is the ``copyright
holder'' who decides if a work is licensed under its terms and explains
how the copyright holder might indicate this fact.
A bit more subtly, \S 0 makes an inference that copyright law is the only
system under which it is governed. Specifically, it states:
\begin{quote}
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.
\end{quote}
In essence, the license governs \emph{only} those activities, and all other
activities are unrestricted, provided that no other agreements trump GPLv2
(which they cannot; see Sections~\ref{GPLs6} and~\ref{GPLs7}). This is
very important, because the Free Software community heavily supports
users' rights to ``fair use'' and ``unregulated use'' of copyrighted
material. GPLv2 asserts through this clause that it supports users' rights
to fair and unregulated uses.
Fair use of copyrighted material is an established legal doctrine that
permits certain activities. Discussion of the various types of fair
use activity are beyond the scope of this tutorial. However, one
important example of fair use is the right to quote a very few lines
(less than seven or so) and reuse them as you would with or without
licensing restrictions.
Fair use is a doctrine established by the courts or by statute. By
contrast, unregulated uses are those that are not covered by the statue
nor determined by a court to be covered, but are common and enjoyed by
many users. An example of unregulated use is reading a printout of the
program's source code like an instruction book for the purpose of learning
how to be a better programmer.
\medskip
Thus, the GPLv2 protects users fair and unregulated use rights precisely by
not attempting to cover them. Furthermore, the GPLv2 ensures the freedom
to run specifically by stating the following:
''The act of running the Program is not restricted.''
Thus, users are explicitly given the freedom to run by \S 0.
The bulk of \S 0 not yet discussed gives definitions for other terms used
throughout. The only one worth discussing in detail is ``work based on
the Program.'' The reason this definition is particularly interesting is
not for the definition itself, which is rather straightforward, but
because it clears up a common misconception about the GPL\@.
The GPL is often mistakenly criticized because it fails to give a
definition of ``derivative work.'' In fact, it would be incorrect and
problematic if the GPL attempted to define this. A copyright license, in
fact, has no control over what may or may not be a derivative work. This
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
opinions must give us guidance to decide the border cases.
\section{GPLv2 \S 1: Verbatim Copying}
\label{GPLs1}
GPLv2 \S 1 covers the matter of redistributing the source code of a program
exactly as it was received. This section is quite straightforward.
However, there are a few details worth noting here.
The phrase ``in any medium'' is important. This, for example, gives the
freedom to publish a book that is the printed copy of the program's source
code. It also allows for changes in the medium of distribution. Some
vendors may ship Free Software on a CD, but others may place it right on
the hard drive of a pre-installed computer. Any such redistribution media
is allowed.
Preservation of copyright notice and license notifications are mentioned
specifically in \S 1. These are in some ways the most important part of
the redistribution, which is why they are mentioned by name. The GPL
always strives to make it abundantly clear to anyone who receives the
software what its license is. The goal is to make sure users know their
rights and freedoms under GPL, and to leave no reason that someone would be
surprised the software she got was licensed under GPL\@. Thus
throughout the GPL, there are specific references to the importance of
notifying others down the distribution chain that they have rights under
GPL.
Also mentioned by name is the warranty disclaimer. Most people today do
not believe that software comes with any warranty. Notwithstanding the
proposed state-level UCITA bills (which have never obtained widespread
adoption), there are few or no implied warranties with software.
However, just to be on the safe side, GPL clearly disclaims them, and the
GPL requires redistributors to keep the disclaimer very visible. (See
Sections~\ref{GPLs11} and~\ref{GPLs12} of this tutorial for more on GPL's
warranty disclaimers.)
Note finally that \S 1 begins to set forth the important defense of
commercial freedom. \S 1 clearly states that in the case of verbatim
copies, one may make money. Redistributors are fully permitted to charge
for the redistribution of copies of Free Software. In addition, they may
provide the warranty protection that the GPL disclaims as an additional
service for a fee. (See Section~\ref{Business Models} for more discussion
on making a profit from Free Software redistribution.)
\chapter{Derivative Works: Statute and Case Law}
We digress for this chapter from our discussion of GPL's exact text to
consider the matter of derivative works --- a concept that we must
understand fully before considering \S\S 2--3 of GPLv2\@. GPL, and Free
Software licensing in general, relies critically on the concept of
``derivative work'' since software that is ``independent,'' (i.e., not
``derivative'') of Free Software need not abide by the terms of the
applicable Free Software license. As much is required by \S 106 of the
Copyright Act, 17 U.S.C. \S 106 (2002), and admitted by Free Software
licenses, such as the GPL, which (as we have seen) states in \S 0 that ``a
`work based on the Program' means either the Program or any derivative
work under copyright law.'' It is being a derivative work of Free Software
that triggers the necessity to comply with the terms of the Free Software
license under which the original work is distributed. Therefore, one is
left to ask, just what is a ``derivative work''? The answer to that
question differs depending on which court is being asked.
The analysis in this chapter sets forth the differing definitions of
derivative work by the circuit courts. The broadest and most
established definition of derivative work for software is the
abstraction, filtration, and comparison test (``the AFC test'') as
created and developed by the Second Circuit. Some circuits, including
the Ninth Circuit and the First Circuit, have either adopted narrower
versions of the AFC test or have expressly rejected the AFC test in
favor of a narrower standard. Further, several other circuits have yet
to adopt any definition of derivative work for software.
As an introductory matter, it is important to note that literal copying of
a significant portion of source code is not always sufficient to establish
that a second work is a derivative work of an original
program. Conversely, a second work can be a derivative work of an original
program even though absolutely no copying of the literal source code of
the original program has been made. This is the case because copyright
protection does not always extend to all portions of a program's code,
while, at the same time, it can extend beyond the literal code of a
program to its non-literal aspects, such as its architecture, structure,
sequence, organization, operational modules, and computer-user interface.
\section{The Copyright Act}
The copyright act is of little, if any, help in determining the definition
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:
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.
A ``derivative work'' is a work based upon one or more preexisting works,
such as a translation, musical arrangement, dramatization,
fictionalization, motion picture version, sound recording, art
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.''
These are the only provisions in the Copyright Act relevant to the
determination of what constitutes a derivative work of a computer
program. Another provision of the Copyright Act that is also relevant to
the definition of derivative work is \S 102(b), which reads as follows:
In no case does copyright protection for an original work of authorship
extend to any idea, procedure, process, system, method of operation,
@@ -1889,400 +1952,403 @@ EULAs. EULAs are believed by their authors to be contracts, requiring
formal agreement between the licensee and the software distributor to be
valid. This has led to mechanisms like ``shrink-wrap'' and ``click-wrap''
as mechanisms to perform acceptance ceremonies with EULAs.
The GPL does not need contract law to ``transfer rights.'' No rights
are transfered between parties. By contrast, the GPL is a permission
slip to undertake activities that would otherwise have been prohibited
by copyright law. As such, it needs no acceptance ceremony; the
licensee is not even required to accept the license.
However, without the GPL, the activities of copying, modifying and
distributing the software would have otherwise been prohibited. So, the
GPL says that you only accepted the license by undertaking activities that
you would have otherwise been prohibited without your license under GPL\@.
This is a certainly subtle point, and requires a mindset quite different
from the contractual approach taken by EULA authors.
An interesting side benefit to \S 5 is that the bulk of users of Free
Software are not required to accept the license. Undertaking fair and
unregulated use of the work, for example, does not bind you to the GPL,
since you are not engaging in activity that is otherwise controlled by
copyright law. Only when you engage in those activities that might have an
impact on the freedom of others does license acceptance occur, and the
terms begin to bind you to fair and equitable sharing of the software. In
other words, the GPL only kicks in when it needs to for the sake of
freedom.
\section{Using GPL Both as a Contract and Copyright License}
\section{GPLv2 \S 6: GPL, My One and Only}
\label{GPLs6}
A point that was glossed over in Section~\ref{GPLs4}'s discussion of \S 4
was the irrevocable nature of the GPL\@. The GPLv2 is indeed irrevocable,
and it is made so formally by \S 6.
The first sentence in \S 6 ensures that as software propagates down the
distribution chain, that each licensor can pass along the license to each
new licensee. Under \S 6, the act of distributing automatically grants a
license from the original licensor to the next recipient. This creates a
chain of grants that ensure that everyone in the distribution has rights
under the GPLv2\@. In a mathematical sense, this bounds the bottom ---
making sure that future licensees get no fewer rights than the licensee before.
The second sentence of \S 6 does the opposite; it bounds from the top. It
prohibits any licensor along the distribution chain from placing
additional restrictions on the user. In other words, no additional
requirements may trump the rights and freedoms given by GPLv2\@.
The final sentence of \S 6 makes it abundantly clear that no individual
entity in the distribution chain is responsible for the compliance of any
other. This is particularly important for noncommercial users who have
passed along a source offer under \S 3(c), as they cannot be assured that
the issuer of the offer will honor their \S 3 obligations.
In short, \S 6 says that your license for the software is your one and
only copyright license allowing you to copy, modify and distribute the
software.
\section{GPLv2 \S 7: ``Give Software Liberty or Give It Death!''}
\label{GPLs7}
In essence, \S 7 is a verbosely worded way of saying for non-copyright
systems what \S 6 says for copyright. If there exists any reason that a
distributor knows of that would prohibit later licensees from exercising
their full rights under GPL, then distribution is prohibited.
Originally, this was designed as the title of this section suggests --- as
a last ditch effort to make sure that freedom was upheld. However, in
modern times, it has come to give much more. Now that the body of GPL'd
software is so large, patent holders who would want to be distributors of
GPL'd software have a tough choice. They must choose between avoiding
distribution of GPL'd software that exercises the teachings of their
patents, or grant a royalty-free, irrevocable, non-exclusive license to
those patents. Many companies, including IBM, the largest patent holder
in the world, have chosen the latter.
Thus, \S 7 rarely gives software death by stopping its distribution.
Instead, it is inspiring patent holders to share their patents in the same
freedom-defending way that they share their copyrighted works.
\section{GPLv2 \S 8: Excluding Problematic Jurisdictions}
\label{GPLs8}
\S 8 is rarely used by copyright holders. Its intention is that if a
particular country, say Unfreedonia, grants particular patents or allows
copyrighted interfaces (no country to our knowledge even permits those
yet), that the GPLv2'd software can continue in free and unabated
distribution in the countries where such controls do not exist.
It is a partial ``out'' from \S 7. Without \S 8, if a copyright holder
knew of a patent in a particular country licensed in a GPL-incompatible
way, then she could not distribute under GPL, because the work could
legitimately end up in the hands of citizens of Unfreedonia.
It is an inevitable but sad reality that some countries are freer than
others. \S 8 exists to permit distribution in those countries that are
free without otherwise negating parts of the license.
\chapter{Odds, Ends, and Absolutely No Warranty}
\S 0--7 constitute the freedom-defending terms of the GPLv2. The remainder
of the GPLv2 handles administrivia and issues concerning warranties and
liability.
\section{GPLv2 \S 9: FSF as Stewards of GPL}
\label{GPLs9}
FSF reserves the exclusive right to publish future versions of the GPL\@;
\S 9 expresses this. While the stewardship of the copyrights on the body
of GPL'd software around the world is shared among thousands of
individuals and organizations, the license itself needs a single steward.
Forking of the code is often regrettable but basically innocuous. Forking
of licensing is disastrous.
FSF has only released two versions of GPL --- in 1989 and 1991. GPL
version 3 is under current internal drafting. FSF's plan is to have a
long and engaging comment period. The goal of GPL is to defend freedom, and
a gigantic community depends on that freedom now. FSF hopes to take all
stakeholders' opinions under advisement.
\section{GPLv2 \S 10: Relicensing Permitted}
\label{GPLs10}
\S 10 reminds the licensee of what is already implied by the nature of
copyright law. Namely, the copyright holder of a particular software
program has the prerogative to grant alternative agreements under separate
copyright licenses.
\section{GPLv2 \S 11: No Warranty}
\label{GPLs11}
All warranty disclaimer language tends to be shouted in all capital
letters. Apparently, there was once a case where the disclaimer language
of an agreement was negated because it was not ``conspicuous'' to one of
the parties. Therefore, to make such language ``conspicuous,'' people
started placing it in bold or capitalizing the entire text. It now seems
to be voodoo tradition of warranty disclaimer writing.
Some have argued the GPL is unenforceable in some jurisdictions because
its disclaimer of warranties is impermissibly broad. However, \S 11
contains a jurisdictional savings provision, which states that it is to be
interpreted only as broadly as allowed by applicable law. Such a
provision ensures that both it, and the entire GPL, is enforceable in any
jurisdiction, regardless of any particular law regarding the
permissibility of certain warranty disclaimers.
Finally, one important point to remember when reading \S 11 is that \S 1
permits the sale of warranty as an additional service, which \S 11 affirms.
\section{GPLv2 \S 12: Limitation of Liability}
\label{GPLs12}
There are many types of warranties, and in some jurisdictions some of them
cannot be disclaimed. Therefore, usually agreements will have both a
warranty disclaimer and a limitation of liability, as we have in \S 12. \S
11 thus gets rid of all implied warranties that can legally be
disavowed. \S 12, in turn, limits the liability of the actor for any
warranties that cannot legally be disclaimed in a particular jurisdiction.
Again, some have argued the GPL is unenforceable in some jurisdictions
because its limitation of liability is impermissibly broad. However, \S
12, just like its sister, \S 11, contains a jurisdictional savings
provision, which states that it is to be interpreted only as broadly as
allowed by applicable law. As stated above, such a provision ensures that
both \S 12, and the entire GPL, is enforceable in any jurisdiction,
regardless of any particular law regarding the permissibility of limiting
So end the terms and conditions of the GNU General Public License.
\chapter{GPLv3}
\label{GPLv3}
\section{Understanding GPLv3 As An Upgraded GPLv2}
\section{GPLv3 \S 0: Giving In On ``Defined Terms''}
\section{GPLv3 \S 1: Understanding CCS}
\section{GPLv3 \S 2: Basic Permissions}
\section{GPLv3 \S 3: What Hath DMCA Wrought}
\label{GPLv3s3}
\section{GPLv3 \S 4: Verbatim Copying}
\section{GPLv3 \S 5: Modified Source}
\section{GPLv3 \S 6: Non-Source and Corresponding Source}
\section{Understanding License Compatibility}
\label{license-compatibility}
\section{GPLv3 \S 7: Explicit Compatibility}
\section{GPLv3 \S 8: A Lighter Termination}
\section{GPLv3 \S 9: Acceptance}
\section{GPLv3 \S 10: Explicit Downstream License}
\section{GPLv3 \S 11: Explicit Patent Licensing}
\label{GPLv3s11}
\section{GPLv3 \S 12: Familiar as GPLv2 \S 7}
\section{GPLv3 \S 13: The Great Affero Compromise}
\section{GPLv3 \S 14: So, When's GPLv4?}
\label{GPlv2s14}
\section{GPLv3 \S 15--17: Warranty Disclaimers and Liability Limitation}
\chapter{The Lesser GPL}
As we have seen in our consideration of the GPL, its text is specifically
designed to cover all possible derivative works under copyright law. Our
goal in designing GPL was to make sure that any derivative work of GPL'd
software was itself released under GPL when distributed. Reaching as far
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 considerations
regarding software freedom dictate different means. Extending the
copyleft effect as far as 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
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 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 libraries, there
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
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\@.
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
other words, all applications running on a Unix-like system must be
combined with the C library to form a new whole derivative work that is
composed of the original application and the C library. Thus, if glibc
were GPL'd, each and every application distributed for use on GNU/Linux
would also need to be GPL'd, since to even function, such applications
would need to be combined into larger derivative works by linking with
glibc.
At first glance, such an outcome seems like a windfall for Free Software
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 the C library 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 the Free glibc.
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 permitted proprietary applications
to link with it, but made sure that the library itself remained Free,
an ancillary goal could be met. Users of proprietary applications, while
they would not have the freedom to copy, share, modify and redistribute
the application itself, would have the freedom to do so with respect to
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 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 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 modification 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.
Second, \S 8 of LGPL is equivalent \S 4 of GPL\@. In both licenses, this
section handles termination in precisely the same manner.
\S 9 in LGPL is equivalent to \S 5 in GPL\@. Both sections assert that
the license is a copyright license, and handle the acceptance of those
copyright terms.
LGPL's \S 10 is equivalent to GPL's \S 6. They both protect the
distribution system of Free Software under these licenses, to ensure that
up, down, and throughout the distribution chain, each recipient of the
software receives identical rights under the license and no other
restrictions are imposed.
LGPL's \S 11 is GPL's \S 7. As discussed, it is used to ensure that
other claims and legal realities, such as patent licenses and court
judgments, do not trump the rights and permissions granted by these
licenses, and requires that distribution be halted if such a trump is
known to exist.
LGPL's \S 12 adds the same features as GPL's \S 8. These sections are
used to allow original copyright holders to forbid distribution in
countries with draconian laws that would otherwise contradict these
LGPL's \S 13 sets up FSF as the steward of the LGPL, just as GPL's \S 9
does for GPL. Meanwhile, LGPL's \S 14 reminds licensees that copyright
holders can grant exceptions to the terms of LGPL, just as GPL's \S 10
reminds licensees of the same thing.
Finally, the assertions of no warranty and limitations of liability are
identical; thus LGPL's \S 15 and \S 16 are the same as GPL's \S 11 and \S
12.
As we see, the entire latter half of the license is identical.
The parts which set up the legal boundaries and meta-rules for the license
are the same. It is our intent that the two licenses operate under the
same legal mechanisms and are enforced precisely the same way.
We strike a difference only in the early portions of the license.
Namely, in the LGPL we go into deeper detail of granting various permissions to
create derivative works, so the redistributors can make
some proprietary derivatives. Since we simply do not allow the
license to stretch as far as copyright law does regarding what
derivative works must be relicensed under the same terms, we must go
further to explain which derivative works we will allow to be
proprietary. Thus, we'll see that the front matter of the LGPL is a
bit more wordy and detailed with regards to the permissions granted to
those who modify or redistribute the software.
\section{Additions to the Preamble}
Most of LGPL's Preamble is identical, but the last seven paragraphs
introduce the concepts and reasoning behind creation of the license,
presenting a more generalized and briefer version of the story with which
we began our consideration of LGPL\@.
In short, FSF designed LGPL for those edge cases where the freedom of the
public can better be served by a more lax licensing system. FSF doesn't
encourage use of LGPL automatically for any software that happens to be a
library; rather, FSF suggests that it only be used in specific cases, such
as the following:
\item To encourage the widest possible use of a Free Software library, so
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
LGPL's preamble sets forth the limits to which the license seeks to go in
chasing these goals. 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.