Changeset - dc84691b9398
[Not reviewed]
Richard Fontana - 9 years ago 2015-04-03 00:44:59
fontana@sharpeleven.org
Correct inconsistency in use/nonuse of definite article before
non-attributive uses of *GPLvn by opting for typical present-day FSF
usage (with no article). I believe the FSF tends to use "GPLvn"
(rather than "the GPLvn") when the license is referred to by
abbreviation and is not prefixed by "GNU". This can be confirmed by
analysis of usage on the fsf.org website.
2 files changed with 33 insertions and 33 deletions:
0 comments (0 inline, 0 general)
comprehensive-gpl-guide.tex
Show inline comments
...
 
@@ -130,49 +130,49 @@ many contributions received via its
 
\href{https://gitorious.org/copyleft-org/tutorial/source/master:CONTRIBUTING.md}{public
 
  contribution process}.  Please
 
\href{https://gitorious.org/copyleft-org/tutorial/history/master}{review its
 
  Git logs} for full documentation of all contributions, and
 
Appendix~\ref{third-party-citation-list}
 
  contains a list of third-party works from which some material herein was
 
adapted.
 

	
 
The most recent version is
 
available online at \url{https://copyleft.org/guide/}.  Patches
 
are indeed welcome to this material.  Sources can be found in the Git
 
repository at \url{https://gitorious.org/copyleft-org/tutorial/}.
 
}
 
\end{center}
 

	
 
\end{titlepage}
 

	
 
\tableofcontents
 

	
 
\chapter{Preface}
 

	
 
This tutorial is the culmination of nearly a decade of studying and writing
 
about software freedom licensing and the GPL\@.  Each part of this tutorial
 
is a course unto itself, educating the reader on a myriad of topics from the
 
deep details of the GPLv2 and GPLv3, common business models in the copyleft
 
deep details of GPLv2 and GPLv3, common business models in the copyleft
 
licensing area (both the friendly and unfriendly kind), best practices for
 
compliance with the GPL, for engineers, managers, and lawyers, as well as
 
real-world case studies of GPL enforcement matters.
 

	
 
It is unlikely that all the information herein is necessary to learn all at
 
once, and therefore this tutorial likely serves best as a reference book.
 
The material herein has been used as the basis for numerous live tutorials
 
and discussion groups since 2002, and the materials have been periodically
 
updated.   They likely stand on their own as excellent reference material.
 

	
 
However, if you are reading these course materials without attending a live
 
tutorial session, please note that this material is merely a summary of the
 
highlights of the various CLE and other tutorial courses based on this
 
material.  Please be aware that during the actual courses, class discussion
 
and presentation supplements this printed curriculum.  Simply reading this
 
material is \textbf{not equivalent} to attending a course.
 

	
 
\mainmatter
 

	
 
% FIXME: We need an Introduction.  I think ideally it goes here, before Part
 
%  I.  The introduction should cover initially:
 
%
 
%
 
%     * Why we cover the topics in the order that we do, in particular, why
gpl-lgpl.tex
Show inline comments
...
 
@@ -34,62 +34,62 @@ license, the GNU General Public License (``GNU GPL'', or sometimes just
 
``GPL'') -- both version 2 (``GPLv2'') and version 3 (``GPLv3'') -- and
 
teaches lawyers, software developers, managers and businesspeople how to use
 
the GPL (and GPL'd software) successfully both as a community-building
 
``Constitution'' for a software project, and to incorporate copylefted
 
software into a new Free Software business and in existing, successful
 
enterprises.
 

	
 
To benefit from this part of the tutorial, readers should
 
have a general familiarity with software development processes.  A basic
 
understanding of how copyright law applies to software is also helpful.  The
 
tutorial is of most interest to lawyers, software developers and managers who
 
run or advise software businesses that modify and/or redistribute software
 
under the terms of the GNU GPL (or who wish to do so in the future), and those
 
who wish to make use of existing GPL'd software in their enterprise.
 

	
 
Upon completion of this part of the tutorial, readers can expect
 
to have learned the following:
 

	
 
\begin{itemize}
 

	
 
  \item The freedom-defending purpose of various terms in the GNU GPLv2 and GPLv3.
 

	
 
  \item The differences between GPLv2 and GPLv3.
 

	
 
  \item The redistribution options under the GPLv2 and GPLv3.
 
  \item The redistribution options under GPLv2 and GPLv3.
 

	
 
  \item The obligations when modifying GPLv2'd or GPLv3'd software.
 

	
 
  \item How to build a plan for proper and successful compliance with the GPL.
 

	
 
  \item The business advantages that the GPL provides.
 

	
 
  \item The most common business models used in conjunction with the GPL.
 

	
 
  \item How existing GPL'd software can be used in existing enterprises.
 

	
 
  \item The basics of LGPLv2.1 and LGPLv3, and how they
 
    differ from the GPLv2 and GPLv3, respectively.
 
    differ from GPLv2 and GPLv3, respectively.
 

	
 
  \item The basics to begin understanding the complexities regarding
 
    derivative and combined works of software.
 
\end{itemize}
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
% END OF ABSTRACTS SECTION
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
% START OF DAY ONE COURSE
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 

	
 
\chapter{What Is Software Freedom?}
 

	
 
Study of the GNU General Public License (herein, abbreviated as \defn{GNU
 
  GPL} or just \defn{GPL}) must begin by first considering the broader world
 
of software freedom. The GPL was not created in a vacuum. Rather, it was
 
created to embody and defend a set of principles that were set forth at the
 
founding of the GNU Project and the Free Software Foundation (FSF) -- the
 
preeminent organization that upholds, defends and promotes the philosophy of software
 
freedom. A prerequisite for understanding both of the popular versions
 
of the GPL
 
(GPLv2 and GPLv3) and their terms and conditions is a basic understanding of
 
the principles behind them.  The GPL family of licenses are unlike nearly all
 
other software licenses in that they are designed to defend and uphold these
...
 
@@ -804,49 +804,49 @@ 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.
 
\end{quotation}
 

	
 
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}
 
\label{GPLv1}
 

	
 
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
 
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}.)}
 
\begin{quotation}
 
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.
 
\end{quotation}
 

	
 
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
...
 
@@ -1043,50 +1043,50 @@ activities are unrestricted, provided that no other agreements trump GPLv2
 
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 (called ``fair dealing'' in some jurisdictions) of copyrighted
 
material is an established legal doctrine that permits certain activities
 
regardless of whether copyright law would otherwise restrict those 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 portions of the text in a larger work so as to criticize or suggest
 
changes.  This fair use right is commonly used on mailing lists when
 
discussing potential improvements or changes to Free Software.
 

	
 
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.  The right to read something that you have
 
access to is and should remain unregulated and unrestricted.
 

	
 
\medskip
 

	
 
Thus, the GPLv2 protects users' fair and unregulated use rights precisely by
 
not attempting to cover them.  Furthermore, the GPLv2 ensures the freedom
 
Thus, GPLv2 protects users' fair and unregulated use rights precisely by
 
not attempting to cover them.  Furthermore, GPLv2 ensures the freedom
 
to run specifically by stating the following:
 
\begin{quote}
 
''The act of running the Program is not restricted.''
 
\end{quote}
 
Thus, users are explicitly given the freedom to run by GPLv2~\S0.
 

	
 
\medskip
 

	
 
The bulk of GPLv2~\S0 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'' or ``combined work''.  In fact, it would be incorrect and
 
problematic if the GPL attempted to define these terms.  A copyright license, in
 
fact, has no control over the rules of copyright themselves.  Such rules are
 
the domain of copyright law and the courts --- not the licenses that utilize
 
those systems.
 

	
 
Copyright law as a whole does not propose clear and straightforward guidelines
 
for identifying the derivative and/or combined works of software.  However,
 
no copyright license --- not even the GNU GPL --- can be blamed for this.
...
 
@@ -1490,49 +1490,49 @@ the defendant or over-aggressiveness on the part of the plaintiff.
 

	
 
\section{How Much Do Derivative Works Matter?}
 

	
 
It is certainly true that GPL intends for any work that is determined a
 
``derivative work'' under copyright law must be licensed as a whole under
 
GPL\@, as will be discussed in the following chapter.  However, as we finish
 
up our discussion derivative works, we must note that preparation of a
 
derivative work is by far not the only way to create a new work covered by
 
GPL\@.
 

	
 
In fact, while derivative work preparation is perhaps the most exciting area
 
of legal issues to consider, the more mundane ways to create a new work
 
covered by GPL are much more common.  For example, copyright statutes
 
generally require permission from the copyright holder to grant explicit
 
permission to modify a work in any manner.  As discussed in the next chapter,
 
the GPL {\em does} grant such permission, but requires the modified work must
 
also be licensed under the terms of the GPL (and only GPL:
 
see\S~\label{GPLv2s6} in this tutorial).  Determining whether software was
 
modified is a substantially easier analysis than the derivative work
 
discussions and considerations in this chapter.
 

	
 
The question of derivative works, when and how they are made, is undoubtedly
 
an essential discussion in the interpretation and consideration of copyleft.
 
That is why this chapter was included in this tutorial.  However, as we
 
return from this digression and resume discussion of the detailed text of the
 
return from this digression and resume discussion of the detailed text of
 
GPLv2, we must gain a sense of perspective: most GPL questions center around
 
questions of modification and distribution, not preparation of derivative
 
works.  Derivative work preparation is ultimately a small subset of the types
 
of modified versions of the software a developer might create, thus, while an
 
excessive focus on derivative works indulges us in the more exciting areas of
 
copyleft, we must keep a sense of perspective regarding their relative
 
importance.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 

	
 
\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
 
software. These sections, GPLv2~\S\S2--3, define the central core rights and
 
requirements of GPLv2\@.
 

	
 
\section{GPLv2~\S2: Share and Share Alike}
 
\label{GPLv2s2}
 

	
 
For many, this is where the ``magic'' happens that defends software
 
freedom upon redistribution.  GPLv2~\S2 is the only place in GPLv2
 
that governs the modification controls of copyright law.  If users
...
 
@@ -1723,49 +1723,49 @@ charge for modified versions of GPL'd software, but GPLv2~\S1 says that
 
they can.  Avoid this confusion: the ``at no charge'' \textbf{does not} prohibit re-distributors from
 
charging when performing the acts governed by copyright
 
law,\footnote{Recall that you could by default charge for any acts not
 
governed by copyright law, because the license controls are confined
 
by copyright.} but rather that they cannot charge a fee for the
 
\emph{license itself}.  In other words, redistributors of (modified
 
and unmodified) GPL'd works may charge any amount they choose for
 
performing the modifications on contract or the act of transferring
 
the copy to the customer, but they may not charge a separate licensing
 
fee for the software.
 

	
 
GPLv2~\S2(b) further states that the software must ``be licensed \ldots to all
 
third parties.''  This too yields some confusion, and feeds the
 
misconception mentioned earlier --- that all modified versions must be made
 
available to the public at large.  However, the text here does not say
 
that.  Instead, it says that the licensing under terms of the GPL must
 
extend to anyone who might, through the distribution chain, receive a copy
 
of the software.  Distribution to all third parties is not mandated here,
 
but GPLv2~\S2(b) does require re-distributors to license the whole work in
 
a way that extends to all third parties who may ultimately receive a
 
copy of the software.
 

	
 
In summary, GPLv2\ 2(b) says what terms under which the third parties must
 
receive this no-charge license.  Namely, they receive it ``under the terms
 
of this License'', the GPLv2.  When an entity \emph{chooses} to redistribute
 
of this License'', GPLv2.  When an entity \emph{chooses} to redistribute
 
a work based on GPL'd software, the license of that whole 
 
work must be GPL and only GPL\@.  In this manner, GPLv2~\S2(b) dovetails nicely
 
with GPLv2~\S6 (as discussed in Section~\ref{GPLv2s6} of this tutorial).
 

	
 
\medskip
 

	
 
The final paragraph of GPLv2~\S2 is worth special mention.  It is possible and
 
quite common to aggregate various software programs together on one
 
distribution medium.  Computer manufacturers do this when they ship a
 
pre-installed hard drive, and GNU/Linux distribution vendors do this to
 
give a one-stop CD or URL for a complete operating system with necessary
 
applications.  The GPL very clearly permits such ``mere aggregation'' with
 
programs under any license.  Despite what you hear from its critics, the
 
GPL is nothing like a virus, not only because the GPL is good for you and
 
a virus is bad for you, but also because simple contact with a GPL'd
 
code-base does not impact the license of other programs.  A programmer must
 
expend actual effort  to cause a work to fall under the terms
 
of the GPL.  Redistributors are always welcome to simply ship GPL'd
 
software alongside proprietary software or other unrelated Free Software,
 
as long as the terms of GPL are adhered to for those packages that are
 
truly GPL'd.
 

	
 
%FIXME: need discussion of GPLv2's system library exception somewhere in here.
 
\subsection{Right to Private Modification} 
...
 
@@ -2029,144 +2029,144 @@ purport to address the issue. This is the case because patent law, under
 
the doctrine of implied license, gives to each distributee of a patented
 
article a license from the distributor to practice any patent claims owned
 
or held by the distributor that cover the distributed article. The
 
implied license also extends to any patent claims owned or held by the
 
distributor that cover ``reasonably contemplated uses'' of the patented
 
article. To quote the Federal Circuit Court of Appeals, the highest court
 
for patent cases other than the Supreme Court:
 

	
 
\begin{quotation}
 
Generally, when a seller sells a product without restriction, it in
 
effect promises the purchaser that in exchange for the price paid, it will
 
not interfere with the purchaser's full enjoyment of the product
 
purchased. The buyer has an implied license under any patents of the
 
seller that dominate the product or any uses of the product to which the
 
parties might reasonably contemplate the product will be put.
 
\end{quotation}
 
Hewlett-Packard Co. v. Repeat-O-Type Stencil Mfg. Corp., Inc., 123 F.3d
 
1445, 1451 (Fed. Cir. 1997).
 

	
 
Of course, Free Software is licensed, not sold, and there are indeed
 
restrictions placed on the licensee, but those differences are not likely
 
to prevent the application of the implied license doctrine to Free
 
Software, because software licensed under the GPL grants the licensee the
 
right to make, use, and sell the software, each of which are exclusive
 
rights of a patent holder. Therefore, although the GPLv2 does not expressly
 
rights of a patent holder. Therefore, although GPLv2 does not expressly
 
grant the licensee the right to do those things under any patents the
 
licensor may have that cover the software or its reasonably contemplated
 
uses, by licensing the software under the GPLv2, the distributor impliedly
 
uses, by licensing the software under GPLv2, the distributor impliedly
 
licenses those patents to the GPLv2 licensee with respect to the GPLv2'd
 
software.
 

	
 
An interesting issue regarding this implied patent license of GPLv2'd
 
software is what would be considered ``uses of the [software] to which
 
the parties might reasonably contemplate the product will be put.'' A
 
clever advocate may argue that the implied license granted by GPLv2 is
 
larger in scope than the express license in other Free Software
 
licenses with express patent grants, in that the patent license
 
clause of many of those other Free  Software licenses are specifically 
 
limited to the patent claims covered by the code as licensed by the patentee.
 

	
 
In contrast, a GPLv2 licensee, under the doctrine of implied patent license, 
 
is free to practice any patent claims held by the licensor that cover 
 
``reasonably contemplated uses'' of the GPL'd code, which may very well 
 
include creation and distribution of modified works since the GPL's terms, 
 
under which the patented code is distributed, expressly permits such activity.
 

	
 

	
 
Further supporting this result is the Federal Circuit's pronouncement that
 
the recipient of a patented article has, not only an implied license to
 
make, use, and sell the article, but also an implied patent license to
 
repair the article to enable it to function properly, Bottom Line Mgmt.,
 
Inc. v. Pan Man, Inc., 228 F.3d 1352 (Fed. Cir. 2000). Additionally, the
 
Federal Circuit extended that rule to include any future recipients of the
 
patented article, not just the direct recipient from the distributor.
 
This theory comports well with the idea of Free Software, whereby software
 
is distributed among many entities within the community for the purpose
 
of constant evolution and improvement. In this way, the law of implied
 
patent license used by the GPLv2 ensures that the community mutually
 
patent license used by GPLv2 ensures that the community mutually
 
benefits from the licensing of patents to any single community member.
 

	
 
Note that simply because GPLv2'd software has an implied patent license does
 
not mean that any patents held by a distributor of GPLv2'd code become
 
worthless. To the contrary, the patents are still valid and enforceable
 
against either:
 

	
 
\begin{enumerate}
 
 \renewcommand{\theenumi}{\alph{enumi}}
 
 \renewcommand{\labelenumi}{\textup{(\theenumi)}}
 

	
 
\item any software other than that licensed under the GPLv2 by the patent
 
\item any software other than that licensed under GPLv2 by the patent
 
  holder, and
 

	
 
\item any party that does not comply with the GPLv2
 
\item any party that does not comply with GPLv2
 
with respect to the licensed software.
 
\end{enumerate}
 

	
 
\newcommand{\compB}{$\mathcal{B}$}
 
\newcommand{\compA}{$\mathcal{A}$}
 

	
 
For example, if Company \compA{} has a patent on advanced Web browsing, but
 
also licenses a Web browsing program under the GPLv2, then it
 
also licenses a Web browsing program under GPLv2, then it
 
cannot assert the patent against any party based on that party's use of 
 
Company \compA{}'s GPL'd Web browsing software program, or on that party's
 
creation and use of modified versions of that GPL'd program.  However, if a
 
party uses that program without
 
complying with the GPLv2, then Company \compA{} can assert both copyright
 
complying with GPLv2, then Company \compA{} can assert both copyright
 
infringement claims against the non-GPLv2-compliant party and
 
infringement of the patent, because the implied patent license only
 
extends to use of the software in accordance with the GPLv2. Further, if
 
extends to use of the software in accordance with GPLv2. Further, if
 
Company \compB{} distributes a competitive advanced Web browsing program 
 
that is not a modified version of Company \compA{}'s GPL'd Web browsing software
 
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 also distributed under the GPLv2, as Company \compB{} can not grant
 
program is also distributed under GPLv2, as Company \compB{} can not grant
 
implied licenses to Company \compA's patent.
 

	
 
This result also reassures companies that they need not fear losing their
 
proprietary value in patents to competitors through the GPLv2 implied patent
 
license, as only those competitors who adopt and comply with the GPLv2's
 
license, as only those competitors who adopt and comply with GPLv2'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
 
redistributed Company A's advanced Web browser under the GPLv2. If Company
 
redistributed Company A's advanced Web browser under GPLv2. If Company
 
\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{}
 
relicenses an improved version of Company A's program, it must do so under
 
the GPLv2, meaning that any patents it holds that cover the improved version
 
GPLv2, 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,
 
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}
 

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

	
 
\section{GPLv2~\S4: Termination on Violation}
 
\label{GPLv2s4}
 

	
 
GPLv2~\S4 is GPLv2's termination clause.  Upon first examination, it seems
 
strange that a license with the goal of defending users' and programmers'
 
freedoms for perpetuity in an irrevocable way would have such a clause.
 
However, upon further examination, the difference between irrevocability
 
and this termination clause becomes clear.
 

	
 
The GPL is irrevocable in the sense that once a copyright holder grants
 
rights for someone to copy, modify and redistribute the software under terms
 
of the GPL, they cannot later revoke that grant.  Since the GPL has no
 
provision allowing the copyright holder to take such a prerogative, the
 
license is granted as long as the copyright remains in effect.\footnote{In
 
  the USA, due to unfortunate legislation, the length of copyright is nearly
 
  perpetual, even though the Constitution forbids perpetual copyright.} The
 
copyright holders have the right to relicense the same work under different
...
 
@@ -2238,49 +2238,49 @@ freedom.
 
While GPL is by default a copyright license, it is certainly still possible
 
to consider GPL as a contract as well.  For example, some distributors chose
 
to ``wrap'' their software in an acceptance ceremony to the GPL, and nothing in
 
the GPL prohibits that use.  Furthermore, the ruling in \textit{Jacobsen
 
  v. Katzer, 535 F.3d 1373, 1380 (Fed.Cir.2008)} indicates that \textbf{both}
 
copyright and contractual remedies may be sought by a copyright holder
 
seeking to enforce a license designed to uphold software freedom.
 

	
 
% FIXME-LATER: Write this
 

	
 
%\section{Using GPL Both as a Contract and Copyright License}
 

	
 
\section{GPLv2~\S6: GPL, My One and Only}
 
\label{GPLv2s6}
 

	
 
A point that was glossed over in Section~\ref{GPLv2s4}'s discussion of GPLv2~\S4
 
was the irrevocable nature of the GPL\@. The GPLv2 is indeed irrevocable,
 
and it is made so formally by GPLv2~\S6.
 

	
 
The first sentence in GPLv2~\S6 ensures that as software propagates down the
 
distribution chain, that each licensor can pass along the license to each
 
new licensee.  Under GPLv2~\S6, 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 ---
 
under 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 GPLv2~\S6 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 GPLv2~\S6 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 GPLv2~\S3(c), as they cannot be assured that
 
the issuer of the offer will honor their GPLv2~\S3 obligations.
 

	
 
In short, GPLv2~\S6 says that your license for the software is your one and
 
only copyright license allowing you to copy, modify and distribute the
 
software.
 

	
 
GPLv2~\S6 is GPLv2's ``automatic downstream licensing''
 
provision\footnote{This section was substantially expanded for clarity and
 
  detail in \hyperref[GPLv3s10]{GPLv3~\S10}.}.  Each time you
 
redistribute a GPL'd program, the recipient automatically receives a license
 
from each original licensor to copy, distribute or modify the program subject
 
to the conditions of the license.  The redistributor need not take any
 
to ensure the downstream recipient's acceptance of the license terms.
...
 
@@ -2346,50 +2346,50 @@ freedom-defending way that they share their copyrighted works.
 

	
 
GPLv2~\S8 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.
 

	
 
As far as is currently known, GPLv2~\S8 has very rarely been formally used by
 
copyright holders.  Admittedly, some have used GPLv2~\S8 to explain various
 
odd special topics of distribution (usually related in some way to
 
GPLv2~\S7).  However, generally speaking, this section is not proven
 
particularly useful in the more than two decades of GPLv2 history.
 

	
 
Meanwhile, despite many calls by the FSF (and others) for those licensors who
 
explicitly use this section to come forward and explain their reasoning, no
 
one ever did.  Furthermore, research conducted during the GPLv3 drafting
 
process found exactly one licensor who had invoked this section to add an
 
explicit geographical distribution limitation, and the reasoning for that one
 
invocation was not fitting with FSF's intended spirit of GPLv2~\S8.  As such,
 
GPLv2~\S8 was not included at all in GPLv3.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{Odds, Ends, and Absolutely No Warranty}
 

	
 
GPLv2~\S\S0--7 constitute the freedom-defending terms of the GPLv2.  The remainder
 
of the GPLv2 handles administrivia and issues concerning warranties and
 
GPLv2~\S\S0--7 constitute the freedom-defending terms of GPLv2.  The remainder
 
of GPLv2 handles administrivia and issues concerning warranties and
 
liability.
 

	
 
\section{GPLv2~\S9: FSF as Stewards of GPL}
 
\label{GPLv2s9}
 

	
 
FSF reserves the exclusive right to publish future versions of the GPL\@;
 
GPLv2~\S9 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.
 

	
 
(Chapter~\ref{tale-of-two-copylefts} discusses more about the various
 
versions of GPL.)
 

	
 
\section{GPLv2~\S10: Relicensing Permitted}
 
\label{GPLv2s10}
 

	
 
GPLv2~\S10 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~\S11: No Warranty}
...
 
@@ -2483,49 +2483,49 @@ both GPLv2~\S12, and the entire GPL, is enforceable in any jurisdiction,
 
regardless of any particular law regarding the permissibility of limiting
 
liability.
 

	
 
So end the terms and conditions of the GNU General Public License.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{GPL Version 3}
 
\label{GPLv3}
 

	
 
This chapter discusses the text of GPLv3.  Much of this material herein
 
includes text that was adapted (with permission) from text that FSF
 
originally published as part of the so-called ``rationale documents'' for the
 
various discussion drafts of GPLv3.
 

	
 
The FSF ran a somewhat public process to develop GPLv3, and it was the first
 
attempt of its kind to develop a Free Software license this way.  Ultimately,
 
RMS was the primary author of GPLv3, but he listened to feedback from all
 
sorts of individuals and even for-profit companies.  Nevertheless, in
 
attempting to understand GPLv3 after the fact, the materials available from
 
the GPLv3 process have a somewhat ``drinking from the firehose'' effect.
 
This chapter seeks to explain GPLv3 to newcomers, who perhaps are familiar
 
with GPLv2 and who did not participate in the GPLv3 process.
 

	
 
Those who wish to drink from the firehose and take a diachronic approach to
 
GPLv3 study by reading the step-by-step public drafting process of the GPLv3 (which
 
GPLv3 study by reading the step-by-step public drafting process of GPLv3 (which
 
occurred from Monday 16 January 2006 through Monday 19 November 2007) should
 
visit \url{http://gplv3.fsf.org/}.
 

	
 
\section{Understanding GPLv3 As An Upgraded GPLv2}
 

	
 
Ultimately, GPLv2 and GPLv3 co-exist as active licenses in regular use.  As
 
discussed in Chapter~\ref{tale-of-two-copylefts}, GPLv1 was never regularly
 
used alongside GPLv2.  However, given GPLv2's widespread popularity and
 
existing longevity by the time GPLv3 was published, it is not surprising that
 
some licensors still prefer GPLv2-only or GPLv2-or-later.  GPLv3 gained major
 
adoption by many projects, old and new, but many projects have not upgraded
 
due to (in some cases) mere laziness and (in other cases) policy preference
 
for some of GPLv2's terms and/or policy opposition to GPLv3's terms.
 

	
 
Given this ``two GPLs world'' is reality, it makes sense to consider GPLv3 in
 
terms of how it differs from GPLv2.  Also, most of the best GPL experts in
 
the world must deal regularly with both licenses, and admittedly have decades
 
of experience with GPLv2 while the most experience with GPLv3 that's possible
 
is by definition less than a decade.  These two factors usually cause even new
 
students of GPL to start with GPLv2 and move on to GPLv3, and this tutorial
 
follows that pattern.
 

	
 
Overall, the changes made in GPLv3 admittedly \textit{increased} the
 
complexity of the license.  The FSF stated at the start of the GPLv3 process
...
 
@@ -2601,86 +2601,86 @@ works and by providing a more globally useful definition.
 
GPLv3 drops all reference to USA ``derivative works'' and returns
 
to the base concept only: GPL covers the licensed work and all works where
 
copyright permission from the licensed work's copyright holder.
 

	
 
The new definitions returns to the common elements of copyright law.  Copyright
 
holders of works of software have the exclusive right to form new works by
 
modification of the original --- a right that may be expressed in various
 
ways in different legal systems.  GPLv3 operates to grant this right to
 
successive generations of users (particularly through the copyleft conditions
 
set forth in GPLv3~\S5, as described later in this tutorial in its
 
\S~\ref{GPLv3s5}).  Here in GPLv3~\S0, ``modify'' refers to basic copyright
 
rights, and then this definition of ``modify'' is used to define ``modified
 
version of'' and ``work based on'' as synonyms.
 

	
 
\subsection{The Covered Work}
 

	
 
GPLv3 uses a common license drafting technique of building upon simpler
 
definitions to make complex ones.  The Program is a defined term found
 
throughout GPLv2, and the word ``covered'' and the phrase ``covered by this
 
license'' are used in tandem with the Program in GPLv2, but not as part of a
 
definition.  GPLv3 offers a single term ``covered work'', which enables some
 
of the wording in GPLv3 to be simpler and clearer than its GPLv2
 
counterparts.
 

	
 
Next, to avoid locking GPLv3 into specific copyright statues, the GPLv3
 
Next, to avoid locking GPLv3 into specific copyright statues, GPLv3
 
defines two terms that are otherwise exotic to the language of international
 
copyright.
 

	
 
\subsection{Propagate}
 

	
 
To ``propagate'' a work covered by the license means any activity in a locale
 
that requires permission of copyright holders in that locale's legal system.
 
However, personal use or modification for personal use are activities explicitly
 
excluded from ``propagation'' \textit{regardless} of domestic copyright law.
 

	
 
The term ``propagate'' serves two purposes.  First, ``propagate'' provides a
 
simple and convenient means for distinguishing between the kinds of uses of a
 
work that GPL imposes conditions on and the kinds of uses that GPL does not
 
(for the most part) impose conditions on.
 

	
 
Second, ``propagate'' helps globalize GPL in its wording and effect:
 
``derivative work'' was in fact not the only term commonly used by local
 
copyright statutes.  A term like ``distribute'' (or its equivalent in
 
languages other than English) is also used in several national copyright
 
statutes.  Practical experience with GPLv2 revealed the awkwardness of using
 
the term ``distribution'' in a license intended for global use: the scope of
 
``distribution'' in the copyright context can differ from country to country.
 
The GPL never necessarily intended the specific meaning of ``distribution''
 
that exists under USA (or any other country's) copyright law.
 

	
 
Indeed, even within a single country and language, the term distribution may
 
be ambiguous; as a legal term of art, distribution varies significantly in
 
meaning among those countries that recognize it.  For example, comments
 
during GPLv3's drafting process indicated that in at least one country,
 
distribution may not include network transfers of software but may include
 
interdepartmental transfers of physical copies within an organization.
 
Meanwhile, the copyright laws of many countries, as well as certain
 
international copyright treaties, recognize ``making available to the
 
public'' or ``communication to the public'' as one of the exclusive rights of
 
copyright holders.
 

	
 
Therefore, the GPLv3 defines the term ``propagate'' by reference to activities
 
Therefore, GPLv3 defines the term ``propagate'' by reference to activities
 
that require permission under ``applicable copyright law'', but excludes
 
execution and private modification from the definition.  GPLv3's definition
 
also gives examples of activities that may be included within ``propagation''
 
but it also makes clear that, under the copyright laws of a given country,
 
``propagation'' may include other activities as well.
 

	
 
Thus, propagation is defined by behavior, and not by categories drawn from
 
some particular national copyright statute.  This helps not only with
 
internationalization, but also factually-based terminology aids in
 
developers' and users' understanding of the GPL\@.
 

	
 
As a further benefit, because ``propagation'' includes all
 
exclusive rights granted under any particular copyright regime, the term
 
automatically  accounts for all exclusive rights under that regime.
 

	
 
\subsection{Convey}
 

	
 
Next, GPLv3 defines a subset of propagate --- ``convey''.
 
Conveying includes activities that constitute propagation of copies to
 
others.  As with the definition of propagate, GPLv3 thus addresses transfers
 
of copies of software in behavioral rather than statutory terms.  
 
Any propagation that enables other parties to receive or make copies of the
 
work, is called ``conveying''.  Usually, conveying is the activity that
 
triggers most of the other obligations of GPLv3.
...
 
@@ -2836,49 +2836,49 @@ improvements found in GPLv3 are found here as well.  For example, the first
 
sentence of GPLv3~\S2 furthers the goal internationalization.  Under the
 
copyright laws of some countries, it may be necessary for a copyright license
 
to include an explicit provision setting forth the duration of the rights
 
being granted. In other countries, including the USA, such a provision is
 
unnecessary but permissible.
 

	
 
GPLv3~\S2\P1 also acknowledges that licensees under the GPL enjoy rights of
 
copyright fair use, or the equivalent under applicable law.  These rights are
 
compatible with, and not in conflict with, the freedoms that the GPL seeks to
 
protect, and the GPL cannot and should not restrict them.
 

	
 
However, note that (sadly to some copyleft advocates) the unlimited freedom
 
to run is confined to the \textit{unmodified} Program.  This confinement is
 
unfortunately necessary since Programs that do not qualify as a User Product
 
in GPLv3~\S6 (see \S~\ref{user-product} in this tutorial) might have certain
 
unfortunate restrictions on the freedom to run.\footnote{See
 
  \S~\ref{freedom-to-run} of this tutorial for the details on ``the freedom to
 
  run''.}
 

	
 
GPLv3~\S2\P2 distinguishes between activities of a licensee that are
 
permitted without limitation and activities that trigger additional
 
requirements.  Specifically, GPLv3~\S2\P2 guarantees the basic freedoms of
 
privately modifying and running the program.  While these basic freedoms were
 
generally considered a standard part of users' rights under GPLv2 as well,
 
the GPLv3 states them herein more explicitly.  In other words, there is no
 
GPLv3 states them herein more explicitly.  In other words, there is no
 
direct analog to the first sentence of GPLv3~\S2\P2 in GPLv2
 
(See \S~\ref{gplv2-private-modification} of this tutorial for more on this issue.)
 

	
 
Also, GPLv3~\S2\P2 gives an explicit permission for a client to provide a
 
copy of its modified software to a contractor exclusively for that contractor
 
to modify it further, or run it, on behalf of the client.  However, the
 
client can \textit{only} exercise this control over its own copyrighted
 
changes to the GPL-covered program.  The parts of the program it obtained
 
from other contributors must be provided to the contractor with the usual GPL
 
freedoms.  Thus, GPLv3 permits users to convey covered works to contractors
 
operating exclusively on the users' behalf, under the users' direction and
 
control, and to require the contractors to keep the users' copyrighted
 
changes confidential, but \textit{only if} the contractor is limited to acting
 
on the users' behalf (just as the users' employees would have to act).
 

	
 
The strict conditions in this ``contractors provision'' are needed so that it
 
cannot be twisted to fit other activities, such as making a program available
 
to downstream users or customers.  By making the limits on this provision
 
very narrow, GPLv3 ensures that, in all other cases, contractor gets the
 
full freedoms of the GPL that they deserve.
 

	
 
The FSF was specifically asked to add this ``contractors provisions'' by
 
large enterprise users of Free Software, who often contract with non-employee
 
developers, working offsite, to make modifications intended for the user's
...
 
@@ -2988,71 +2988,71 @@ the FSF decided anyway to refer to the WIPO treaty rather than DMCA, since
 
several national anticircumvention laws were (or will likely be) structured
 
more similarly to the anticircumvention provisions of the DMCA in their
 
implementation of WIPO\@.  Furthermore, the addition of ``or similar laws''
 
provides an appropriate catch-all.
 

	
 
GPLv3\S3\P2 states precisely that a conveying party waives the
 
power to forbid circumvention of technological measures only to the extent
 
that such circumvention is accomplished through the exercise of GPL rights in
 
the conveyed work.  GPLv3\S3\P2 makes clear that the referenced ``legal
 
rights'' are specifically rights arising under anticircumvention law.  and
 
refers to both the conveying party's rights and to third party rights, as in
 
some cases the conveying party will also be the party legally empowered to
 
enforce or invoke rights arising under anticircumvention law.
 

	
 
These disclaimers by each licensor of any intention to use GPL'd software to
 
stringently control access to other copyrighted works should effectively
 
prevent any private or public parties from invoking DMCA-like laws against
 
users who escape technical restriction measures implemented by GPL'd
 
software.
 

	
 
\section{GPLv3~\S4: Verbatim Copying}
 
\label{GPLv3s4}
 

	
 
GPLv3~\S4 is a revision of GPLv2~\S1 (as discussed in \S~\ref{GPLv2s1} of
 
this tutorial).   There are almost no changes to this section from the
 
this tutorial).   There are almost no changes to this section from
 
GPLv2~\S1, other than to use the new defined terms.
 

	
 
The only notable change, of ``a fee'' to ``any price or no price'', is in the
 
first sentence of GPLv3\S4\P2.  The GPLv2\S1\P1 means that the GPL permits
 
one to charge money for the distribution of software.  Despite efforts by
 
copyleft advocates to explain this in GPLv2 itself and in other documents,
 
there are evidently some people who still believe that GPLv2 allows charging
 
for services but not for selling copies of software and/or that the GPL
 
requires downloads to be gratis.  Perhaps this is because GPLv2 referred to
 
charging a ``fee''; the term ``fee'' is generally used in connection with
 
services.
 

	
 
GPLv2's wording also referred to ``the physical act of transferring.''  The
 
intention was to distinguish charging for transfers from attempts to impose
 
licensing fees on all third parties.  ``Physical'' might be read, however, as
 
suggesting ``distribution in a physical medium only''.
 

	
 
To address these two issues, GPLv3 says ``price'' in place of ``fee,'' and
 
removes the term ``physical.''
 

	
 
GPLv3~\S4 has also been revised from its corresponding section in GPLv2 in
 
light of the GPLv3~\S7 (see \S~\ref{GPLv3s7} in this tutorial for more).
 
light of GPLv3~\S7 (see \S~\ref{GPLv3s7} in this tutorial for more).
 
Specifically, a distributor of verbatim copies of the program's source code
 
must obey any existing additional terms that apply to parts of the program
 
pursuant to GPLv3~\S7.  In addition, the distributor is required to keep
 
intact all license notices, including notices of such additional terms.
 

	
 
Finally, there is no harm in explicitly pointing out what ought to be
 
obvious: that those who convey GPL-covered software may offer commercial
 
services for the support of that software.
 

	
 
\section{GPLv3~\S5: Modified Source}
 
\label{GPLv3s5}
 

	
 
GPLv3\S5 is the rewrite of GPLv2\S2, which was discussed in \S~\ref{GPLv2s2}
 
of this tutorial.  This section discusses the changes found in GPLv3\S5
 
compared to GPLv2\S2.
 

	
 
GPLv3\S5(a) still requires modified versions be marked with ``relevant
 
date'', but no longer says ``the date of any change''.  The best practice is
 
to include the date of the latest and/or most significant changes and who
 
made those.  Of course, compared to its GPLv2\S2(a), GPLv3\S5(a) slightly
 
relaxes the requirements regarding notice of changes to the program.  In
 
particular, the modified files themselves need no longer be marked.  This
 
reduces administrative burdens for developers of modified versions of GPL'd
 
software.
...
 
@@ -3094,49 +3094,49 @@ section!).  The intent and scope is the same as was intended in GPLv2.
 
GPLv3~\S6 states the compliance obligations for distributing ``non-source
 
forms'' of a program (which means any form other than CCS).  As noted in \S~\ref{GPLv3s0}, ``object code'' in GPLv3
 
is defined broadly to mean any non-source version of a work, and thus
 
includes not only binaries or executables, but also obfuscated, minimized, compressed or otherwise
 
non-preferred forms for modification.  Thus, GPLv3~\S6 clarifies and revises GPLv2~\S3.
 
Indeed, GPLv3~\S6's CCS requirement under
 
closely parallels the provisions of \hyperref[GPLv2s3]{GPLv2~\S3}, with changes
 
designed to make compliant provisioning easier under contemporary
 
technological conditions.  Distributors of GPLv3'd
 
object code must provide access to the corresponding source code, in one of
 
four specified ways.
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
GPLv3~\S6(a--b) now apply specifically to distribution of object code in a
 
physical product.  Physical products include embedded systems, as well as
 
physical software distribution media such as CDs.  As in GPLv2~\S3 (discussed
 
in \S~\ref{GPLv2s3} of this tutorial), the distribution of object code may
 
either be accompanied by the machine-readable source code, or it may be
 
accompanied by a valid written offer to provide the machine-readable source
 
code.  However, unlike in GPLv2, that offer cannot be exercised by any third
 
party; rather, only those ``who possess the object code'' can exercise
 
the offer.  (Note that this is a substantial narrowing of requirements of
 
offer fulfillment, and is a wonderful counterexample to dispute claims that
 
the GPLv3 has more requirements than GPLv2.)
 
GPLv3 has more requirements than GPLv2.)
 

	
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
GPLv3~\S6(b) further revises the requirements for the written offer to
 
provide source code. As before, the offer must remain valid for at least
 
three years. In addition, even after three years, a distributor of a product
 
containing GPL'd object code must offer to provide source code for as long as
 
the distributor also continues to offer spare parts or customer support for
 
the product model.  This is a reasonable and appropriate requirement; a
 
distributor should be prepared to provide source code if he or she is
 
prepared to provide support for other aspects of a physical product.
 

	
 
GPLv3~\S6(a--b) clarifies that the medium for software interchange on which
 
the machine-readable source code is provided must be a durable physical
 
medium.  GPLv3~\S6(b)(2), however, permits a distributor to instead offer to
 
provide source code from a network server instead, which is yet another
 
example GPLv3 looser in its requirements than GPLv2 (see
 
\S~\ref{GPLv2s3-medium-customarily} for details).
 

	
 
% FIXME-LATER: more information about source provision, cost of physically
 
% performing, reasonable fees, medium customary clearly being said durable
 
% connecting back to previous text
 

	
 
GPLv3\S6(c) gives narrower permission than GPLv2\S3(c).  The ``pass along''
...
 
@@ -3574,49 +3574,49 @@ requirements hat GPLv3 are as follows:
 
      problematic}.
 
 
 
\item This provision clarifies that refusal to grant trademark rights for a
 
  GPLv3'd covered work remains compatible with GPLv3.  Again, some
 
  non-copyleft permissive licenses include such clauses.
 

	
 
\item This provision allows indemnification requirements of authors and
 
  licensors.  The FSF specifically designed this clause to achieve GPLv3
 
  compatibility for the
 
  \href{http://www.apache.org/licenses/LICENSE-2.0.html}{Apache Software
 
    License, Version 2.0}.
 

	
 
\end{enumerate}
 

	
 
During the GPLv3 drafting process, some questioned the necessity of GPLv3~\S7;
 
those critics suggested that it creates complexity that did not previously
 
exist.  However, by the time of GPLv3's drafting, many existing GPLv2'd
 
software packages already combined with various non-copylefted Free Software
 
licensed code that carried such additional terms.  Therefore, GPLv3~\S7 is
 
rationalized existing practices of those package authors and modifiers, since
 
it sets clear guidelines regarding the removal and addition of these
 
additional terms.  With its carefully limited list of allowed additional
 
requirements, GPLv3\S7 accomplishes additional objectives as well, since it
 
permits the expansion of the base of code available for GPL developers, while
 
also encouraging useful experimentation with requirements the GPLv3 does not
 
also encouraging useful experimentation with requirements GPLv3 does not
 
include by default.
 

	
 
However, any other non-permissive additional terms apart from those stated
 
above are considered ``further'' restrictions which
 
\hyperref[GPLv3s10]{GPLv3~\S10} prohibits.  Furthermore, as a compliance
 
matter, if you add additional terms in accordance with GPLv3~\S7, you must
 
ensure that the terms are placed in the relevant source files or provide a
 
conspicuous notice about where to find the additional terms.
 

	
 
\section{GPLv3~\S8: A Lighter Termination}
 

	
 
GPLv2 provided for automatic termination of the rights of a person who
 
copied, modified, sublicensed, or distributed a work in violation of the
 
license.  Automatic termination can be too harsh for those who have committed
 
an inadvertent violation, particularly in cases involving distribution of
 
large collections of software having numerous copyright holders.  A violator
 
who resumes compliance with GPLv2 technically needs to obtain forgiveness
 
from all copyright holders, and even contacting them all might be impossible.
 

	
 
GPLv3~\S8 now grants opportunities for provisional and permanent
 
reinstatement of rights. The termination procedure provides a limited
 
opportunity to cure license violations.  If a licensee has committed a
 
first-time violation of the GPL with respect to a given copyright holder, but
 
the licensee cures the violation within 30 days following receipt of notice
...
 
@@ -3780,49 +3780,49 @@ The argument that the impact of the patent license grant would be
 
software patents are weapons that no one should have, and using them for
 
aggression against free software developers is an egregious act (thus
 
preventing that act cannot be unfair). 
 

	
 
However, the second argument seems valid in a practical sense.  A
 
typical GNU/Linux distribution includes thousands of programs.  It would
 
be quite difficult for a re-distributor with a large patent portfolio to
 
review all those programs against that portfolio every time it receives
 
and passes on a new version of the distribution.  Moreover, this question
 
raises a strategic issue. If the GPLv3 patent license requirements
 
convince patent-holding companies to remain outside the distribution
 
path of all GPL-covered software, then these requirements, no matter how
 
strong, will cover few patents. 
 

	
 
GPLv3 therefore makes a partial concession
 
which would lead these companies to feel secure in doing the
 
distribution themselves. GPLv3~\S11
 
applies only to those distributors that have
 
modified the program.  The other changes we have made in sections 10 and
 
11 provide strengthened defenses against patent assertion and compensate
 
partly for this concession. 
 

	
 
Therefore, GPLv3~\S11 introduces the terms ``contributor'', ``contributor version'', and
 
``essential patent claims'', which are
 
used in the GPLv3~\S11\P3.   Viewed from the perspective of a recipient of the
 
used in GPLv3~\S11\P3.   Viewed from the perspective of a recipient of the
 
Program, contributors include all the copyright holders for the Program,
 
other than copyright holders of material originally licensed under non-GPL
 
terms and later incorporated into a GPL-covered work.  The contributors are
 
therefore the initial GPLv3 licensors of the Program and all subsequent
 
upstream licensors who convey, under the terms of GPLv3~\S5, modified covered
 
works.
 
Thus, the ``contributor version'' includes the material the contributor has copied from the
 
upstream version that the contributor has modified.  GPLv3~\S11\P3
 
 does not apply to those that redistribute the program
 
without change.\footnote{An implied patent license from the distributor,
 
however, often arises.  See \S~\ref{gpl-implied-patent-grant} in this tutorial}
 
In other words, the ``contributor version'' includes not just
 
the material added or altered by the contributor, but also the pre-existing
 
material the contributor copied from the upstream version and retained in the
 
modified version.  (GPLv3's usage of ``contributor'' and ``contribution'' should
 
not be confused with the various other ways in which those terms are used in
 
certain other free software licenses.\footnote{Cf., e.g., Apache License,
 
  version 2.0, section 1; Eclipse Public License, version 1.0, section 1;
 
  Mozilla Public License, version 1.1, section 1.1.})
 

	
 
Some details of the ``essential patent claims'' definition deserve special
 
mention.  ``Essential patent claims'', for a given party, are a subset of the
 
claims ``owned or controlled'' by the party.  They do include sublicensable
 
claims that have been licensed to the contributor by a third
0 comments (0 inline, 0 general)