Changeset - 155d653e278f
[Not reviewed]
0 1 0
vbejdo - 4 years ago 2020-06-13 04:25:57
bejdo@uw.edu
Continued editing for minor errors, clarity, until I.2.
1 file changed with 20 insertions and 29 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -287,113 +287,104 @@ standard version refuse to serve the needs of some of the software's
 
users, other entities have the right to create a long- or short-lived fork
 
to serve that sub-community.
 

	
 
\section{How Does Software Become Free?}
 

	
 
The previous section set forth key freedoms and rights that are referred to
 
as ``software freedom''.  This section discusses the licensing mechanisms
 
used to enable software freedom.  These licensing mechanisms were ultimately
 
created as a community-oriented ``answer'' to the existing proprietary
 
software licensing mechanisms.  Thus, first, consider carefully why
 
proprietary software exists in the first place.
 

	
 
\label{explaining-copyright}
 

	
 
The primary legal regime that applies to software is copyright law.
 
Proprietary software exists at all only because copyright law governs
 
software.\footnote{This statement is admittedly an oversimplification. Patents and
 
  trade secrets can cover software and make it effectively non-Free, and one
 
  can contract away their rights and freedoms regarding software, or source
 
  code can be practically obscured in binary-only distribution without
 
  reliance on any legal system.  However, the primary control mechanism for
 
  software is copyright, and therefore this section focuses on how copyright
 
  restrictions make software proprietary.} Copyright law, with respect to
 
software, typically governs copying, modifying, and redistributing that
 
software (For details of this in the USA, see
 
\href{http://www.copyright.gov/title17/92chap1.html#106}{\S~106} and
 
\href{http://www.copyright.gov/title17/92chap1.html#117}{\S~117} of
 
\href{http://www.law.cornell.edu/uscode/text/17}{Title 17} of the
 
\textit{United States Code}).\footnote{Copyright law in general also governs
 
  ``public performance'' of copyrighted works. There is no generally agreed
 
  definition for public performance of software and both GPLv2 and GPLv3 do
 
  not restrict public performance.} By law (in the USA and in most other
 
jurisdictions), the copyright holder (most typically, the author) of the work controls
 
how others may copy, modify and/or distribute the work. For proprietary
 
software, these controls are used to prohibit these activities. In addition,
 
proprietary software distributors further impede modification in a practical
 
sense by distributing only binary code and keeping the source code of the
 
software secret.
 

	
 
Copyright is not a natural state; it is a legal construction. In the USA, the
 
Constitution permits, but does not require, the creation of copyright law as
 
federal legislation.  Software, since it is an ``original work of authorship
 
fixed in any tangible medium of expression ...  from which they can be
 
perceived, reproduced, or otherwise communicated, either directly or with the
 
aid of a machine or device'' (as stated in
 
\href{http://www.law.cornell.edu/uscode/text/17/102}{17 USC \S~102}), is thus
 
covered by the statute, and is copyrighted by default.
 

	
 
However, software, in its natural state without copyright, is Free
 
Software. In an imaginary world with no copyright, the rules would be
 
different. In this world, when you received a copy of a program's source
 
code, there would be no default legal system to restrict you from sharing it
 
with others, making modifications, or redistributing those modified
 
versions.\footnote{Note that this is again an oversimplification; the
 
  complexities with this argument are discussed in
 
  Section~\ref{software-and-non-copyright}.}
 

	
 
% Potential re-write: 
 
% +-----------------+ 
 
% Software, in a state of nature, is Free Software.
 
% In an imaginary world without copyright, when you receive a copy of a program's source 
 
% code, there would be no default legal system to restrict you from sharing it 
 
% with others, making modifications, or redistributing those modified 
 
% versions.\footnote{Note that this is again an oversimplification; the 
 
% complexities with this argument are discussed in % Section~\ref{software-and-non-copyright}.}
 
Software, in a state of nature, is Free Software.
 
In an imaginary world without copyright, when you receive a copy of a program's source 
 
code, there would be no default legal system to restrict you from sharing it 
 
with others, making modifications, or redistributing those modified 
 
versions.\footnote{Note that this is again an oversimplification; the 
 
complexities with this argument are discussed in Section~\ref{software-and-non-copyright}.}
 

	
 
% Come back to this. The idea that software has a copyright-less natural 
 
% state contradicts copyright law as it exists, which assumes copyright 
 
% (as stated in the prev. paragraph.) Not even sure if my rewrite is correct.
 

	
 
Software in the real world is copyrighted by default and is automatically covered by 
 
such a legal system.  However, it is possible to move software out of the domain of the 
 
copyright system.  A copyright holder can often \defn{disclaim} their copyright. (For 
 
example, under United States copyright law, it is possible for a copyright holder to 
 
engage in conduct resulting in abandonment of copyright.) If copyright is disclaimed, 
 
the software is effectively no longer restricted by copyright law.  Software not 
 
restricted by copyright is in the ``public domain.''
 

	
 
\subsection{Public Domain Software} In the USA and other countries that are parties to 
 
the Berne Convention on Copyright, software is copyrighted automatically by the author 
 
when she fixes the software in a tangible medium.  In the software world, this usually 
 
means typing the source code of the software into a file. Imagine if authors could 
 
truly disclaim those default controls of copyright law.  If so, the software is in the 
 
public domain --- no longer covered by copyright.  Since copyright law is the 
 
construction allowing for most restrictions on software (i.e., prohibition of copying, 
 
modification, and redistribution), removing the software from the copyright system 
 
usually yields software freedom for its users. Carefully note that software truly in 
 
the public domain is \emph{not} licensed in any way.  It is confusing to say software 
 
is ``licensed for the public domain,'' or any phrase that implies the copyright holder 
 
gave express permission to take actions governed by copyright law. Copyright holders 
 
who state that they are releasing their code into the public domain are effectively 
 
renouncing copyright controls on the work.  The law gave the copyright holders 
 
exclusive controls over the work, and they chose to waive those controls.  Software 
 
that is, in this sense, in the public domain is conceptualized by the developer as 
 
having no copyright and thus no license. The software freedoms discussed in 
 
Section~\ref{Free Software Definition} are all granted because there is no legal system 
 
in play to take them away. Admittedly, a discussion of public domain software is an 
 
oversimplified example.  Because copyright controls are usually automatically granted 
 
and because, in some jurisdictions, some copyright controls cannot be waived (see 
 
Section~\ref{non-usa-copyright} for further discussion), many copyright holders 
 
sometimes incorrectly believe a work has been placed in the public domain.  Second, due 
 
to aggressive lobbying by the entertainment industry, the ``exclusive Right'' of 
 
copyright, which was supposed to only exist for ``Limited Times'' according to the 
 
United States Constitution, appears to be infinite: simply `purchased' on the 
 
installment plan rather than in whole.  Thus, we must assume no works of software will 
 
fall into the public domain merely due to the passage of time. Nevertheless, under USA 
 
law it is likely that the typical disclaimers of copyright or public domain dedications 
 
we see in the Free Software world would be interpreted by courts as copyright 
 
abandonment, leading to a situation in which the user effectively receives a maximum 
 
grant of copyright freedoms, similar to a maximally-permissive Free Software license.
 

	
 
The best example of software known to truly be in the public domain is software that is 
 
published by the United States government.  Under 
...
 
@@ -437,257 +428,257 @@ developers of the kernel named Linux, have chosen to follow this paradigm.
 

	
 
Copyleft is a strategy of utilizing copyright law to pursue the policy goal
 
of fostering and encouraging the equal and inalienable right to copy, share,
 
modify, and improve creative works of authorship.  Copyleft (as a general
 
term) describes any method that utilizes the copyright system to achieve the
 
aforementioned goal.  Copyleft as a concept is usually implemented in the
 
details of a specific copyright license, such as the
 
\hyperref[GPLv3-full-text]{GNU General Public License (GPL)} and the Creative
 
Commons Attribution Share Alike License (the latter of which is the license
 
of this work itself).  Copyright holders of creative work can unilaterally
 
implement these licenses for their own works to build communities that
 
collaboratively share and improve those copylefted creative works.
 

	
 
Copyleft uses functional parts of the copyright system to achieve an unusual
 
result (legal protection for free sharing). Copyleft modifies, or ``hacks''
 
copyright law, which is usually employed to strengthen the rights of authors
 
or publishers, to strengthen instead the rights of users.  Thus, Copyleft is
 
a legal strategy and mechanism to defend, uphold and propagate software
 
freedom. The basic technique of copyleft is as follows: copyright the
 
software, license it under terms that give all the software freedoms, but use
 
the copyright law's controls to ensure that all who receive a copy of the
 
software have equal rights and freedom. In essence, copyleft grants freedom,
 
but forbids others to forbid that freedom to anyone else along the
 
distribution and modification chains.
 

	
 
Copyleft's ``reciprocity'' or ``share and share alike'' rule protects both
 
developers, who avoid facing a ``prioritized'' competitor of their project,
 
and users, who can be sure that they will have all four software freedoms ---
 
not only in the present version of the program they use, but in all its
 
future improved versions.
 

	
 
Copyleft is a general concept. Much like ideas for what a computer might
 
do must be \emph{implemented} by a program that actually does the job, so
 
too must copyleft be implemented in some concrete legal structure.
 
``Share and share alike'' is a phrase that is used often enough to explain the
 
concept behind copyleft, but to actually make it work in the real world, a
 
true implementation in legal text must exist, written as a ``copyright
 
license''.  The GPL implements the concept of copyleft for software-oriented
 
and other functional works of a technical nature.  The ``CC BY SA'' license
 
implements copyleft for works of textual, musical and visual authorship, such
 
as this tutorial.
 

	
 
Copyleft advocates often distinguish between the concept of a ``strong
 
copyleft'' or a ``weak copyleft''.  However, ``strong vs. weak'' copyleft is
 
not a dichotomy, it's a spectrum.  The strongest copylefts use the
 
exclusive rights that copyright  grants authors as extensively as possible
 
to maximize software freedom.  As a copyleft gets ``weaker'', the copyleft
 
license typically makes ``trade offs'' that might impede software freedom,
 
but reach other tactic goals for the community of users and developers of the
 
but reach other tactical goals for the community of users and developers of the
 
work.
 

	
 
In other words, strong copyleft licenses place the more requirements on how
 
In other words, strong copyleft licenses place more requirements on how
 
``the work'' is licensed.  The unit of copyright law is ``the work''.  In
 
that sense, the ``work'' referenced by the licenses is anything that can be
 
copyrighted or will be subject to the terms of copyright law.  Strong
 
copyleft licenses exercise their scope fully.  Anything which is ``a work''
 
or a ``work based on a work'' licensed under a strong copyleft is subject to
 
its requirements, including the requirement of complete, corresponding source
 
code\footnote{Copyleft communities' use of the term ``strong copyleft'' is
 
  undoubtedly imprecise.  For example, most will call the GNU GPL a ``strong
 
  copyleft'' license, even though the GPL itself has various exceptions, such
 
  as the \hyperref[GPLv3-system-library-exception]{GPLv3's system library
 
    exception} written into the text of the license itself.  Furthermore, the
 
  copyleft community continues to debate where the a license cross the line
 
  from ``strong copyleft'' to ``license that fails to respect software
 
  freedom'', although ultimately these debates are actually regarding whether
 
  the license fits \hyperref[Free Software Definition]{Free Software
 
  the license fits the \hyperref[Free Software Definition]{Free Software
 
    definition} at all.}.  Thus, copyleft licenses, particularly strong ones,
 
seek to ensure the same license covers every version of ``work based on the
 
work'', as recognized by local copyright law, and thereby achieve the
 
specific strategic policy aim of ensuring software freedom for all users,
 
developers, authors, and readers who encounter the copylefted work.
 

	
 
\subsection{Software and Non-Copyright Legal Regimes}
 
\label{software-and-non-copyright}
 
 
 
The use, modification and distribution of software, like many endeavors,
 
simultaneously interacts with multiple different legal regimes.  As was noted
 
early via footnotes, copyright is merely the \textit{most common way} to
 
earlier via footnotes, copyright is merely the \textit{most common way} to
 
restrict users' rights to copy, share, modify and/or redistribute software.
 
However, proprietary software licenses typically use every mechanism
 
available to subjugate users.  For example:
 

	
 
\begin{itemize}
 

	
 
\item Unfortunately, despite much effort by many in the software freedom
 
  community to end patents that read on software (i.e., patents on
 
  computational ideas), they still exist.  As such, a software
 
  program might otherwise seem to be unrestricted, but a patent might read on
 
  the software and ruin everything for its users.\footnote{See
 
  \S\S~\ref{gpl-implied-patent-grant},~\ref{GPLv2s7},~\ref{GPLv3s11} for more
 
  discussion on how the patent system interacts with copyleft, and read
 
  Richard M.~Stallman's essay,
 
  \href{http://www.wired.com/opinion/2012/11/richard-stallman-software-patents/}{\textit{Let's
 
      Limit the Effect of Software Patents, Since We Can't Eliminate Them}}
 
  for more information on the problems these patents present to society.}
 

	
 
\item Digital Restrictions Management (usually called \defn{DRM}) is often
 
  used to impose technological restrictions on users' ability to exercise
 
  software freedom that they might otherwise be granted.\footnote{See
 
    \S~\ref{GPLv3-drm} for more information on how GPL deals with this issue.}
 
  The simplest (and perhaps oldest) form of DRM, of course, is separating
 
  software source code (read by humans), from their compiled binaries (read
 
  only by computers).  Furthermore,
 
  \href{http://www.law.cornell.edu/uscode/text/17/1201}{17 USC~\S1201} often
 
  prohibits users legally from circumventing some of these DRM systems.
 
  legally prohibits users from circumventing some of these DRM systems.
 

	
 
\item Most EULAs also include a contractual agreement that bind users further
 
  by forcing them to agree to a contractual, prohibitive software license
 
  before ever even using the software.
 

	
 
\end{itemize}
 

	
 
Thus, most proprietary software restricts users via multiple interlocking
 
legal and technological means.  Any license that truly respect the software
 
legal and technological means.  Any license that truly respects the software
 
freedom of all users must not only grant appropriate copyright permissions,
 
but also \textit{prevent} restrictions from other legal and technological
 
but must also \textit{prevent} restrictions from other legal and technological
 
means like those listed above.
 

	
 
\subsection{Non-USA Copyright Regimes}
 
\label{non-usa-copyright}
 

	
 
Generally speaking, copyright law operates similarly enough in countries that
 
have signed the Berne Convention on Copyright, and software freedom licenses
 
have generally taken advantage of this international standardization of
 
copyright law.  However, copyright law does differ from country to country,
 
and commonly, software freedom licenses like the GPL must be considered under the
 
copyright law in the jurisdiction where any licensing dispute occurs.
 

	
 
Those who are most familiar with the USA's system of copyright often are
 
surprised to learn that there are certain copyright controls that cannot be
 
waived nor disclaimed.  Specifically, many copyright regimes outside the USA
 
recognize a concept of moral rights of authors.  Typically, moral rights are
 
fully compatible with respecting software freedom, as they are usually
 
centered around controls that software freedom licenses generally respect,
 
such as the right of an authors to require proper attribution for their work.
 
such as the right of an author to require proper attribution for their work.
 

	
 
\section{A Community of Equality}
 

	
 
The previous section described the principles of software freedom, a brief
 
introduction to mechanisms that typically block these freedoms, and the
 
simplest ways that copyright holders might grant those freedoms to their
 
users for their copyrighted works of software.  The previous section also
 
introduced the idea of \textit{copyleft}: a licensing mechanism to use
 
introduced the idea of \textit{copyleft}: a licensing mechanism which uses
 
copyright to not only grant software freedom to users, but also to uphold
 
those rights against those who might seek to curtail them.
 
those rights against the actions of those who might seek to curtail them.
 

	
 
Copyleft, as defined in \S~\ref{copyleft-definition}, is a general term for this
 
mechanism.  The remainder of this text will discuss details of various
 
real-world implementations of copyleft -- most notably, the GPL\@.
 

	
 
This discussion begins first with some general explanation of what the GPL is
 
able to do in software development communities.  After that brief discussion
 
in this section, deeper discussion of how GPL accomplishes this in practice
 
in this section, deeper discussion of how the GPL accomplishes this in practice
 
follows in the next chapter.
 

	
 
Simply put, though, the GPL ultimately creates a community of equality for
 
both business and noncommercial users.
 

	
 
\subsection{The Noncommercial Community}
 

	
 
A GPL'd code base becomes a center of a vibrant development and user
 
community.  Traditionally, volunteers, operating noncommercially out of
 
keen interest or ``scratch an itch'' motivations, produce initial versions
 
of a GPL'd system.  Because of the efficient distribution channels of the
 
Internet, any useful GPL'd system is adopted quickly by noncommercial
 
users.
 

	
 
Fundamentally, the early release and quick distribution of the software
 
gives birth to a thriving noncommercial community.  Users and developers
 
begin sharing bug reports and bug fixes across a shared intellectual
 
commons.  Users can trust the developers, because they know that if the
 
developers fail to address their needs or abandon the project, the GPL
 
ensures that someone else has the right to pick up development.
 
Developers know that the users cannot redistribute their software without
 
passing along the rights granted by the GPL, so they are assured that every
 
one of their users is treated equally.
 

	
 
Because of the symmetry and fairness inherent in GPL'd distribution,
 
nearly every GPL'd package in existence has a vibrant noncommercial user
 
and developer base.
 

	
 
\subsection{The Commercial Community}
 

	
 
By the same token, nearly all established GPL'd software systems have a
 
vibrant commercial community.  Nearly every GPL'd system that has gained
 
wide adoption from noncommercial users and developers eventually begins
 
to fuel a commercial system around that software.
 

	
 
For example, consider the Samba file server system that allows Unix-like
 
systems (including GNU/Linux) to serve files to Microsoft Windows systems.
 
Two graduate students originally developed Samba in their spare time and
 
it was deployed noncommercially in academic environments.\footnote{See
 
  \href{http://turtle.ee.ncku.edu.tw/docs/samba/history}{Andrew Tridgell's
 
    ``A bit of history and a bit of fun''}}  However, very
 
    ``A bit of history and a bit of fun''.}}  However, very
 
soon for-profit companies discovered that the software could work for them
 
as well, and their system administrators began to use it in place of
 
Microsoft Windows NT file-servers.  This served to lower the cost of
 
running such servers by orders of magnitude. There was suddenly room in
 
Windows file-server budgets to hire contractors to improve Samba.  Some of
 
the first people hired to do such work were those same two graduate
 
students who originally developed the software.
 

	
 
The noncommercial users, however, were not concerned when these two
 
fellows began collecting paychecks off of their GPL'd work.  They knew
 
that because of the nature of the GPL that improvements that were
 
that because of the nature of the GPL, improvements that were
 
distributed in the commercial environment could easily be folded back into
 
the standard version.  Companies are not permitted to proprietarize
 
Samba, so the noncommercial users, and even other commercial users are
 
Samba, so noncommercial users, and even other commercial users, are
 
safe in the knowledge that the software freedom ensured by the GPL will remain
 
protected.
 

	
 
Commercial developers also work in concert with noncommercial
 
developers.  Those two now-long-since graduated students continue to
 
contribute to Samba altruistically, but also get paid work doing it.
 
Priorities change when a client is in the mix, but all the code is
 
contributed back to the standard version.  Meanwhile, many other
 
individuals have gotten involved noncommercially as developers,
 
because they want to ``cut their teeth on 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 become
 
commercial developers of the software themselves.
 

	
 
No party is a threat to another in the GPL software scenario because
 
everyone is on equal ground.  The GPL protects rights of the commercial
 
and noncommercial contributors and users equally. The GPL creates trust,
 
because it is a level playing field for all.
 

	
 
\subsection{Law Analogy}
 

	
 
In his introduction to Stallman's \emph{Free Software, Free Society},
 
Lawrence Lessig draws an interesting analogy between the law and Free
 
Software. He argues that the laws of a free society must be protected
 
much like the GPL protects software.  So that I might do true justice to
 
Lessig's argument, I quote it verbatim:
 

	
 
\begin{quotation}
 

	
 
A ``free society'' is regulated by law. But there are limits that any free
 
society places on this regulation through law: No society that kept its
 
laws secret could ever be called free.  No government that hid its
 
regulations from the regulated could ever stand in our tradition. Law
 
controls.  But it does so justly only when visibly.  And law is visible
 
only when its terms are knowable and controllable by those it regulates,
 
or by the agents of those it regulates (lawyers, legislatures).
 

	
 
This condition on law extends beyond the work of a legislature.  Think
 
about the practice of law in American courts.  Lawyers are hired by their
 
clients to advance their clients' interests.  Sometimes that interest is
 
advanced through litigation. In the course of this litigation, lawyers
 
write briefs. These briefs in turn affect opinions written by judges.
 
These opinions decide who wins a particular case, or whether a certain law
 
can stand consistently with a constitution.
 

	
 
All the material in this process is free in the sense that Stallman means.
 
Legal briefs are open and free for others to use.  The arguments are
 
transparent (which is different from saying they are good), and the
0 comments (0 inline, 0 general)