More wordsmith and formatting fixes.
This commit is contained in:
parent
adc4d167bb
commit
ace387b098
1 changed files with 67 additions and 68 deletions
135
gpl-lgpl.tex
135
gpl-lgpl.tex
|
@ -1070,9 +1070,9 @@ GPL requires redistributors to keep the disclaimer very visible. (See
|
||||||
Sections~\ref{GPLv2s11} and~\ref{GPLv2s12} of this tutorial for more on GPL's
|
Sections~\ref{GPLv2s11} and~\ref{GPLv2s12} of this tutorial for more on GPL's
|
||||||
warranty disclaimers.)
|
warranty disclaimers.)
|
||||||
|
|
||||||
Note finally that GPLv2~\S1 begins to set forth the important defense of
|
Note finally that GPLv2~\S1 creates groundwork for the important defense of
|
||||||
commercial freedom. GPLv2~\S1 clearly states that in the case of verbatim
|
commercial freedom. GPLv2~\S1 clearly states that in the case of verbatim
|
||||||
copies, one may make money. Redistributors are fully permitted to charge
|
copies, one may make money. Redistributors are fully permitted to charge
|
||||||
for the redistribution of copies of Free Software. In addition, they may
|
for the redistribution of copies of Free Software. In addition, they may
|
||||||
provide the warranty protection that the GPL disclaims as an additional
|
provide the warranty protection that the GPL disclaims as an additional
|
||||||
service for a fee. (See Section~\ref{Business Models} for more discussion
|
service for a fee. (See Section~\ref{Business Models} for more discussion
|
||||||
|
@ -1417,49 +1417,50 @@ requirements of GPLv2\@.
|
||||||
\section{GPLv2~\S2: Share and Share Alike}
|
\section{GPLv2~\S2: Share and Share Alike}
|
||||||
|
|
||||||
For many, this is where the ``magic'' happens that defends software
|
For many, this is where the ``magic'' happens that defends software
|
||||||
freedom along the distribution chain. GPLv2~\S2 is the only place in the GPL
|
freedom upon redistribution. GPLv2~\S2 is the only place in GPLv2
|
||||||
that governs the modification controls of copyright law. If someone
|
that governs the modification controls of copyright law. If users
|
||||||
modifies a GPL'd program, she is bound in the making those changes by
|
modifies a GPLv2'd program, they must follow the terms of GPLv2~\S2 in making
|
||||||
GPLv2~\S2. The goal here is to ensure that the body of GPL'd software, as it
|
those changes. Thus, this sections ensures that the body of GPL'd software, as it
|
||||||
continues and develops, remains Free as in freedom.
|
continues and develops, remains Free as in freedom.
|
||||||
|
|
||||||
To achieve that goal, GPLv2~\S2 first sets forth that the rights of
|
To achieve that goal, GPLv2~\S2 first sets forth that the rights of
|
||||||
redistribution of modified versions are the same as those for verbatim
|
redistribution of modified versions are the same as those for verbatim
|
||||||
copying, as presented in GPLv2~\S1. Therefore, the details of charging,
|
copying, as presented in GPLv2~\S1. Therefore, the details of charging money,
|
||||||
keeping copyright notices intact, and other GPLv2~\S1 provisions are in tact
|
keeping copyright notices intact, and other GPLv2~\S1 provisions are in tact
|
||||||
here as well. However, there are three additional requirements.
|
here as well. However, there are three additional requirements.
|
||||||
|
|
||||||
The first (GPLv2~\S2(a)) requires that modified files carry ``prominent
|
The first (GPLv2~\S2(a)) requires that modified files carry ``prominent
|
||||||
notices'' explaining what changes were made and the date of such
|
notices'' explaining what changes were made and the date of such
|
||||||
changes. The goal here is not to put forward some specific way of
|
changes. This section does not prescribe some specific way of
|
||||||
marking changes nor controlling the process of how changes get made.
|
marking changes nor does it control the process of how changes are made.
|
||||||
Primarily, GPLv2~\S2(a) seeks to ensure that those receiving modified
|
Primarily, GPLv2~\S2(a) seeks to ensure that those receiving modified
|
||||||
versions know the history of changes to the software. For some users,
|
versions know the history of changes to the software. For some users,
|
||||||
it is important to know that they are using the standard version of
|
it is important to know that they are using the standard version of
|
||||||
program, because while there are many advantages to using a fork,
|
program, because while there are many advantages to using a fork,
|
||||||
there are a few disadvantages. Users should be informed about the
|
there are a few disadvantages. Users should be informed about the
|
||||||
historical context of the software version they use, so that they can
|
historical context of the software version they use, so that they can
|
||||||
make proper support choices. Finally, GPLv2~\S2(a) serves an academic
|
make proper support choices. Finally, GPLv2~\S2(a) serves an academic
|
||||||
purpose --- ensuring that future developers can use a diachronic
|
purpose --- ensuring that future developers can use a diachronic
|
||||||
approach to understand the software.
|
approach to understand the software.
|
||||||
|
|
||||||
\medskip
|
\medskip
|
||||||
|
|
||||||
The second requirement (GPLv2~\S2(b)) contains the four short lines that embody
|
The second requirement (GPLv2~\S2(b)) contains the four short lines that embody
|
||||||
the legal details of ``share and share alike.'' These 46 words are
|
the legal details of ``share and share alike''. These 46 words are
|
||||||
considered by some to be the most worthy of careful scrutiny because GPLv2~\S2(b)
|
considered by some to be the most worthy of careful scrutiny because
|
||||||
|
GPLv2~\S2(b), and they
|
||||||
can be a source of great confusion when not properly understood.
|
can be a source of great confusion when not properly understood.
|
||||||
|
|
||||||
In considering GPLv2~\S2(b), first note the qualifier: it only applies to
|
In considering GPLv2~\S2(b), first note the qualifier: it \textit{only} applies to
|
||||||
derivative works that ``you distribute or publish.'' Despite years of
|
derivative works that ``you distribute or publish''. Despite years of
|
||||||
education efforts by FSF on this matter, many still believe that modifiers
|
education efforts on this matter, many still believe that modifiers
|
||||||
of GPL'd software are required by the license to publish or otherwise
|
of GPL'd software \textit{must} to publish or otherwise
|
||||||
share their changes. On the contrary, GPLv2~\S2(b) {\bf does not apply if} the
|
share their changes. On the contrary, GPLv2~\S2(b) {\bf does not apply if} the
|
||||||
changes are never distributed. Indeed, the freedom to make private,
|
changes are never distributed. Indeed, the freedom to make private,
|
||||||
personal, unshared changes to software for personal use only should be
|
personal, unshared changes to software for personal use only should be
|
||||||
protected and defended.\footnote{FSF does maintain that there is an {\bf
|
protected and defended.\footnote{Most Free Software enthusiasts believe there is an {\bf
|
||||||
ethical} obligation to redistribute changes that are generally useful,
|
moral} obligation to redistribute changes that are generally useful,
|
||||||
and often encourages companies and individuals to do so. However, there
|
and they often encourage companies and individuals to do so. However, there
|
||||||
is a clear distinction between what one {\bf ought} to do and what one
|
is a clear distinction between what one {\bf ought} to do and what one
|
||||||
{\bf must} do.}
|
{\bf must} do.}
|
||||||
|
|
||||||
|
@ -1469,9 +1470,9 @@ following text:
|
||||||
``...that in whole or part contains or is derived from the Program or any part thereof.''
|
``...that in whole or part contains or is derived from the Program or any part thereof.''
|
||||||
\end{quote}
|
\end{quote}
|
||||||
Again, the GPL relies here on what the copyright law says is a derivative
|
Again, the GPL relies here on what the copyright law says is a derivative
|
||||||
work. If, under copyright law, the modified version ``contains or is
|
work. If, under copyright law, the modified version ``contains or is
|
||||||
derived from'' the GPL'd software, then the requirements of GPLv2~\S2(b)
|
derived from'' the GPL'd software, then the requirements of GPLv2~\S2(b)
|
||||||
apply. The GPL invokes its control as a copyright license over the
|
apply. The GPL invokes its control as a copyright license over the
|
||||||
modification of the work in combination with its control over distribution
|
modification of the work in combination with its control over distribution
|
||||||
of the work.
|
of the work.
|
||||||
|
|
||||||
|
@ -1487,10 +1488,10 @@ Consider each subpart carefully.
|
||||||
|
|
||||||
The work ``as a whole'' is what is to be licensed. This is an important
|
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
|
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
|
worthy of a lengthy discussion here. As a programmer modifies a software
|
||||||
program, she generates new copyrighted material --- fixing expressions of
|
program, she generates new copyrighted material --- fixing expressions of
|
||||||
ideas into the tangible medium of electronic file storage. That
|
ideas into the tangible medium of electronic file storage. That
|
||||||
programmer is indeed the copyright holder of those new changes. However,
|
programmer is indeed the copyright holder of those new changes. However,
|
||||||
those changes are part and parcel to the original work distributed to
|
those changes are part and parcel to the original work distributed to
|
||||||
the programmer under GPL\@. Thus, the license of the original work
|
the programmer under GPL\@. Thus, the license of the original work
|
||||||
affects the license of the new whole derivative work.
|
affects the license of the new whole derivative work.
|
||||||
|
@ -1503,7 +1504,7 @@ affects the license of the new whole derivative work.
|
||||||
\label{separate-and-independent}
|
\label{separate-and-independent}
|
||||||
|
|
||||||
It is certainly possible to take an existing independent work (called
|
It is certainly possible to take an existing independent work (called
|
||||||
\worki{}) and combine it with a GPL'd program (called \workg{}). The
|
\worki{}) and combine it with a GPL'd program (called \workg{}). The
|
||||||
license of \worki{}, when it is distributed as a separate and independent
|
license of \worki{}, when it is distributed as a separate and independent
|
||||||
work, remains the prerogative of the copyright holder of \worki{}.
|
work, remains the prerogative of the copyright holder of \worki{}.
|
||||||
However, when \worki{} is combined with \workg{}, it produces a new work
|
However, when \worki{} is combined with \workg{}, it produces a new work
|
||||||
|
@ -1512,95 +1513,93 @@ this combined work, \gplusi{}, is held by the original copyright
|
||||||
holder of each of the two works.
|
holder of each of the two works.
|
||||||
|
|
||||||
In this case, GPLv2~\S2 lays out the terms by which \gplusi{} may be
|
In this case, GPLv2~\S2 lays out the terms by which \gplusi{} may be
|
||||||
distributed and copied. By default, under copyright law, the copyright
|
distributed and copied. By default, under copyright law, the copyright
|
||||||
holder of \worki{} would not have been permitted to distribute \gplusi{};
|
holder of \worki{} would not have been permitted to distribute \gplusi{};
|
||||||
copyright law forbids it without the expressed permission of the copyright
|
copyright law forbids it without the expressed permission of the copyright
|
||||||
holder of \workg{}. (Imagine, for a moment, if \workg{} were a Microsoft
|
holder of \workg{}. (Imagine, for a moment, if \workg{} were a proprietary
|
||||||
product --- would they give you permission to create and distribute
|
product --- would its copyright holders give you permission to create and distribute
|
||||||
\gplusi{} without paying them a hefty sum?) The license of \workg{}, the
|
\gplusi{} without paying them a hefty sum?) The license of \workg{}, the
|
||||||
GPL, sets forth ahead of time options for the copyright holder of \worki{}
|
GPL, states the options for the copyright holder of \worki{}
|
||||||
who may want to create and distribute \gplusi{}. This pregranted
|
who may want to create and distribute \gplusi{}. GPL's pregranted
|
||||||
permission to create and distribute derivative works, provided the terms
|
permission to create and distribute derivative works, provided the terms
|
||||||
of GPL are upheld, goes far above and beyond the permissions that one
|
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
|
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.
|
say that this restriction is any way unreasonable is simply ludicrous.)
|
||||||
|
|
||||||
\medskip
|
\medskip
|
||||||
|
|
||||||
The next phrase of note in GPLv2~\S2(b) is ``licensed...at no charge.''
|
The next phrase of note in GPLv2~\S2(b) is ``licensed \ldots at no charge.''
|
||||||
This is a source of great confusion to many. Not a month goes by that
|
This phrase confuses many. The sloppy reader points out this as ``a
|
||||||
FSF does not receive an email that claims to point out ``a
|
contradiction in GPL'' because (in their confused view) that clause of GPLv2~\S2 says that redistributors cannot
|
||||||
contradiction in GPL'' because GPLv2~\S2 says that redistributors cannot
|
|
||||||
charge for modified versions of GPL'd software, but GPLv2~\S1 says that
|
charge for modified versions of GPL'd software, but GPLv2~\S1 says that
|
||||||
they can. The ``at no charge'' does not prohibit redistributors from
|
they can. Avoid this confusion: the ``at no charge'' \textbf{does not} prohibit redistributors from
|
||||||
charging when performing the acts governed by copyright
|
charging when performing the acts governed by copyright
|
||||||
law,\footnote{Recall that you could by default charge for any acts not
|
law,\footnote{Recall that you could by default charge for any acts not
|
||||||
governed by copyright law, because the license controls are confined
|
governed by copyright law, because the license controls are confined
|
||||||
by copyright.} but rather that they cannot charge a fee for the
|
by copyright.} but rather that they cannot charge a fee for the
|
||||||
\emph{license itself}. In other words, redistributors of (modified
|
\emph{license itself}. In other words, redistributors of (modified
|
||||||
and unmodified) GPL'd works may charge any amount they choose for
|
and unmodified) GPL'd works may charge any amount they choose for
|
||||||
performing the modifications on contract or the act of transferring
|
performing the modifications on contract or the act of transferring
|
||||||
the copy to the customer, but they may not charge a separate licensing
|
the copy to the customer, but they may not charge a separate licensing
|
||||||
fee for the software.
|
fee for the software.
|
||||||
|
|
||||||
GPLv2~\S2(b) further states that the software must ``be licensed...to all
|
GPLv2~\S2(b) further states that the software must ``be licensed \ldots to all
|
||||||
third parties.'' This too has led to some confusions, and feeds the
|
third parties.'' This too yields some confusion, and feeds the
|
||||||
misconception mentioned earlier --- that all modified versions must made
|
misconception mentioned earlier --- that all modified versions must made
|
||||||
available to the public at large. However, the text here does not say
|
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
|
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
|
extend to anyone who might, through the distribution chain, receive a copy
|
||||||
of the software. Distribution to all third parties is not mandated here,
|
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
|
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
|
a way that extends to all third parties who may ultimately receive a
|
||||||
copy of the software.
|
copy of the software.
|
||||||
|
|
||||||
In summary, GPLv2\ 2(b) says what terms under which the third parties must
|
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
|
receive this no-charge license. Namely, they receive it ``under the terms
|
||||||
of this License,'' the GPL. When an entity \emph{chooses} to redistribute
|
of this License'', the GPLv2. When an entity \emph{chooses} to redistribute
|
||||||
a derivative work of GPL'd software, the license of that whole derivative
|
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
|
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).
|
with GPLv2~\S6 (as discussed in Section~\ref{GPLv2s6} of this tutorial).
|
||||||
|
|
||||||
\medskip
|
\medskip
|
||||||
|
|
||||||
The final paragraph of GPLv2~\S2 is worth special mention. It is possible and
|
The final paragraph of GPLv2~\S2 is worth special mention. It is possible and
|
||||||
quite common to aggregate various software programs together on one
|
quite common to aggregate various software programs together on one
|
||||||
distribution medium. Computer manufacturers do this when they ship a
|
distribution medium. Computer manufacturers do this when they ship a
|
||||||
pre-installed hard drive, and GNU/Linux distribution vendors do this to
|
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
|
give a one-stop CD or URL for a complete operating system with necessary
|
||||||
applications. The GPL very clearly permits such ``mere aggregation'' with
|
applications. The GPL very clearly permits such ``mere aggregation'' with
|
||||||
programs under any license. Despite what you hear from its critics, the
|
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
|
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
|
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. Actual effort
|
code-base does not impact the license of other programs. A programmer must
|
||||||
must be expended by a programmer to cause a work to fall under the terms
|
expended actual effort to cause a work to fall under the terms
|
||||||
of the GPL. Redistributors are always welcome to simply ship GPL'd
|
of the GPL. Redistributors are always welcome to simply ship GPL'd
|
||||||
software alongside proprietary software or other unrelated Free Software,
|
software alongside proprietary software or other unrelated Free Software,
|
||||||
as long as the terms of GPL are adhered to for those packages that are
|
as long as the terms of GPL are adhered to for those packages that are
|
||||||
truly GPL'd.
|
truly GPL'd.
|
||||||
|
|
||||||
\section{GPLv2~\S3: Producing Binaries}
|
\section{GPLv2~\S3: Producing Binaries}
|
||||||
\label{GPL-Section-3}
|
\label{GPL-Section-3}
|
||||||
% FIXME: need name of a novelist who writes very obscurely and obliquely.
|
|
||||||
|
|
||||||
Software is a strange beast when compared to other copyrightable works.
|
Software is a strange beast when compared to other copyrightable works.
|
||||||
It is currently impossible to make a film or a book that can be truly
|
It is currently impossible to make a film or a book that can be truly
|
||||||
obscured. Ultimately, the full text of a novel, even one written by
|
obscured. Ultimately, the full text of a novel, even one written by
|
||||||
William Faulkner, must presented to the reader as words in some
|
William Faulkner, must presented to the reader as words in some
|
||||||
human-readable language so that they can enjoy the work. A film, even one
|
human-readable language so that they can enjoy the work. A film, even one
|
||||||
directed by David Lynch, must be perceptible by human eyes and ears to
|
directed by David Lynch, must be perceptible by human eyes and ears to
|
||||||
have any value.
|
have any value.
|
||||||
|
|
||||||
Software is not so. While the source code, the human-readable
|
Software is not so. While the source code --- the human-readable
|
||||||
representation of software is of keen interest to programmers, users and
|
representation of software is of keen interest to programmers -- users and
|
||||||
programmers alike cannot make the proper use of software in that
|
programmers alike cannot make the proper use of software in that
|
||||||
human-readable form. Binary code --- the ones and zeros that the computer
|
human-readable form. Binary code --- the ones and zeros that the computer
|
||||||
can understand --- must be predicable and attainable for the software to
|
can understand --- must be predicable and attainable for the software to
|
||||||
be fully useful. Without the binaries, be they in object or executable
|
be fully useful. Without the binaries, be they in object or executable
|
||||||
form, the software serves only the didactic purposes of computer science.
|
form, the software serves only the didactic purposes of computer science.
|
||||||
|
|
||||||
Under copyright law, binary representations of the software are simply
|
Under copyright law, binary representations of the software are simply
|
||||||
derivative works of the source code. Applying a systematic process (i.e.,
|
derivative works of the source code. Applying a systematic process (i.e.,
|
||||||
``compilation'') to a work of source code yields binary code. The binary
|
``compilation'') to a work of source code yields binary code. The binary
|
||||||
code is now a new work of expression fixed in the tangible medium of
|
code is now a new work of expression fixed in the tangible medium of
|
||||||
electronic file storage.
|
electronic file storage.
|
||||||
|
|
Loading…
Reference in a new issue