Changeset - 10b0ade5d5a0
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 10 years ago 2014-03-20 17:12:54
bkuhn@ebb.org
Rewrote this sentence for tutorial context.
1 file changed with 25 insertions and 21 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -1528,96 +1528,97 @@ copyright law --- namely, the following:
 
[The work must] be licensed as a whole at no charge to all third parties
 
under the terms of this License.
 
\end{quote}
 
That is probably the most tightly-packed phrase in all of the GPL\@.
 
Consider each subpart carefully.
 

	
 
The work ``as a whole'' is what is to be licensed. This is an important
 
point that GPLv2~\S2 spends an entire paragraph explaining; thus this phrase is
 
worthy of a lengthy discussion here.  As a programmer modifies a software
 
program, she generates new copyrighted material --- fixing expressions of
 
ideas into the tangible medium of electronic file storage.  That
 
programmer is indeed the copyright holder of those new changes.  However,
 
those changes are part and parcel to the original work distributed to
 
the programmer under GPL\@. Thus, the license of the original work
 
affects the license of the new whole derivative work.
 

	
 
% {\cal I}
 
\newcommand{\gplusi}{$\mathcal{G\!\!+\!\!I}$}
 
\newcommand{\worki}{$\mathcal{I}$}
 
\newcommand{\workg}{$\mathcal{G}$}
 

	
 
\label{separate-and-independent}
 

	
 
It is certainly possible to take an existing independent work (called
 
\worki{}) and combine it with a GPL'd program (called \workg{}).  The
 
license of \worki{}, when it is distributed as a separate and independent
 
work, remains the prerogative of the copyright holder of \worki{}.
 
However, when \worki{} is combined with \workg{}, it produces a new work
 
that is the combination of the two (called \gplusi{}). The copyright of
 
this combined work, \gplusi{}, is held by the original copyright
 
holder of each of the two works.
 

	
 
In this case, GPLv2~\S2 lays out the terms by which \gplusi{} may be
 
distributed and copied.  By default, under copyright law, the copyright
 
holder of \worki{} would not have been permitted to distribute \gplusi{};
 
copyright law forbids it without the expressed permission of the copyright
 
holder of \workg{}. (Imagine, for a moment, if \workg{} were a proprietary
 
product --- would its copyright holders  give you permission to create and distribute
 
\gplusi{} without paying them a hefty sum?)  The license of \workg{}, the
 
GPL, states the  options for the copyright holder of \worki{}
 
who may want to create and distribute \gplusi{}.  GPL's pregranted
 
permission to create and distribute derivative works, provided the terms
 
of GPL are upheld, goes far above and beyond the permissions that one
 
would get with a typical work not covered by a copyleft license.  (Thus, to
 
say that this restriction is any way unreasonable is simply ludicrous.)
 

	
 
\medskip
 

	
 
\label{GPLv2s2-at-no-charge}
 
The next phrase of note in GPLv2~\S2(b) is ``licensed \ldots at no charge.''
 
This phrase  confuses many.  The sloppy reader points out this as ``a
 
contradiction in GPL'' because (in their confused view) that clause of GPLv2~\S2 says that redistributors cannot
 
charge for modified versions of GPL'd software, but GPLv2~\S1 says that
 
they can.  Avoid this confusion: the ``at no charge'' \textbf{does not} prohibit redistributors from
 
charging when performing the acts governed by copyright
 
law,\footnote{Recall that you could by default charge for any acts not
 
governed by copyright law, because the license controls are confined
 
by copyright.} but rather that they cannot charge a fee for the
 
\emph{license itself}.  In other words, redistributors of (modified
 
and unmodified) GPL'd works may charge any amount they choose for
 
performing the modifications on contract or the act of transferring
 
the copy to the customer, but they may not charge a separate licensing
 
fee for the software.
 

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

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

	
 
\medskip
 

	
 
The final paragraph of GPLv2~\S2 is worth special mention.  It is possible and
 
quite common to aggregate various software programs together on one
 
distribution medium.  Computer manufacturers do this when they ship a
 
pre-installed hard drive, and GNU/Linux distribution vendors do this to
 
give a one-stop CD or URL for a complete operating system with necessary
 
applications.  The GPL very clearly permits such ``mere aggregation'' with
 
programs under any license.  Despite what you hear from its critics, the
 
GPL is nothing like a virus, not only because the GPL is good for you and
 
a virus is bad for you, but also because simple contact with a GPL'd
 
code-base does not impact the license of other programs.  A programmer must
 
expended actual effort  to cause a work to fall under the terms
 
of the GPL.  Redistributors are always welcome to simply ship GPL'd
 
software alongside proprietary software or other unrelated Free Software,
...
 
@@ -2691,122 +2692,125 @@ refers to both the conveying party's rights and to third party rights, as in
 
some cases the conveying party will also be the party legally empowered to
 
enforce or invoke rights arising under anticircumvention law.
 

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

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

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

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

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

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

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

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

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

	
 
% 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.
 
GPLv3\S5 is the rewrite of GPLv2\S2, which was discussed in \S~\ref{GPLv2s2}
 
of this tutorial.  This section discusses the changes found in GPLv3\S5
 
compared to GPLv2\S2.
 

	
 
GPLv3\S5(a) still requires modified versions be marked with ``relevant
 
date'', but no longer says ``the date of any change''.  The best practice is
 
to include the date of the latest and/or most significant changes and who
 
made those.  Of course, compared to its GPLv2\S2(a), GPLv3\S5(a) slightly
 
relaxes the requirements regarding notice of changes to the program.  In
 
particular, the modified files themselves need no longer be marked.  This
 
reduces administrative burdens for developers of modified versions of GPL'd
 
software.
 

	
 
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.
 
GPLv3\S5(c) is the primary source-code-related copyleft provision of GPL (The
 
object-code-related copyleft provisions are in GPLv3\S6, discussed in
 
\S~\ref{GPLv3s6} of this tutorial).  Compared to GPLv2\S2(b), GPLv3\S5(c)
 
states that the GPL applies to the whole of the work.  Such was stated
 
already in GPLv2\S2(b), in ``in whole or in part'', but this simplified
 
wording makes it clear the entire covered work
 

	
 
GPLv3\S5(c) notes that the license text itself must be unmodified (except as
 
permitted by GPLv3\S7.. Another change in GPLv3\S5(c) is the removal of the
 
words ``at no charge,'' which was often is misunderstood upon na\"{i}ve
 
reading of in GPLv2\S(b) (as discussed in \S~\ref{GPLv2s2-at-no-charge} of this
 
tutorial).
 

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

	
 
We have added these words to the aggregation clause to eliminate any question
 
that GPLv3 alters the scope of the copyleft as understood and applied under
 
GPLv2. In GPLv3, as in GPLv2, addition of modules or other parts to a program
 
results in a new program based on the old program, with different functional
 
characteristics created by the merger of two expressions: the original
 
program and the added parts.  Such added parts are ``by their nature
 
extensions of'' the old program, and therefore the entire new program which
 
they and the old program form must be licensed under the GPL.  As subsection
 
5c states, packaging of a work has no bearing on the scope of copyleft.
 

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

	
 
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.
 

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

	
 
Subsections 6a and 6b now apply specifically to distribution of object code
 
in a physical product. Physical products include embedded systems, as well as
 
physical software distribution media such as CDs. As in GPLv2, the
 
distribution of object code may either be accompanied by the machine-readable
 
source code, or it may be accompanied by a written offer to provide the
 
machine-readable source code to any third party. GPLv3 clarifies that the
 
medium for software interchange on which the machine-readable source code is
 
provided must be a durable physical medium. Subsection 6b does not prevent a
 
distributor from offering to provide source code to a third party by some
 
other means, such as transmission over a network, so long as the option of
 
obtaining source code on a physical medium is presented.
 

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

	
0 comments (0 inline, 0 general)