* Made changes based on feedback from novalis

(section{GPL \S 8: Excluding Unfreedonia}): Wrote section.
	Made changes based on novalis' feedback.
This commit is contained in:
Bradley M. Kuhn 2003-05-29 19:47:01 +00:00 committed by Bradley M. Kuhn
parent c40b88ad40
commit f8562aaf55

View file

@ -219,14 +219,15 @@ and the ability to build the binary applications from that source, the
freedom cannot be properly exercised. freedom cannot be properly exercised.
Programmers can take direct benefit from this freedom, and often do. Programmers can take direct benefit from this freedom, and often do.
However, this freedom is essential to users who are not programmers. However, this freedom is also important to users who are not programmers.
Users must have the right to engage in a non-commercial environment of Users must have the right to exercise this freedom indirectly in both
finding help with the software (as often happens on email lists and in commercial and non-commercial settings. For example, users often seek
users groups). This means they must have the freedom to recruit non-commercial help with the software on email lists and in users groups.
When they find such help, they must have the freedom to recruit
programmers who might altruistically assist them to modify their software. programmers who might altruistically assist them to modify their software.
The commercial exercise of this freedom is also essential. Each user, or The commercial exercise of this freedom is also essential for users. Each
group of users, must have the right to hire anyone they wish in a user, or group of users, must have the right to hire anyone they wish in a
competitive free market to modify and change the software. This means competitive free market to modify and change the software. This means
that companies have a right to hire anyone they wish to modify their Free that companies have a right to hire anyone they wish to modify their Free
Software. Additionally, such companies may contract with other companies Software. Additionally, such companies may contract with other companies
@ -259,6 +260,10 @@ distribution. For example, a distribution vendor may provide immediate
security and upgrade distribution via a special network service. Such security and upgrade distribution via a special network service. Such
distribution is completely permitted for Free Software. distribution is completely permitted for Free Software.
(Section~\ref{Business Models} of this tutorial talks in detail about
various Free Software business models that take advantage of the freedom
to share commercially.)
\subsection{The Freedom to Share Improvements} \subsection{The Freedom to Share Improvements}
The freedom to modify and improve is somewhat empty without the freedom to The freedom to modify and improve is somewhat empty without the freedom to
@ -282,19 +287,19 @@ right to modify and improve the software for the customer to correct any
problems that are beyond mere user error. problems that are beyond mere user error.
Entities must also be permitted to make available modified versions of Entities must also be permitted to make available modified versions of
Free Software. Most Free Software programs have a so-called ``canonical Free Software. Most Free Software programs have a ``standard version''
version'' that is made available from the primary developers of the that is made available from the primary developers of the software.
software. However, all who have the software have the ``freedom to fork'' However, all who have the software have the ``freedom to fork'' --- that
--- that is, make available non-trivial modified versions of the software is, make available non-trivial modified versions of the software on a
on a permanent or semi-permanent basis. Such freedom is central to permanent or semi-permanent basis. Such freedom is central to vibrant
vibrant developer and user interaction. developer and user interaction.
Companies and individuals have the right to make true value-added versions Companies and individuals have the right to make true value-added versions
of Free Software. They may use freedom to share improvements to of Free Software. They may use freedom to share improvements to
distribute distinct versions of Free Software with different functionality distribute distinct versions of Free Software with different functionality
and features. Furthermore, this freedom can be exercised to serve a and features. Furthermore, this freedom can be exercised to serve a
disenfranchised subset of the user community. If the developers of the disenfranchised subset of the user community. If the developers of the
canonical version refuse to serve the needs of some of the software's standard version refuse to serve the needs of some of the software's
users, other entities have the right to create long- or short-lived fork users, other entities have the right to create long- or short-lived fork
that serves that sub-community. that serves that sub-community.
@ -308,32 +313,34 @@ addresses how software can be non-free in the first place.
Software can be made proprietary only because it is governed by copyright Software can be made proprietary only because it is governed by copyright
law\footnote{This statement is a bit of an oversimplification. Patents law\footnote{This statement is a bit of an oversimplification. Patents
and trade secrets can cover software and make it effectively non-free, and trade secrets can cover software and make it effectively non-free,
and one can contract away their rights and freedoms regarding software. one can contract away their rights and freedoms regarding software, or
However, the primary control mechanism for software is copyright.}. source code can be practically obscured in binary-only distribution
Copyright law, with respect to software governs copying, modifying, and without reliance on any legal system. However, the primary control
redistributing that software\footnote{Copyright law in general also mechanism for software is copyright.}. Copyright law, with respect to
governs ``public performance'' of copyrighted works. There is no software governs copying, modifying, and redistributing that
generally agreed definition for public performance of software and software\footnote{Copyright law in general also governs ``public
version 2 of the GPL does not govern public performance.}. By law, the performance'' of copyrighted works. There is no generally agreed
copyright holder (aka the author) of the work controls how others may copy, definition for public performance of software and version 2 of the GPL
modify and/or distribute the work. For proprietary software, these does not govern public performance.}. By law, the copyright holder (aka
controls are used to prohibit these activities. In addition, proprietary the author) of the work controls how others may copy, modify and/or
software distributors further impede modification in a practical sense by distribute the work. For proprietary software, these controls are used to
distributing only binary code and keeping the source code of the software prohibit these activities. In addition, proprietary software distributors
secret. further impede modification in a practical sense by distributing only
binary code and keeping the source code of the software secret.
Copyright law is a construction. In the USA, the Constitution permits, Copyright law is a construction. In the USA, the Constitution permits,
but does not require, the creation of copyright law as federal but does not require, the creation of copyright law as federal
legislation. Software, since it is tangible expression of an idea, is legislation. Software, since it is an idea fixed in a tangible medium, is
thus covered by the statues, and is copyrighted by default. thus covered by the statues, and is copyrighted by default.
However, software, in its natural state without copyright, is Free However, this legal construction is not necessarily natural. Software, in
Software. In an imaginary world, which has no copyright, the rules would its natural state without copyright, is Free Software. In an imaginary
be different. In this world, when you received a copy of a program's world, which has no copyright, the rules would be different. In this
source code, there would be no default legal system to restrict you from world, when you received a copy of a program's source code, there would be
sharing it with others, making modifications, or redistributing those no default legal system to restrict you from sharing it with others,
modified versions\footnote{There could still exist legal systems, like our making modifications, or redistributing those modified
modern patent system, which could restrict the software in other ways.}. versions\footnote{There could still exist legal systems, like our modern
patent system, which could restrict the software in other ways.}.
Software in the real world is copyrighted by default, and that default Software in the real world is copyrighted by default, and that default
legal system does exist. However, it is possible to move software out of legal system does exist. However, it is possible to move software out of
@ -347,7 +354,7 @@ copyright is in the ``public domain''.
An author can create public domain software by disclaiming all copyright An author can create public domain software by disclaiming all copyright
interest on the work. In the USA and other countries that have signed the interest on the work. In the USA and other countries that have signed the
Berne convention on copyright, software is copyrighted automatically by Berne convention on copyright, software is copyrighted automatically by
the author when (s)he ``fixes the software into a tangible medium''. In the author when she ``fixes the software into a tangible medium''. In
the software world, this usually means typing the source code of the the software world, this usually means typing the source code of the
software into a file. software into a file.
@ -366,7 +373,6 @@ expressed permission to take actions governed by copyright law.
By contrast, what the copyright holder has done is renounce her copyright By contrast, what the copyright holder has done is renounce her copyright
controls on the work. The law gave her controls over the work, and she controls on the work. The law gave her controls over the work, and she
%should the ``she'' be a ``(s)he'' ?
has chosen to waive those controls. Software in the public domain is has chosen to waive those controls. Software in the public domain is
absent copyright and absent a license. The software freedoms discussed in absent copyright and absent a license. The software freedoms discussed in
Section~\ref{Free Software Definition} are all granted because there is no Section~\ref{Free Software Definition} are all granted because there is no
@ -383,7 +389,7 @@ copyrighted. In most cases (particularly in that of FSF and the GNU
Project), this was done due to very careful planning. Project), this was done due to very careful planning.
Software released into the public domain does grant freedom to those users Software released into the public domain does grant freedom to those users
who receive the canonical versions on which the original author disclaimed who receive the standard versions on which the original author disclaimed
copyright. However, since the work is not copyrighted, any non-trivial copyright. However, since the work is not copyrighted, any non-trivial
modification made to the work is fully copyrightable. modification made to the work is fully copyrightable.
@ -393,9 +399,9 @@ public domain as well. However, over time, some entities will choose to
proprietarize their modified versions. The public domain body of software proprietarize their modified versions. The public domain body of software
feeds the proprietary software. The public commons disappears, because feeds the proprietary software. The public commons disappears, because
fewer and fewer entities have an incentive to contribute back to the fewer and fewer entities have an incentive to contribute back to the
commons, since they know that any of their competitors can proprietarize commons. They know that any of their competitors can proprietarize their
their enhancements. Over time, almost no interesting work is left in the enhancements. Over time, almost no interesting work is left in the public
public domain, because nearly all new work is done by proprietarization. domain, because nearly all new work is done by proprietarization.
A legal mechanism is needed to redress this problem. FSF was in fact A legal mechanism is needed to redress this problem. FSF was in fact
originally created primarily as a legal entity to defend software freedom, originally created primarily as a legal entity to defend software freedom,
@ -473,7 +479,7 @@ The non-commercial users, however, were not concerned when these two
fellows began collecting paychecks off of their GPL'ed work. They knew fellows began collecting paychecks off of their GPL'ed work. They knew
that because of the nature of the GPL that improvements that were that because of the nature of the GPL that improvements that were
distributed in the commercial environment could easily be folded back into distributed in the commercial environment could easily be folded back into
the canonical version. Companies are not permitted to proprietarize the standard version. Companies are not permitted to proprietarize
Samba, so the non-commercial users, and even other commercial users are Samba, so the non-commercial users, and even other commercial users are
safe in the knowledge that the software freedom ensured by GPL will remain safe in the knowledge that the software freedom ensured by GPL will remain
protected. protected.
@ -482,7 +488,7 @@ Commercial developers also work in concert with non-commercial developers.
Those two now-long-since graduated students continue to contribute to Those two now-long-since graduated students continue to contribute to
Samba altruistically, but also get work doing it. Priorities change when a Samba altruistically, but also get work doing it. Priorities change when a
client is in the mix, but all the code is contributed back to the client is in the mix, but all the code is contributed back to the
canonical version. Meanwhile, many other individuals have gotten involved standard version. Meanwhile, many other individuals have gotten involved
non-commercially as developers, because they want to ``cut their teeth on non-commercially as developers, because they want to ``cut their teeth on
Free Software'' or because the problems interest them. When they get good Free Software'' or because the problems interest them. When they get good
at it, perhaps they will move on to another project or perhaps they will at it, perhaps they will move on to another project or perhaps they will
@ -566,9 +572,9 @@ remain free in just this sense.\footnote{This quotation is Copyright
\end{quotation} \end{quotation}
In essence, lawyers are paid to service the shared commons of legal In essence, lawyers are paid to service the shared commons of legal
infrastructure. Few defend themselves in court or write their own briefs infrastructure. Few citizens defend themselves in court or write their
(even though they are legally permitted to do so) because everyone would own briefs (even though they are legally permitted to do so) because
prefer to have an expert do that job. everyone would prefer to have an expert do that job.
The Free Software economy is a market that is ripe for experts. It The Free Software economy is a market that is ripe for experts. It
functions similarly to other well established professional fields like the functions similarly to other well established professional fields like the
@ -663,9 +669,10 @@ Preservation of copyright notice and license notifications are mentioned
specifically in \S 1. These are in some ways the most important part of specifically in \S 1. These are in some ways the most important part of
the redistribution, which is why they are mentioned by name. The GPL the redistribution, which is why they are mentioned by name. The GPL
always strives to make it abundantly clear to anyone who receives the always strives to make it abundantly clear to anyone who receives the
software what its license is. The goal is to leave no reason that someone software what its license is. The goal is to make sure users know their
would be surprised that the software she got was licensed under GPL\@. rights and freedoms under GPL and to leave no reason that someone would be
Thus throughout the GPL, there are specific reference to the importance of surprised that the software she got was licensed under GPL\@. Thus
throughout the GPL, there are specific reference to the importance of
notifying others down the distribution chain that they have rights under notifying others down the distribution chain that they have rights under
GPL. GPL.
@ -688,36 +695,30 @@ on making a profit from Free Software redistribution.)
\section{GPL \S 2: Share and Share Alike} \section{GPL \S 2: Share and Share Alike}
Many consider \S 2 the heart and soul of the GPL\@. For many, this is For many, this is where the ``magic'' happens that defends software
where the ``magic'' happens that defends software freedom along the freedom along the distribution chain. \S 2 is the only place in the GPL
distribution chain. I certainly agree that if the GPL has a soul, this is that governs the modification controls of copyright law. If someone
where it is. However, I argue that the heart is in fact contained in \SS modifies a GPL'ed program, she is bound in the making those changes by \S
4--5 (see Section~\ref{GPLs4} and~\ref{GPLs5} of this tutorial). But, for 2. The goal here is to ensure that the body of GPL'ed software, as it
the moment, let us consider the soul. continues and develops, remains Free as in freedom.
\S 2 gives the only permission in the GPL that governs the modification
controls of copyright law. If someone modifies a GPL'ed program, she is
bound in the making those changes by \S 2. The goal here is to ensure
that the body of GPL'ed software, as it continues and develops, remains
Free as in freedom.
To achieve that goal, \S 2 first sets forth that the rights of To achieve that goal, \S 2 first sets forth that the rights of
redistribution modified versions are the same as those for verbatim redistribution modified versions are the same as those for verbatim
copying, as presented in \S 1. Therefore, the details of charging, copying, as presented in \S 1. Therefore, the details of charging,
keeping copyright notices in tact, and other \S 1 provisions are in tact keeping copyright notices intact, and other \S 1 provisions are in tact
here as well. However, there are three additional requirements. here as well. However, there are three additional requirements.
The first (\S 2(a)) requires that modified files carry ``prominent The first (\S 2(a)) requires that modified files carry ``prominent
notices'' explaining what changes were made and the date of such changes. notices'' explaining what changes were made and the date of such changes.
The goal here is not to put forward some specific way of marking changes, The goal here is not to put forward some specific way of marking changes,
or controlling the process of how changes get made. Primarily, \S 2(a) or controlling the process of how changes get made. Primarily, \S 2(a)
seeks to ensure that those receiving modified versions what path it took seeks to ensure that those receiving modified versions know what path it
to them. For some users, it is important to know that they are using the took to them. For some users, it is important to know that they are using
canonical version of program, because while there are many advantages to the standard version of program, because while there are many advantages
using a fork, there are a few disadvantages. Users should be informed the to using a fork, there are a few disadvantages. Users should be informed
historical context of the software version they use, so that they can make the historical context of the software version they use, so that they can
proper support choices. Finally, \S 2(a) serves an academic purpose --- make proper support choices. Finally, \S 2(a) serves an academic purpose
ensuring that future developers can use a diachronic approach to --- ensuring that future developers can use a diachronic approach to
understand the software. understand the software.
\medskip \medskip
@ -734,12 +735,12 @@ education efforts by FSF on this matter, many still believe that modifiers
of GPL'ed software are required by the license to publish or otherwise of GPL'ed software are required by the license to publish or otherwise
share their changes. On the contrary, \S 2(b) {\bf does not apply if} the share their changes. On the contrary, \S 2(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 changes to software that are not shared should be protected and personal, unshared changes to software for personal use only should be
defended\footnote{FSF does maintain that there is an {\bf ethical} protected and defended\footnote{FSF does maintain that there is an {\bf
obligation to redistribute changes that are generally useful, and often ethical} obligation to redistribute changes that are generally useful,
encourages companies and individuals to do so. However, there is a and often encourages companies and individuals to do so. However, there
clear distinction between what one {\bf ought} to do and what one {\bf is a clear distinction between what one {\bf ought} to do and what one
must} do.}. {\bf must} do.}.
Next, we again encounter the same matter that appears in \S 0, in the Next, we again encounter the same matter that appears in \S 0, in the
following text: following text:
@ -767,12 +768,12 @@ 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 \S 2 spends an entire paragraph explaining; thus this phrase is point that \S 2 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 ideas in the program, she generates new copyrighted material --- fixing expressions of
tangible medium of electronic file storage. That programmer is indeed the ideas into the tangible medium of electronic file storage. That
copyright holder of those new changes. However, those changes are part programmer is indeed the copyright holder of those new changes. However,
and parcel to the original worked distributed to the programmer under those changes are part and parcel to the original worked distributed to
GPL\@. Thus, the license of the original work affects the license of the the programmer under GPL\@. Thus, the license of the original work
new whole derivative work. affects the license of the new whole derivative work.
% {\cal I} % {\cal I}
\newcommand{\gplusi}{$\mathcal{G\!\!+\!\!I}$} \newcommand{\gplusi}{$\mathcal{G\!\!+\!\!I}$}
@ -782,10 +783,10 @@ new whole derivative work.
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'ed program (called \workg{}). The \worki{}) and combine it with a GPL'ed 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 . However, when work, remains the prerogative of the copyright holder of \worki{}.
\worki{} is combined with \workg{}, it produces a new work that is the However, when \worki{} is combined with \workg{}, it produces a new work
combination of the two (called \gplusi{}). The copyright of this that is the combination of the two (called \gplusi{}). The copyright of
derivative work, \gplusi{}, is jointly held by the original copyright this derivative work, \gplusi{}, is jointly held by the original copyright
holder of each of the two works. holder of each of the two works.
In this case, \S 2 lays out the terms by which \gplusi{} may be In this case, \S 2 lays out the terms by which \gplusi{} may be
@ -798,7 +799,7 @@ product --- would they give you permission to create and distribute
GPL, sets forth ahead of time options for the copyright holder of \worki{} GPL, sets forth ahead of time options for the copyright holder of \worki{}
who may want to create and distribute \gplusi{}. This pre-granted who may want to create and distribute \gplusi{}. This pre-granted
permission to create and distribute derivative works, provided the terms permission to create and distribute derivative works, provided the terms
of GPL are uphold, 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.
@ -824,11 +825,11 @@ third parties''. This too has led to some confusions, 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 typical distribution chain, extend to anyone who might, through the distribution chain, receive a copy
receive a copy of the software. Distribution to all third parties is not of the software. Distribution to all third parties is not mandated here,
mandated here, but \S 2(b) does require redistributors to license the but \S 2(b) does require redistributors to license the derivative works in
derivative works in a way that is extends FIXME to all third parties who may a way that is extends to all third parties who may ultimately receive a
ultimately receive a copy of the software. copy of the software.
In summary, \S 2(b) says what terms under which the third parties must In summary, \S 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
@ -1211,9 +1212,23 @@ Thus, \S 7 is rarely gives software death by stopping its distribution.
Instead, it is inspiring patent holders to share their patents in the same Instead, it is inspiring patent holders to share their patents in the same
freedom-defending way that they share their copyrighted works. freedom-defending way that they share their copyrighted works.
\section{GPL \S 8: Finding Freedonia} \section{GPL \S 8: Excluding Unfreedonia}
\label{GPLs8} \label{GPLs8}
\S 8 is rarely used by copyright holders. Its intention is that, if
particular country, say Unfreedonia, grant particular patents or allow
copyrighted interfaces (no country to our knowledge even permits those
yet), that the GPL'ed software can continue in free and unabated
distribution in the countries where such controls do not exist.
It is a partial ``out'' from \S 7. Without \S 8, if a copyright holder
knew of a patent in a particular country licensed in a GPL-incompatible
way, then she could not distribute under GPL, because the work would
legitimately end up in the hands of citizens of Unfreedonia.
It is an inevitable but sad reality that some countries are freer than
others. \S 8 exists to permit distribution on those countries that are
free without otherwise negating parts of the license.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Odds, Ends, and Absolutely No Warranty} \chapter{Odds, Ends, and Absolutely No Warranty}