Changeset - 290774c3e820
[Not reviewed]
0 1 0
Free Software Foundation, Inc - 10 years ago 2014-03-19 15:34:42
info@fsf.org
Relevant text from FSF's "Denationalization of Terminology"
as published circa late 2006-07 (around time of GPLv3 Second Discussion Draft)

I (Bradley M. Kuhn) carefully went through FSF's "Denationalization of
Terminology", which appears to have been published on Wednesday 2 August 2006
(a few days after the second GPLv2 discussion draft published on Thursday 27
July 2006), and merged in any relevant text and descriptions that might be of
use in this tutorial.

The raw material used for this commit can be found here:
http://gplv3.fsf.org/opinions-draft-2.html
Specifically, a copy of the LaTeX sources are here:
http://gplv3.fsf.org/denationalization-dd2.tex

As I merged in this text, I added FIXME's where it seemed the text was
incomplete or referred to parts of GPLv3 draft text that disappeared in later
versions.

Finally, note that this material was originally copyrighted and licensed as
follows:

Copyright © 2006 Free Software Foundation, Inc.

Verbatim copying and distribution of this entire article are permitted
worldwide, without royalty, in any medium, provided this notice, and the
copyright notice, are preserved.

However, I am hereby relicensing this material to CC-By-SA-4.0, with the
verbal permission from John Sullivan, Executive Director of the FSF, which
was given to me during a conference call on Wednesday 12 February 2014.
1 file changed with 123 insertions and 0 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -2024,416 +2024,513 @@ 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.
 

	
 
\section{GPLv2~\S7: ``Give Software Liberty or Give It Death!''}
 
\label{GPLv2s7}
 

	
 
In essence, GPLv2~\S7 is a verbosely worded way of saying for non-copyright
 
systems what GPLv2~\S6 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 have chosen the latter.
 

	
 
Thus, GPLv2~\S7 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~\S8: Excluding Problematic Jurisdictions}
 
\label{GPLv2s8}
 

	
 
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 never been formally used by any
 
copyright holders.  Some have used GPLv2~\S8 to explain various odd special
 
topics of distribution, but generally speaking, this section is not
 
particularly useful and was actually removed in GPLv3.
 

	
 
% FIXME: integrate this into this section.
 

	
 
To our knowledge, no one has invoked this section to add an explicit
 
geographical distribution limitation since GPLv2 was released in 1991. We
 
have concluded that this provision is not needed and is not expected to be
 
needed in the future, and that it therefore should be removed.
 

	
 

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

	
 
Most warranty disclaimer language shout at you.  The
 
\href{http://www.law.cornell.edu/ucc/2/2-316}{Uniform Commercial
 
  Code~\S2-316} requires that disclaimers of warranty be ``conspicuous''.
 
There is apparently general acceptance that \textsc{all caps} is the
 
preferred way to make something conspicuous, and that has over decades worked
 
its way into the 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, GPLv2~\S11
 
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 GPLv2~\S11 is that GPLv2~\S1
 
permits the sale of warranty as an additional service, which GPLv2~\S11 affirms.
 

	
 
\section{GPLv2~\S12: Limitation of Liability}
 
\label{GPLv2s12}
 

	
 
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 GPLv2~\S12.
 
GPLv2~\S11 thus gets rid of all implied warranties that can legally be
 
disavowed. GPLv2~\S12, 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, GPLv2~\S11, 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 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{GPLv3}
 
\label{GPLv3}
 

	
 
This chapter discussed 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.  Those who wish a to head to the firehose and take a diachronic
 
approach to GPLv3 study by reading the step-by-step public drafting process
 
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 in regular
 
use alongside GPLv2.  However, given GPLv2's widespread popularity and
 
existing longevity by the time GPLv3 was published, it is not surprising that
 
some licensors have continued to prefer GPLv2-only or GPLv2-or-later as their
 
preferred license.  GPLv3 has 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.
 

	
 
Given this ``two GPLs'' world is the one we all live in, 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 of GPLv2 while the most experience with
 
GPLv3 that's possible is by default 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
 
that they would have liked to oblige those who have asked for a simpler and
 
shorter GPL\@.  Ultimately, the FSF gave priority to making GPLv3 do the job
 
that needs to be done to build a better copyleft.  Obsession for concision
 
should never trump software freedom.
 

	
 
\section{GPLv3~\S0: Giving In On ``Defined Terms''}
 

	
 
One of lawyers' most common complaints about GPLv2 is that defined terms in
 
the document appear throughout.  Most licenses define terms up-front.
 
However, GPL was always designed both as a document that should be easily
 
understood both by lawyers and by software developers: it is a document
 
designed to give freedom to software developers and users, and therefore it
 
should be comprehensible to that constituency.
 

	
 
Interestingly enough, one coauthor of this tutorial who is both a lawyer and
 
a developer pointed out that in law school, she understood defined terms more
 
quickly than other law students precisely because of her programming
 
background.  For developers, having \verb0#define0 (in the C programming
 
language) or other types of constants and/or macros that automatically expand
 
in the place where they are used is second nature.  As such, adding a defined
 
terms section was not terribly problematic for developers, and thus GPLv3
 
adds one.  Most of these defined terms are somewhat straightforward and bring
 
forward better worded definitions from GPLv2.  Herein, this tutorial
 
discusses a few of the new ones.
 

	
 
% FIXME: it's now five, ``Modify''
 

	
 
GPLv3~\S0 includes definitions of four new terms not found in any form in
 
GPLv2: ``covered work'', ``propagate'', ``convey'', and ``Appropriate Legal
 
Notices''.
 

	
 
% FIXME: Transition, GPLv2 ref needed.
 

	
 
Although the definition of ``work based on the Program'' made use of a legal
 
term of art, ``derivative work,'' peculiar to US copyright law, we did not
 
believe that this presented difficulties as significant as those associated
 
with the use of the term ``distribution.''  After all, differently-labeled
 
concepts corresponding to the derivative work are recognized in all copyright
 
law systems.  That these counterpart concepts might differ to some degree in
 
scope and breadth from the US derivative work was simply a consequence of
 
varying national treatment of the right of altering a copyrighted work.
 

	
 
%FIXME: should we keep this? maybe a footnote?
 

	
 
Ironically, the criticism we have received regarding the use of
 
US-specific legal terminology in the ``work based on the Program''
 
definition has come not primarily from readers outside the US, but
 
from those within it, and particularly from members of the technology
 
licensing bar.  They have argued that the definition of ``work based
 
on the Program'' effectively misstates what a derivative work is under
 
US law, and they have contended that it attempts, by indirect means,
 
to extend the scope of copyleft in ways they consider undesirable.
 
They have also asserted that it confounds the concepts of derivative
 
and collective works, two terms of art that they assume, questionably,
 
to be neatly disjoint under US law.
 

	
 
% FIXME: As above
 

	
 
We do not agree with these views, and we were long puzzled by the
 
energy with which they were expressed, given the existence of many
 
other, more difficult legal issues implicated by the GPL.
 
Nevertheless, we realized that here, too, we can eliminate usage of
 
local copyright terminology to good effect.  Discussion of GPLv3 will
 
be improved by the avoidance of parochial debates over the
 
construction of terms in one imperfectly-drafted copyright statute.
 
Interpretation of the license in all countries will be made easier by
 
replacement of those terms with neutral terminology rooted in
 
description of behavior.
 

	
 
%FIXME: GPLv3, reword a bit.
 

	
 
Draft 2 therefore takes the task of internationalizing the license
 
further by removing references to derivative works and by providing a
 
more globally useful definition of a work ``based on'' another work.
 
We return to the basic principles of users' freedom and 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.  The GPL operates to grant this right to successive
 
generations of users, particularly through the copyleft conditions set
 
forth in section 5 of GPLv3, which applies to the conveying of works
 
based on the Program.  In section 0 we simply define a work based on
 
another work to mean ``any modified version for which permission is
 
necessary under applicable copyright law,'' without further qualifying
 
the nature of that permission, though we make clear that modification
 
includes the addition of material.\footnote{We have also removed the
 
paragraph in section 5 that makes reference to ``derivative or
 
collective works based on the Program.''}
 

	
 
%FIXME: transition
 

	
 
While ``covered by this license'' is a phrase found in GPLv2, defining it
 
more complete in a single as ``covered work'' enables some of the wording in
 
GPLv3 to be simpler and clearer than its GPLv2 counterparts.
 

	
 
% FIXME: does propagate  definition still work the same way in final draft?
 

	
 
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 the GPL imposes conditions on and the kinds of uses that the GPL
 
does not (for the most part) impose conditions on.
 

	
 
Second, ``propagate'' furthers our goal of making the license as global as
 
possible in its wording and effect.  When a work is licensed under the GPL,
 
the copyright law of some particular country will govern certain legal issues
 
arising under the license.  A term like ``distribute'' or its equivalent in
 
languages other than English, is 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 does not seek to necessarily use the specific
 
meaning of ``distribution'' that exists under United States copyright law or
 
any other country's copyright law.
 

	
 
%FIXME: rewrite, FSF third person,e tc.
 

	
 
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, we have been
 
told 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.  In many countries the term ``making available
 
to the public'' or ``communicating to the public'' is the closest counterpart
 
to the generalized notion of distribution that exists under US law.
 

	
 
Therefore, the GPL 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.
 

	
 
% FIXME: probably merge this in
 

	
 
Propagation is defined by behavior, and not by categories drawn from some
 
particular national copyright statute.  We believe that such factually-based
 
terminology has the added advantage of being easily understood and applied by
 
individual developers and users.
 

	
 
% FIXME: transition here to convey definition, maybe with \subsection {},
 
%        also maybe with: Similar is true with the term ``convey''.
 

	
 
we have further internationalized the license by removing references to
 
distribution and replacing them with a new factually-based term,
 
``conveying.'' Conveying is defined to include activities that constitute
 
propagation of copies to others.  With these changes, GPLv3 addresses
 
transfers of copies of software in behavioral rather than statutory terms.
 
At the same time, we have acknowledged the use of ``making available to the
 
public'' in jurisdictions outside the US by adding it as a specific example
 
in the definition of ``propagate.'' We decided to leave the precise
 
definition of an organizational licensee, and the line drawn between
 
licensees and other parties, for determination under local law.
 

	
 
% FIXME: paragraph number change , and more on Convey once definition comes.
 

	
 
The third paragraph of section 2 represents another effort to compensate for
 
variation in national copyright law.  We distinguish between propagation that
 
enables parties other than the licensee to make or receive copies, and other
 
forms of propagation.  As noted above, the meaning of ``distribution'' under
 
copyright law varies from country to country, including with respect to
 
whether making copies available to other parties (such as related public or
 
corporate entities) is ``distribution.'' ``Propagation,'' however, is a term
 
not tied to any statutory language.  Propagation that does not enable other
 
parties to make or receive copies --- for example, making private copies or
 
privately viewing the program --- is permitted unconditionally.  Propagation
 
that does enable other parties to make or receive copies is permitted as
 
``distribution,'' subject to the conditions set forth in sections 4--6.
 

	
 
% FIXME: Appropriate Legal Notices
 

	
 
\section{GPLv3~\S1: Understanding CCS}
 

	
 
% FIXME: Talk briefly about importance of CCS and reference compliance guide
 

	
 
% FIXME: verify this still matches final GPLv3 text.
 
% FIXME:  link to GPLv2 tutorial sections if possible and where appropriate.
 

	
 
GPLv3\~S1 retains GPLv2's definition of ``source code'' and adds an explicit
 
definition of ``object code'' as ``any non-source version of a work''.
 
Object code is not restricted to a narrow technical meaning and is to be
 
understood broadly as including any form of the work other than the preferred
 
form for making modifications to it.  Object code therefore includes any kind
 
of transformed version of source code, such as bytecode or minified
 
Javascript.  The definition of object code also ensures that licensees cannot
 
escape their obligations under the GPL by resorting to shrouded source or
 
obfuscated programming.
 

	
 
% FIXME: CCS Coresponding Source updated to newer definition in later drafts
 

	
 
Keeping with the desire to ``round up'' definitions that were spread
 
throughout the text of GPLv2, the definition of CCS\footnote{Note that the
 
  preferred term by those who work with both GPLv2 and GPLv3 is ``Complete
 
  Corresponding Source'', abbreviated to ``CCS''.  Admittedly, the word
 
  ``complete'' no longer appears in GPLv3 (which uses the word ``all''
 
  instead).  However, both GPLv2 and the early drafts of GPLv3 itself used
 
  the word complete, and early GPLv3 drafts even included the phrase
 
  ``Complete Corresponding Source''.  Meanwhile, use of the acronym ``CCS''
 
  (sometimes, ``C&CS'') was so widespread among GPL enforcers that its use
 
  continues even though GPLv3-focused experts tend to say just the defined
 
  term of ``Corresponding Source''.}, or, as GPLv3 officially calls it,
 
``Corresponding Source'', is given in GPLv3~\S1\P4.  This definition is as
 
broad as necessary to protect users' exercise of their rights under the
 
GPL\@.  We follow the definition with particular examples to remove any doubt
 
that they are to be considered Complete Corresponding Source Code.  We wish to
 
make completely clear that a licensee cannot avoid complying with the
 
requirements of the GPL by dynamically linking an add-on component to the
 
original version of a program.
 

	
 
Though the definition of Complete Corresponding Source Code in the
 
second paragraph of section 1 is expansive, it is not sufficient to
 
protect users' freedoms in many circumstances.  For example, a GPL'd
 
program, or a modified version of such a program, might need to be
 
signed with a key or authorized with a code in order for it to run on
 
a particular machine and function properly. Similarly, a program that
 
produces digitally-restricted files might require a decryption code in
 
order to read the output.  
 

	
 
% FIXME: Standard Interface
 

	
 
% FIXME: System Libraries: it's in a different place and changed in later drafts
 

	
 
The final paragraph of section 1 revises the exception to the source code
 
distribution requirement in GPLv2 that we have sometimes called the system
 
library exception. This exception has been read to prohibit certain
 
distribution arrangements that we consider reasonable and have not sought to
 
prevent, such as distribution of gcc linked with a non-free C library that is
 
included as part of a larger non-free system. This is not to say that such
 
non-free libraries are legitimate; rather, preventing free software from
 
linking with these libraries would hurt free software more than it would hurt
 
proprietary software.
 

	
 
As revised, the exception has two parts. Part (a) rewords the GPLv2
 
exception for clarity but also removes the words ``unless that
 
component itself accompanies the executable.''  By itself, (a) would
 
be too permissive, allowing distributors to evade their
 
responsibilities under the GPL.  We have therefore added part (b) to
 
specify when a system library that is an adjunct of a major essential
 
operating system component, compiler, or interpreter does not trigger
 
the requirement to distribute source code.  The more low-level the
 
functionality provided by the library, the more likely it is to be
 
qualified for this exception.
 

	
 
\section{GPLv3~\S2: Basic Permissions}
 

	
 
% FIXME: phrase ``unmodified Program'' appears due to User Products exception
 

	
 
We have included the first sentence of section 2 to further internationalize
 
the GPL. 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
 
United States, such a provision is unnecessary but permissible.
 

	
 
The first paragraph of section 2 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.
 

	
 
% FIXME: propagate and convey
 

	
 
Section 2 distinguishes between activities of a licensee that are permitted
 
without limitation and activities that trigger additional requirements. The
 
second paragraph of section 2 guarantees the basic freedoms of privately
 
modifying and running the program. However, the right to privately modify and
 
run the program is terminated if the licensee brings a patent infringement
 
lawsuit against anyone for activities relating to a work based on the
 
program.
 

	
 

	
 
\section{GPLv3~\S3: What Hath DMCA Wrought}
 
\label{GPLv3s3}
 

	
 
% FIXME: reference the section in DMCA about this, maybe already there in
 
%        GPLv2 section?
 

	
 
% FIXME: Wrong paragraph now.
 

	
 
The second paragraph of section 3 declares that no GPL'd program is part of
 
an effective technological protection measure, regardless of what the program
 
does. Ill-advised legislation in the United States and other countries has
 
prohibited circumvention of such technological measures. If a covered work is
 
distributed as part of a system for generating or accessing certain data, the
 
effect of this paragraph is to prevent someone from claiming that some other
 
GPL'd program that accesses the same data is an illegal circumvention.
 

	
 
\section{GPLv3~\S4: Verbatim Copying}
 

	
 
% FIXME: there appear to be minor changes here in later drafts, fix that.
 

	
 
Section 4 has been revised from its corresponding section in GPLv2 in light
 
of the new section 7 on license compatibility. A distributor of verbatim
 
copies of the program's source code must obey any existing additional terms
 
that apply to parts of the program. In addition, the distributor is required
 
to keep intact all license notices, including notices of such additional
 
terms.
 

	
 
\section{GPLv3~\S5: Modified Source}
 

	
 
% FIXME: 5(a) is slightly different in final version
 

	
 
Section 5 contains a number of changes relative to the corresponding section
 
in GPLv2. Subsection 5a 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.
 

	
 
Under subsection 5a, as in the corresponding provision of GPLv2, the notices
 
must state ``the date of any change,'' which we interpret to mean the date of
 
one or more of the licensee's changes.  The best practice would be to include
 
the date of the latest change.  However, in order to avoid requiring revision
 
of programs distributed under ``GPL version 2 or later,'' we have retained
 
the existing wording.
 

	
 
% FIXME:  It's now (b) and (c).  Also, ``validity'' of proprietary
 
%         relicensing?  Give me a break.  I'll fix that.
 

	
 
Subsection 5b is the central copyleft provision of the license.  It now
 
states that the GPL applies to the whole of the work.  The license must be
 
unmodified, except as permitted by section 7, which allows GPL'd code to be
 
combined with parts covered by certain other kinds of free software licensing
 
terms. Another change in subsection 5b is the removal of the words ``at no
 
charge,'' which was often misinterpreted by commentators.  The last sentence
 
of subsection 5b explicitly recognizes the validity of disjunctive
 
dual-licensing.
 

	
 
%  FIXME: 5d.  Related to Appropriatey Legal notices
 

	
 

	
 
% follows 5d now, call it the ``final paragraph''
 

	
 
The paragraph following subsection 5c has been revised for clarity, but the
 
underlying meaning is unchanged. When independent non-derivative sections are
 
distributed for use in a combination that is a covered work, the whole of the
 
combination must be licensed under the GPL, regardless of the form in which
 
such combination occurs, including combination by dynamic linking. The final
 
sentence of the paragraph adapts this requirement to the new compatibility
 
provisions of section 7.
 

	
 
\section{GPLv3~\S6: Non-Source and Corresponding Source}
 

	
 
Section 6 of GPLv3, which clarifies and revises GPLv2 section 3, requires
 
distributors of GPL'd object code to provide access to the corresponding
 
source code, in one of four specified ways. As noted above, ``object code''
 
in GPLv3 is defined broadly to mean any non-source version of a work.
 

	
...
 
@@ -2743,384 +2840,410 @@ substantial increase in file size and transmission time.  Source code
 
packages themselves tend not to be transmitted through BitTorrent owing to
 
reduced demand. There generally will be too few participants downloading the
 
same source package at the same time to enable effective seeding and
 
distribution.
 

	
 
% FIXME: rewrite a bit.
 

	
 
We have made two changes that recognize and facilitate distribution of
 
covered works in object code form using BitTorrent or similar peer-to-peer
 
methods.  First, under new subsection 6e, if a licensee conveys such a work
 
using peer-to-peer transmission, that licensee is in compliance with section
 
6 so long as the licensee knows, and informs other peers where, the object
 
code and its Corresponding Source are publicly available at no charge under
 
subsection 6d.  The Corresponding Source therefore need not be provided
 
through the peer-to-peer system that was used for providing the binary.
 
Second, we have revised section 9 to make clear that ancillary propagation of
 
a covered work that occurs as part of the process of peer-to-peer file
 
transmission does not require acceptance, just as mere receipt and execution
 
of the Program does not require acceptance.  Such ancillary propagation is
 
permitted without limitation or further obligation.
 

	
 
% FIXME:  removing additional restrictions
 

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

	
 
Section 7 requires a downstream user of a covered work to preserve the
 
non-GPL terms covering the added parts just as they must preserve the GPL, as
 
long as any substantial portion of those parts is present in the user's
 
version.
 

	
 
% FIXME: minor rewrites needed
 

	
 
Section 7 points out that GPLv3 itself makes no assertion that an additional
 
requirement is enforceable by the copyright holder.  However, section 7 makes
 
clear that enforcement of such requirements is expected to be by the
 
termination procedure given in section 8 of GPLv3.
 

	
 
% FIXME: better context, etc.
 

	
 
Some have questioned whether section 7 is needed, and some have suggested
 
that it creates complexity that did not previously exist.  We point out to
 
those readers that there is already GPLv2-licensed code that carries
 
additional terms.  One of the objectives of section 7 is to rationalize
 
existing practices of program authors and modifiers by setting clear
 
guidelines regarding the removal and addition of such terms.  With its
 
carefully limited list of allowed additional requirements, section 7
 
accomplishes additional objectives, permitting the expansion of the base of
 
code available for GPL developers, while also encouraging useful
 
experimentation with requirements we do not include in the GPL itself.
 

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

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

	
 
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 would need to obtain forgiveness from all
 
copyright holders, but even to contact them all might be impossible.
 

	
 
% FIXME: needs to be updated to describe more complex termination
 

	
 
Section 8 of GPLv3 replaces automatic termination with a non-automatic
 
termination process.  Any copyright holder for the licensed work may opt to
 
terminate the rights of a violator of the license, provided that the
 
copyright holder has first given notice of the violation within 60 days of
 
its most recent occurrence. A violator who has been given notice may make
 
efforts to enter into compliance and may request that the copyright holder
 
agree not exercise the right of termination; the copyright holder may choose
 
to grant or refuse this request.
 

	
 
% FIXME: needs to be updated to describe more complex termination
 

	
 
If a licensee who is in violation of GPLv3 acts to correct the violation and
 
enter into compliance, and the licensee receives no notice of the past
 
violation within 60 days, then the licensee need not worry about termination
 
of rights under the license.
 

	
 
\section{GPLv3~\S9: Acceptance}
 

	
 
% FIXME
 

	
 
\section{GPLv3~\S10: Explicit Downstream License}
 

	
 
% FIXME
 

	
 
\section{GPLv3~\S11: Explicit Patent Licensing}
 
\label{GPLv3s11}
 

	
 
% FIXME:  probably needs a lot of work, these provisions changed over time.
 

	
 
GPLv3 adds a new section on licensing of patents. GPLv2 relies on an implied
 
patent license. The doctrine of implied license is one that is recognized
 
under United States patent law but may not be recognized in other
 
jurisdictions. We have therefore decided to make the patent license grant
 
explicit in GPLv3. Under section 11, a redistributor of a GPL'd work
 
automatically grants a nonexclusive, royalty-free and worldwide license for
 
any patent claims held by the redistributor, if those claims would be
 
infringed by the work or a reasonably contemplated use of the work.
 

	
 
% FIXME:  probably needs a lot of work, these provisions changed over time.
 

	
 
The patent license is granted both to recipients of the redistributed work
 
and to any other users who have received any version of the work. Section 11
 
therefore ensures that downstream users of GPL'd code and works derived from
 
GPL'd code are protected from the threat of patent infringement allegations
 
made by upstream distributors, regardless of which country's laws are held to
 
apply to any particular aspect of the distribution or licensing of the GPL'd
 
code.
 

	
 
% FIXME:  probably needs a lot of work, these provisions changed over time.
 

	
 
A redistributor of GPL'd code may benefit from a patent license that has been
 
granted by a third party, where the third party otherwise could bring a
 
patent infringement lawsuit against the redistributor based on the
 
distribution or other use of the code. In such a case, downstream users of
 
the redistributed code generally remain vulnerable to the applicable patent
 
claims of the third party. This threatens to defeat the purposes of the GPL,
 
for the third party could prevent any downstream users from exercising the
 
freedoms that the license seeks to guarantee.
 

	
 
% FIXME:  probably needs a lot of work, these provisions changed over time.
 

	
 
The second paragraph of section 11 addresses this problem by requiring the
 
redistributor to act to shield downstream users from these patent claims. The
 
requirement applies only to those redistributors who distribute knowingly
 
relying on a patent license. Many companies enter into blanket patent
 
cross-licensing agreements. With respect to some such agreements, it would
 
not be reasonable to expect a company to know that a particular patent
 
license covered by the agreement, but not specifically mentioned in it,
 
protects the company's distribution of GPL'd code.
 

	
 
% FIXME: does this still fit with the final retaliation provision?
 

	
 
This narrowly-targeted patent retaliation provision is the only form of
 
patent retaliation that GPLv3 imposes by its own force. We believe that it
 
strikes a proper balance between preserving the freedom of a user to run and
 
modify a program, and protecting the rights of other users to run, modify,
 
copy, and distribute code free from threats by patent holders. It is
 
particularly intended to discourage a GPL licensee from securing a patent
 
directed to unreleased modifications of GPL'd code and then suing the
 
original developers or others for making their own equivalent modifications.
 

	
 
Several other free software licenses include significantly broader patent
 
retaliation provisions. In our view, too little is known about the
 
consequences of these forms of patent retaliation. As we explain below,
 
section 7 permits distribution of a GPL'd work that includes added parts
 
covered by terms other than those of the GPL. Such terms may include certain
 
kinds of patent retaliation provisions that are broader than those of section
 
2.
 

	
 
\section{GPLv3~\S12: Familiar as GPLv2 \S 7}
 

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

	
 
The wording in the first sentence of section 12 has been revised
 
slightly to clarify that an agreement, such as a litigation settlement
 
agreement or a patent license agreement, is one of the ways in which
 
conditions may be ``imposed'' on a GPL licensee that may contradict the
 
conditions of the GPL, but which do not excuse the licensee from
 
compliance with those conditions.  This change codifies what has been
 
our interpretation of GPLv2.  
 

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

	
 
We have removed the limited severability clause of GPLv2 section 7 as a
 
matter of tactical judgment, believing that this is the best way to ensure
 
that all provisions of the GPL will be upheld in court. We have also removed
 
the final sentence of GPLv2 section 7, which we consider to be unnecessary.
 

	
 
\section{GPLv3~\S13: The Great Affero Compromise}
 

	
 
% FIXME
 

	
 
\section{GPLv3~\S14: So, When's GPLv4?}
 
\label{GPlv2s14}
 

	
 
% FIXME Say more
 

	
 
No substantive change has been made in section 14. The wording of the section
 
has been revised slightly to make it clearer.
 

	
 
% FIXME; proxy
 

	
 
\section{GPLv3~\S15--17: Warranty Disclaimers and Liability Limitation}
 

	
 
No substantive changes have been made in sections 15 and 16.
 

	
 
% FIXME: more, plus 17
 

	
 
% FIXME: Section header needed here about choice of law.
 

	
 
% FIXME: reword into tutorial
 

	
 
Some have asked us to address the difficulties of internationalization
 
by including, or permitting the inclusion of, a choice of law
 
provision.  We maintain that this is the wrong approach.  Free
 
software licenses should not contain choice of law clauses, for both
 
legal and pragmatic reasons.  Choice of law clauses are creatures of
 
contract, but the substantive rights granted by the GPL are defined
 
under applicable local copyright law. Contractual free software
 
licenses can operate only to diminish these rights.  Choice of law
 
clauses also raise complex questions of interpretation when works of
 
software are created by combination and extension.  There is also the
 
real danger that a choice of law clause will specify a jurisdiction
 
that is hostile to free software principles.
 

	
 
% FIXME: reword into tutorial, \ref to section 7.
 

	
 
Our revised version of section 7 makes explicit our view that the
 
inclusion of a choice of law clause by a licensee is the imposition of
 
an additional requirement in violation of the GPL.  Moreover, if a
 
program author or copyright holder purports to supplement the GPL with
 
a choice of law clause, section 7 now permits any licensee to remove
 
that clause.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\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, LGPLv2.1~\S1, the rules for verbatim copying of source, are
 
equivalent to those in GPLv2~\S1.
 

	
 
Second, LGPLv2.1~\S8 is equivalent GPLv2~\S4\@. In both licenses, this
 
section handles termination in precisely the same manner.
 

	
 
LGPLv2.1~\S9 is equivalent to GPLv2~\S5\@. Both sections assert that
 
the license is a copyright license, and handle the acceptance of those
 
copyright terms.
 

	
 
LGPLv2.1~\S10 is equivalent to GPLv2~\S6. 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.
 

	
 
LGPLv2.1~\S11 is GPLv2~\S7. 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.
 

	
 
LGPLv2.1~\S12 adds the same features as GPLv2~\S8. These sections are
 
used to allow original copyright holders to forbid distribution in
 
countries with draconian laws that would otherwise contradict these
 
licenses.
 

	
 
LGPLv2.1~\S13 sets up FSF as the steward of the LGPL, just as GPLv2~\S9
 
does for GPL. Meanwhile, LGPLv2.1~\S14 reminds licensees that copyright
 
holders can grant exceptions to the terms of LGPL, just as GPLv2~\S10
 
reminds licensees of the same thing.
 

	
 
Finally, the assertions of no warranty and limitations of liability are
 
identical; thus LGPLv2.1~\S15 and LGPLv2.1~\S16 are the same as GPLv2~\S11 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:
 

	
 
\begin{itemize}
 

	
 
\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
 

	
 
\end{itemize}
 

	
 
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.
 

	
 
Finally, the preamble introduces two terms used throughout the license to
 
clarify between the different types of derivative works: ``works that use
0 comments (0 inline, 0 general)