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

I (Bradley M. Kuhn) carefully went through FSF's "DRM", which appears to have
been published on Thursday 27 July 2006, and merged in any relevant footnotes
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/gpl3-dd1to2-markup-rationale.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. I
also confirmed that relicensing permission on IRC with johnsu01 today.
1 file changed with 116 insertions and 3 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -2304,239 +2304,276 @@ 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 USA law.
 

	
 
% FIXME: Connect up with: Indeed or something like that.
 

	
 
The
 
copyright laws of many countries other than the United States, 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 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 USA 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.
 

	
 
%FIXME: Merge this in with previous paragarph
 

	
 
The definition of Corresponding Source (``Complete Corresponding Source
 
Code'' in Draft1) is the most complex definition in the license.
 

	
 
% FIXME: This needs work
 

	
 
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: FSF third person, and verify it still matches GPLv3 text.
 

	
 
We clarify that the shared libraries and dynamically linked subprograms that
 
are included in Corresponding Source are those that the work is
 
``specifically'' designed to require, making it clearer that they do not
 
include libraries invoked by the work that can be readily substituted by
 
other existing implementations.
 

	
 

	
 
%  FIXME: merge in with a forward-reference to Installation Information.
 

	
 
s long as users are truly in a position to install and run
 
their modified versions of the program
 

	
 
% 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.
 

	
 
% FIXME:  transition, and some word smith
 
The explicit prohibition of sublicensing ensures that enforcement of the GPL
 
is always by the copyright holder.  Usually, sublicensing is regarded as a
 
practical convenience or necessity for the licensee, to avoid having to
 
negotiate a license with each licensor in a chain of distribution.  The GPL
 
solves this problem in another way, through its automatic licensing
 
provision.
 

	
 
% FIXME: new section here, just to talk DRM before the other section.
 

	
 
Technological measures to defeat users' rights --- often described by such
 
Orwellian phrases as ``digital rights management,'' which actually means
 
limitation or outright destruction of users' legal rights, or ``trusted
 
computing,'' which actually means selling people computers they cannot trust
 
--- are alike in one basic respect.  They all employ technical means to turn
 
the system of copyright law, where the powers of the copyright holder are
 
limited exceptions to general freedom, into a prison, where everything not
 
specifically permitted is utterly forbidden, and indeed, if the full extent
 
of their ambition is realized, would be technically impossible.  This system
 
of ``para-copyright'' has been created since the adoption of GPLv2, through
 
legislation in the United States, the European Union, and elsewhere that
 
makes it a serious civil or even criminal offense to escape from these
 
restrictions, even where the purpose in doing so is to restore the users'
 
legal rights that the technology wrongfully prevents them from exercising.
 

	
 
% FIXME: Remove FSF specific parts
 

	
 
As a digital rights organization, we would not be following our mission if we
 
did not oppose these injustices.  But the reason our license must respond to
 
these practices at all is the result of a remarkable irony. Those who wish to
 
impose DRM on the public would like to do so by using software covered by the
 
GPL, a license that is intended to preserve the very freedom that they seek
 
to crush.  They are not satisfied merely with publishing programs having
 
limited capability, which free software permits. They seek to go further, to
 
prevent the user from removing those limits, turning Freedom 1, the freedom
 
to modify, into a sham.
 

	
 
GPLv2 did not address the use of technical measures to take back the rights
 
that the GPL granted, because such measures did not exist in 1991, and would
 
have been irrelevant to the forms in which software was then delivered to
 
users.  But GPLv3 must address these issues: free software is ever more
 
widely embedded in devices that impose technical limitations on the user's
 
freedom to change it.
 

	
 
These unjust measures must not be confused with legitimate applications that
 
give users control, as by enabling them to choose higher levels of system or
 
data security within their networks, or by allowing them to protect the
 
security of their communications using keys they can generate or copy to
 
other devices for sending or receiving messages.  These technologies present
 
no obstacles to the freedom of free software. The user is presented with
 
choices, and figuratively as well as literally retains all the keys to the
 
digital home.
 

	
 
By contrast, technical restrictions that allow other parties to control the
 
user have no legitimate social purpose.  In existing applications where the
 
user is not afforded the same degree of real power to modify the free
...
 
@@ -2552,96 +2589,119 @@ what is still, at least nominally, his own system.
 

	
 
We believe that these provisions, taken together, are a minimalist set of
 
terms sufficient to protect the free software community against the threat of
 
invasive para-copyright.
 

	
 
\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.
 

	
 
% FIXME: this needs rewritten 
 

	
 
In section 3, which has been retitled as well as redrafted, we have
 
specifically stated the rule, previously implicit, that modes of
 
distribution that establish limitations on use or modification that
 
are inconsistent with the terms of the license are not permitted by
 
the license.  In addition, we have added disclaimers, based on advice
 
of counsel from nations that have enacted para-copyright provisions
 
akin to the Digital Millennium Copyright Act in the US or pursuant to
 
the European Union Copyright Directive.  We believe these disclaimers
 
by each licensor of any intention to use GPL'd software to stringently
 
control access to other copyrighted works should practically 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}
 

	
 
% 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.
 

	
 
% FIXME: needs context, needs match up to current text, and removal of stuff
 
%        that's no longer there
 

	
 
The original wording of this clause was meant to
 
make clear that the GPL permits one to charge for the distribution of
 
software.  Despite our efforts to explain this in the license and in
 
other documents, there are evidently some who believe that the GPL
 
allows charging for services but not for selling software, or that the
 
GPL requires downloads to be gratis.  We referred to charging a ``fee'';
 
the term ``fee'' is generally used in connection with services.  Our
 
original 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.''  In
 
our revised wording we use ``price'' in place of ``fee,'' and we remove
 
the term ``physical.''
 

	
 
% FIXME: say more and tie it to the text
 

	
 
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}
 

	
 
% 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.
...
 
@@ -2698,120 +2758,136 @@ offer to provide source code received from an upstream distributor.
 
% FIXME:  probably mostly still right, needs some updates, though.
 

	
 
New subsection 6d, which revises the final paragraph of GPLv2 section 3,
 
addresses distribution of object code by offering access to copy the code
 
from a designated place, such as by enabling electronic access to a network
 
server.  Subsection 6d clarifies that the distributor must offer equivalent
 
access to copy the source code ``in the same way through the same place.''
 
This wording permits a distributor to offer a third party access to both
 
object code and source code on a single network portal or web page, even
 
though the access may include links to different physical servers.  For
 
example, a downstream distributor may provide a link to an upstream
 
distributor's server and arrange with the operator of that server to keep the
 
source code available for copying for as long as the downstream distributor
 
enables access to the object code.  This codifies what has been our
 
interpretation of GPLv2.
 

	
 
%FIXME: 6e, peer-to-peer
 

	
 

	
 
%  FIXME: Not final paragraph anymore. 
 

	
 
The final paragraph of section 6 takes account of the fact that the Complete
 
Corresponding Source Code may include added parts that carry non-GPL terms,
 
as permitted by section 7.
 

	
 
% FIXME: update lock-down section to work with more recent drafts
 

	
 
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.
 

	
 
The third paragraph of section 1 addresses this problem by making clear that
 
Complete Corresponding Source Code includes any such encryption,
 
authorization, and decryption codes. By requiring the inclusion of this
 
information whenever the GPL requires distribution of Complete Corresponding
 
Source Code, we thwart efforts to obstruct the goals of the GPL, and we
 
ensure that users will remain in control over their own machines. We
 
recognize an exception where use of the program normally implies that the
 
user already has the codes. For example, in secure systems a computer owner
 
might possess any keys needed to run a program, while the distributor of the
 
program might not have the keys.
 

	
 
% FIXME: installation information
 

	
 
% FIXME: This needs merged in somewhere in here
 

	
 
The mere fact that use of the work implies that the user \textit{has} the key
 
may not be enough to ensure the user's freedom in using it.  The user must
 
also be able to read and copy the key; thus, its presence in a special
 
register inside the computer does not satisfy the requirement. In an
 
application in which the user's personal key is used to protect privacy or
 
limit distribution of personal data, the user clearly has the ability to read
 
and copy the key, which therefore is not included in the Corresponding
 
Source. On the other hand, if a key is generated based on the object code, or
 
is present in hardware, but the user cannot manipulate that key, then the key
 
must be provided as part of the Corresponding Source.
 

	
 
% FIXME: this came from Section 1 but is now mostly in Section 6
 

	
 
In section 1, we have tried to limit as precisely as possible the situation
 
in which an encryption or signing key is part of the Corresponding Source
 
Code of a GPL'd work.  Where someone is provided a GPL'd work, he must
 
receive the whole of the power to use and modify the work that was available
 
to preceding licensors whose permissions he automatically receives.  If a key
 
would be necessary to install a fully functional version of the GPL'd work
 
from source code, the user who receives the binary must receive the key along
 
with the source.  The requirement of full functionality, which we have
 
illustrated with examples, is no more optional than it would be if GPL'd
 
software were redistributed with an additional license condition, rather than
 
a technical limitation, on the uses to which modified versions could be
 
put.\footnote{There is a clear distinction between this situation and the
 
  situation of authenticated modules or plug-ins distributed as part of a
 
  multi-component software system, so that instances of the software can
 
  verify for the user the integrity of the collection.  So long as the
 
  decision about whether to run a modified version is the user's decision,
 
  not controlled by a preceding licensor or a third party, the vendor's
 
  authentication key would also not qualify as part of the Corresponding
 
  Source under the language we have adopted for Draft 2.}
 

	
 
%FIXME: publicly documented format
 
%FIXME: publicly documented format.  This might work as a start on that:
 

	
 
Our primary objective here was to ensure that the
 
distributor use a generally-recognized mechanism for packaging source
 
code.
 

	
 
\section{Understanding License Compatibility}
 
\label{license-compatibility}
 

	
 
% FIXME: more about license compatibility here.
 

	
 
A challenge that faced the Free Software community heavily through out the
 
early 2000s was the proliferation of incompatible Free Software licenses.  Of
 
course, we cannot make the GPL compatible with all such licenses. GPLv3
 
contains provisions that are designed to reduce license incompatibility by
 
making it easier for developers to combine code carrying non-GPL terms with
 
GPL'd code.
 

	
 
% FIXME: connecting text
 

	
 
\subsection{Additional Permissions}
 

	
 
% FIXME: rework and fix formatting.
 

	
 
The GPL is a statement of permissions, some of which have conditions.
 
Additional terms, terms that supplement those of the GPL, may come to be
 
placed on, or removed from, GPL-covered code in certain common ways.  We
 
consider those added terms ``additional permissions'' if they grant
 
exceptions from the conditions of the GPL, and ``additional requirements'' if
 
they add conditions to the basic permissions of the GPL. The treatment of
 
additional permissions and additional requirements under GPLv3 is necessarily
 
asymmetrical, because they do not raise the same ethical and interpretive
 
issues; in particular, additional requirements, if allowed without careful
 
limitation, could transform a GPL'd program into a non-free one.  With these
 
principles in the background, section 7 answers the following questions: (1)
 
How do the presence of additional terms on all or part of a GPL'd program
 
affect users' rights? (2) When and how may a licensee add terms to code being
 
distributed under the GPL? (3) When may a licensee remove additional terms?
 

	
 
% FIXME: FSF third person, etc.
 

	
 
Additional permissions present the easier case.  We have licensed some of our
 
own software under GPLv2 with permissive exceptions that allow combination
 
with non-free code, and that allow removal of those permissions by downstream
 
recipients; similarly, LGPLv2.1 is in essence a permissive variant of GPLv2,
 
and it permits relicensing under the GPL.  We have generalized these
 
practices in section 7.  A licensee may remove any additional permission from
 
a covered work, whether it was placed by the original author or by an
 
upstream distributor.  A licensee may also add any kind of additional
 
permission to any part of a work for which the licensee has, or can give,
 
appropriate copyright permission. For example, if the licensee has written
 
that part, the licensee is the copyright holder for that part and can
 
therefore give additional permissions that are applicable to it.
...
 
@@ -3009,105 +3085,134 @@ 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
 
% FIXME: needs some work here
 

	
 
Section 9 means what it says: mere receipt or execution of code neither
 
requires nor signifies contractual acceptance under the GPL.  Speaking more
 
broadly, we have intentionally structured our license as a unilateral grant
 
of copyright permissions, the basic operation of which exists outside of any
 
law of contract.  Whether and when a contractual relationship is formed
 
between licensor and licensee under local law do not necessarily matter to
 
the working of the license.
 

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

	
 
% FIXME
 
% FIXME: needs filled out and more here.
 

	
 
Draft1 removed the words ``at no charge'' from what is now subsection 5b, the
 
core copyleft provision, for reasons related to our current changes to the
 
second paragraph of section 4: it had contributed to a misconception that the
 
GPL did not permit charging for distribution of copies.  The purpose of the
 
``at no charge'' wording was to prevent attempts to collect royalties from
 
third parties.  The removal of these words created the danger that the
 
imposition of licensing fees would no longer be seen as a license
 
violation.
 

	
 
We therefore have added a new explicit prohibition on imposition of licensing
 
fees or royalties in section 10.  This section is an appropriate place for
 
such a clause, since it is a specific consequence of the general requirement
 
that no further restrictions be imposed on downstream recipients of
 
GPL-covered code.
 

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

	
 
The patent licensing practices that section 7 of GPLv2 (corresponding to
 
section 12 of GPLv3) was designed to prevent are one of several ways in which
 
software patents threaten to make free programs non-free and to prevent users
 
from exercising their rights under the GPL. GPLv3 takes a more comprehensive
 
approach to combatting the danger of patents.
 

	
 
% FIXME: just brought in words here, needs rewriting.
 

	
 
is rooted in the basic principles of the GPL.
 
Our license has always stated that distributors may not impose further
 
restrictions on users' exercise of GPL rights.  To make the suggested
 
distinction between contribution and distribution is to allow a
 
distributor to demand patent royalties from a direct or indirect
 
recipient, based on claims embodied in the distributed code. This
 
undeniably burdens users with an additional legal restriction on their
 
rights, in violation of the license.
 

	
 
%FIXME: possible useful text, but maybe not.
 

	
 
In the covenant provided in the revised section 11, the set of claims
 
that a party undertakes not to assert against downstream users are that
 
party's ``essential patent claims'' in the work conveyed by the party.
 
``Essential patent claims,'' a new term defined in section 0, are simply
 
all claims ``that would be infringed by making, using, or selling the
 
work.''  We have abandoned the phrase ``reasonably contemplated use.''
 
This change makes the obligations of distributing patent holders more
 
predictable.
 

	
 
% 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
...
 
@@ -3167,96 +3272,104 @@ 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.
 

	
 

	
 
% FIXME: does this need to be a section, describing how it was out then in
 
% then out then in? :)
 

	
 
We have removed from this draft the appended section on ``How to Apply These
 
Terms to Your New Programs.'' For brevity, the license document can instead
 
refer to a web page containing these instructions as a separate document.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\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
0 comments (0 inline, 0 general)