diff --git a/GPL-Business/gpl-business.tex b/GPL-Business/gpl-business.tex deleted file mode 100644 index ec1404fdd824bfbf3bebb083c05cd7114d0027af..0000000000000000000000000000000000000000 --- a/GPL-Business/gpl-business.tex +++ /dev/null @@ -1,1852 +0,0 @@ -% gpl-buisness.tex -*- LaTeX -*- -% Tutorial Text for the GPL for Businesspeople and Developers course -% -% Copyright (C) 2003 Free Software Foundation, Inc. - -% License: CC-By-SA-4.0 - -% The copyright holders hereby grant the freedom to copy, modify, convey, -% Adapt, and/or redistribute this work under the terms of the Creative -% Commons Attribution Share Alike 4.0 International License. - -% This text is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -% You should have received a copy of the license with this document in -% a file called 'CC-By-SA-4.0.txt'. If not, please visit -% https://creativecommons.org/licenses/by-sa/4.0/legalcode to receive -% the license text. - -\documentclass[12pt]{report} -% FILTER_PS: \input{generate-ps-file} -% FILTER_PDF: \input{generate-pdf-file} -% FILTER_HTML: \input{generate-html-file} -\input{one-inch-margins} - -%\setlength\parskip{0.7em} -%\setlength\parindent{0pt} - -\newcommand{\defn}[1]{\emph{#1}} - -%\pagestyle{empty} - -\begin{document} - -\begin{titlepage} - -{\Large - -\begin{center} - -\vspace{.5in} - -{\sc The GNU General Public License for Businesspeople and Developers } \\ - -\vspace{1in} - -A Tutorial By: - -\vspace{.3in} -Bradley M. Kuhn - -Executive Director - -Free Software Foundation - - -\end{center} -} - -\vfill - -{\parindent 0in -Copyright \copyright{} 2003 \hspace{.2in} Free Software Foundation, Inc. - -\vspace{.3in} - -The copyright holders hereby grant the freedom to copy, modify, convey, -Adapt, and/or redistribute this work under the terms of the Creative Commons -Attribution Share Alike 4.0 International License. A copy of that license is -available at \verb=https://creativecommons.org/licenses/by-sa/4.0/legalcode=. - -} - -\end{titlepage} - -\pagestyle{plain} -\pagenumbering{roman} - -\begin{abstract} - - -This tutorial gives a section-by-section explanation of the most popular -Free Software copyright license, the GNU General Public License (GNU GPL), -and teaches software developers, managers and business people how to use -the GPL and GPL'ed software successfully in a new Free Software business and -in existing, successful enterprises. - -Attendees should have a general familiarity with software development -processes. A vague understanding of how copyright law applies to software -is also helpful. The tutorial is of most interest to software developers -and managers who run software businesses that modify and/or redistribute -software under terms of the GNU GPL (or who wish to do so in the future), -and those who wish to make use of existing GPL'ed software in their -enterprise. - -This tutorial introduces the GNU GPL and its terms to professionals who -are not well versed in the details of copyright law. Presented by a -software developer and manager, this tutorial informs those who wish to -have a deeper understanding of how the GNU GPL uses copyright law to -protect software freedom and to assist in the formation of Free Software -businesses, and of the organizational motivations behind the GNU GPL. - -Upon completion of the tutorial, successful attendees can expect to have -learned the following: - -\begin{itemize} - - \item the freedom-defending purpose of each term of the GNU GPL. - - \item the redistribution options under the GPL. - - \item the obligations when modifying GPL'ed software. - - \item how to properly apply the GPL to a new software. - - \item how to build a plan for proper and successful compliance with the GPL. - - \item the business advantages that the GPL provides. - - \item the most common business models used in conjunction with the GPL. - - \item how existing GPL'ed software can be used in existing enterprises. -\end{itemize} - -\end{abstract} - -\tableofcontents - -\pagebreak - -\pagenumbering{arabic} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{What Is Free Software?} - -Consideration of the GNU General Public License (herein, abbreviated as -\defn{GNU GPL} or just \defn{GPL}) must begin by first considering the broader -world of Free Software. The GPL was not created from a void, rather, -it was created to embody and defend a set of principles that were set -forth at the founding of the GNU project and the Free Software Foundation -(FSF)---the organization that upholds, defends and promotes the philosophy -of software freedom. A prerequisite for understanding the GPL and its -terms and conditions is a basic understanding of the principles behind it. -The GPL is unlike almost all other software licenses in that it is -designed to defend and uphold these principles. - -\section{The Free Software Definition} -\label{Free Software Definition} - -The Free Software Definition is set forth in full on FSF's website at -\verb0http://www.fsf.org/0 \verb0philosophy/free-sw.html0. This section -presents an abbreviated version that will focus on the parts that are most -pertinent to the terms of the GPL\@. - -A particular program is Free Software if it grants a particular user of -that program, the following freedoms: - -\begin{itemize} - -\item the freedom to run the program for any purpose. - -\item the freedom to change and modify the program. - -\item the freedom to copy and share the program. - -\item the freedom to share improved versions of the program. - -\end{itemize} - -The focus on ``a particular user'' is very pertinent here. It is not -uncommon for the same version of a specific program to grant these -freedoms to some subset of its user base, while others have none or only -some of these freedoms. Section~\ref{Proprietary Relicensing} talks in -detail about how this can happen even if a program is released under the -GPL\@. - -Some people refer to software that gives these freedoms as ``Open -Source''. Besides having a different political focus than those who call -it Free Software\footnote{The political differences between the Free -Software Movement and the Open Source Movement are documented on FSF's -website at -{\tt http://www.fsf.org/philosophy/free-software-for-freedom.html}}, -those who call the software ``Open Source'' are focused on a side issue. -User access to the source code of a program is a prerequisite to make use -of the freedom to modify. However, the important issue is what freedoms -are granted in the license of that source code. Microsoft's ``Shared -Source'' program, for example, gives various types of access to source -code, but almost none of the freedoms described in this section. - -One key issue that is central to these freedoms is that there are no -restrictions on how these freedoms can be exercised. Specifically, users -and programmers can exercise these freedoms non-commercially or -commercially. Licenses that grant these freedoms for non-commercial -activities but prohibit them for commercial activities are considered -non-Free. - -In general, software for which most or all of these freedoms are -restricted in any way is called ``non-Free Software''. Typically, the -term ``proprietary software'' is used more or less interchangeably with -``non-Free Software''. Personally, I tend to use the term ``non-Free -Software'' to refer to non-commercial software that restricts freedom -(such as ``shareware'') and ``proprietary software'' to refer to -commercial software that restricts freedom (such as nearly all of -Microsoft's and Oracle's offerings). - -The remainder of this section considers each of the four freedoms in -detail. - -\subsection{The Freedom to Run} - -For a program to be Free Software, the freedom to run the program must be -completely unrestricted. This means that any use for that software that -the user can come up with must be permitted. Perhaps, for example, the -user has discovered an innovative new use for a particular program, one -that the programmer never could have predicted. Such a use must not be -restricted. - -It was once rare that this freedom was restricted by even proprietary -software; today it is not so rare. Most End User Licensing Agreements -(EULAs) that cover most proprietary software restrict some types of use. -For example, some versions of Microsoft's FrontPage software prohibit use -of the software to create websites that generate negative publicity for -Microsoft. Free Software has no such restrictions; everyone is free to -use Free Software for any purpose whatsoever. - -\subsection{The Freedom to Change and Modify} - -Free Software programs allow users to change, modify and adapt the -software to suit their needs. Access to the source code and related build -scripts are an essential part of this freedom. Without the source code -and the ability to build the binary applications from that source, the -freedom cannot be properly exercised. - -Programmers can take direct benefit from this freedom, and often do. -However, this freedom is also important to users who are not programmers. -Users must have the right to exercise this freedom indirectly in both -commercial and non-commercial settings. For example, users often seek -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. - -The commercial exercise of this freedom is also essential for users. Each -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 -that companies have a right to hire anyone they wish to modify their Free -Software. Additionally, such companies may contract with other companies -to commission software modification. - -\subsection{The Freedom to Copy and Share} - -Users may share Free Software in a variety of ways. Free Software -advocates work to eliminate a fundamental ethical dilemma of the software -age: choosing between obeying a software license, and friendship (by -giving away a copy of a program your friend who likes the software you are -using). Free Software licenses, therefore, must permit this sort of -altruistic sharing of software among friends. - -The commercial environment must also have the benefits of this freedom. -Commercial sharing typically takes the form of selling copies of Free -Software. Free Software can be sold at any price to anyone. Those who -redistribute Free Software commercially have the freedom to selectively -distribute (you can pick your customers) and to set prices at any level -the redistributor sees fit. - -It is true that many people get copies of Free Software very cheaply (and -sometimes without charge). The competitive free market of Free Software -tends to keep prices low and reasonable. However, if someone is willing -to pay a billion dollars for one copy of the GNU Compiler Collection, such -a sale is completely permitted. - -Another common instance of commercial sharing is service-oriented -distribution. For example, a distribution vendor may provide immediate -security and upgrade distribution via a special network service. Such -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} - -The freedom to modify and improve is somewhat empty without the freedom to -share those improvements. The Free Software community is built on the -pillar of altruistic sharing of improved Free Software. Inevitably, a -Free Software project sprouts a mailing list where improvements are shared -freely among members of the development community. Such non-commercial -sharing must be permitted for Free Software to thrive. - -Commercial sharing of modified Free Software is equally important. For a -competitive free market for support to exist, all developers --- from -single-person contractors to large software companies --- must have the -freedom to market their services as improvers of Free Software. All forms -of such service marketing must be equally available to all. - -For example, selling support services for Free Software is fully -permitted. Companies and individuals can offer themselves as ``the place -to call'' when software fails or does not function properly. For such a -service to be meaningful, the entity offering that service must have the -right to modify and improve the software for the customer to correct any -problems that are beyond mere user error. - -Entities must also be permitted to make available modified versions of -Free Software. Most Free Software programs have a ``standard version'' -that is made available from the primary developers of the software. -However, all who have the software have the ``freedom to fork'' --- that -is, make available non-trivial modified versions of the software on a -permanent or semi-permanent basis. Such freedom is central to vibrant -developer and user interaction. - -Companies and individuals have the right to make true value-added versions -of Free Software. They may use freedom to share improvements to -distribute distinct versions of Free Software with different functionality -and features. Furthermore, this freedom can be exercised to serve a -disenfranchised subset of the user community. If the developers of the -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 -that serves that sub-community. - -\section{How Does Software Become Free?} - -The last section set forth the freedoms and rights are respected by Free -Software. It presupposed, however, that such software exists. This -section discusses how Free Software comes into existence. But first, it -addresses how software can be non-free in the first place. - -Software can be made proprietary only because it is governed by copyright -law\footnote{This statement is a bit of an oversimplification. Patents - and trade secrets can cover software and make it effectively non-free, - 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.}. Copyright law, with respect to -software, governs copying, modifying, and redistributing that -software\footnote{Copyright law in general also governs ``public - performance'' of copyrighted works. There is no generally agreed - definition for public performance of software and version 2 of the GPL - does not govern public performance.}. By law, the copyright holder (aka -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 law is a construction. In the USA, the Constitution permits, -but does not require, the creation of copyright law as federal -legislation. Software, since it is an idea fixed in a tangible medium, is -thus covered by the statues, and is copyrighted by default. - -However, this legal construction is not necessarily natural. Software, in -its natural state without copyright, is Free Software. In an imaginary -world, which has 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{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 -legal system does exist. However, it is possible to move software out of -the domain of the copyright system. A copyright holder is always -permitted to \defn{disclaim} their copyright. If copyright is disclaimed, -the software is not governed by copyright law. Software not governed by -copyright is in the ``public domain''. - -\subsection{Public Domain Software} - -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 -Berne convention on copyright, software is copyrighted automatically by -the author when she ``fixes the software into a tangible medium''. In -the software world, this usually means typing the source code of the -software into a file. - -However, an author can disclaim that default control given to her by the -copyright laws. Once this is done, the software is in the public domain ---- it is no longer covered by copyright. Since it is copyright law that -allows for various controls on software (i.e., prohibition of copying, -modification, and redistribution), removing the software from the -copyright system and placing it into the public domain does yield Free -Software. - -Carefully note that software in the public domain is \emph{not} licensed -in any way. It is nonsensical to say software is ``licensed for the -public domain'', or any phrase that implies the copyright holder gave -expressed permission to take actions governed by copyright law. - -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 -has chosen to waive those controls. Software in the public domain is -absent copyright and absent a 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. - -\subsection{Why Copyright Free Software?} - -If simply disclaiming copyright on software yields Free Software, then it -stands to reason that putting software into the public domain is the -easiest and most straightforward way to produce Free Software. Indeed, -some major Free Software projects have chosen this method for making their -software Free. However, most of the Free Software in existence \emph{is} -copyrighted. In most cases (particularly in that of FSF and the GNU -Project), this was done due to very careful planning. - -Software released into the public domain does grant freedom to those users -who receive the standard versions on which the original author disclaimed -copyright. However, since the work is not copyrighted, any non-trivial -modification made to the work is fully copyrightable. - -Free Software released into the public domain initially is Free, and -perhaps some who modify the software choose to place their work into the -public domain as well. However, over time, some entities will choose to -proprietarize their modified versions. The public domain body of software -feeds the proprietary software. The public commons disappears, because -fewer and fewer entities have an incentive to contribute back to the -commons. They know that any of their competitors can proprietarize their -enhancements. Over time, almost no interesting work is left in the public -domain, because nearly all new work is done by proprietarization. - -A legal mechanism is needed to redress this problem. FSF was in fact -originally created primarily as a legal entity to defend software freedom, -and that work of of defending software freedom is a substantial part of -its work today. Specifically because of this ``embrace, proprietarize and -extend'' cycle, FSF made a conscious choice to copyright its Free Software, -and then license it under ``copyleft'' terms, and many, including the -developers of the kernel named Linux, have chosen to follow this paradigm. - -Copyleft is a legal strategy 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 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 from anyone else along -the distribution and modification chains. - -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 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. The GPL is the primary -implementation of copyleft in copyright licensing language. - -\section{An Ecosystem of Equality} - -The GPL uses copyright law to defend freedom and equally ensure users' -rights. This ultimately creates an ecosystem of equality for both -business and non-commercial users. - -\subsection{The Non-Commercial Ecosystem} - -A GPL'ed code base becomes a center of a vibrant development and user -community. Traditionally, volunteers, operating non-commercially out of -keen interest or ``scratch an itch'' motivations, produce initial versions -of a GPL'ed system. Because of the efficient distribution channels of the -Internet, any useful GPL'ed system is adopted quickly by non-commercial -users. - -Fundamentally, the early release and quick distribution of the software -gives birth to a thriving non-commercial 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 GPL, so they are assured that every -one of their users is treated equally. - -Because of the symmetry and fairness inherent in GPL'ed distribution, -nearly every GPL'ed package in existence has a vibrant non-commercial user -and developer base. - -\subsection{The Commercial Ecosystem} - -By the same token, nearly all established GPL'ed software systems have a -vibrant commercial community. Nearly every GPL'ed system that has gained -wide adoption from non-commercial 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 non-commercially in academic environments. 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 non-commercial users, however, were not concerned when these two -fellows began collecting paychecks off of their GPL'ed work. They knew -that because of the nature of the GPL that 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 non-commercial users, and even other commercial users are -safe in the knowledge that the software freedom ensured by GPL will remain -protected. - -Commercial developers also work in concert with non-commercial developers. -Those two now-long-since graduated students continue to contribute to -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 -standard version. Meanwhile, many other individuals have gotten involved -non-commercially 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 non-commercial 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 -reasoning can be taken without the permission of the original lawyers. -The opinions they produce can be quoted in later briefs. They can be -copied and integrated into another brief or opinion. The ``source code'' -for American law is by design, and by principle, open and free for anyone -to take. And take lawyers do---for it is a measure of a great brief that -it achieves its creativity through the reuse of what happened before. The -source is free; creativity and an economy is built upon it. - -This economy of free code (and here I mean free legal code) doesn't starve -lawyers. Law firms have enough incentive to produce great briefs even -though the stuff they build can be taken and copied by anyone else. The -lawyer is a craftsman; his or her product is public. Yet the crafting is -not charity. Lawyers get paid; the public doesn't demand such work -without price. Instead this economy flourishes, with later work added to -the earlier. - -We could imagine a legal practice that was different---briefs and -arguments that were kept secret; rulings that announced a result but not -the reasoning. Laws that were kept by the police but published to no one -else. Regulation that operated without explaining its rule. - -We could imagine this society, but we could not imagine calling it -``free.'' Whether or not the incentives in such a society would be better -or more efficiently allocated, such a society could not be known as free. -The ideals of freedom, of life within a free society, demand more than -efficient application. Instead, openness and transparency are the -constraints within which a legal system gets built, not options to be -added if convenient to the leaders. Life governed by software code should -be no less. - -Code writing is not litigation. It is better, richer, more -productive. But the law is an obvious instance of how creativity and -incentives do not depend upon perfect control over the products created. -Like jazz, or novels, or architecture, the law gets built upon the work -that went before. This adding and changing is what creativity always is. -And a free society is one that assures that its most important resources -remain free in just this sense.\footnote{This quotation is Copyright - \copyright{} 2002, Lawrence Lessig. It is licensed under the terms of - \href{http://creativecommons.org/licenses/by/1.0/}{the ``Attribution - License'', version 1.0} or any later version as published by Creative - Commons.} -\end{quotation} - -In essence, lawyers are paid to service the shared commons of legal -infrastructure. Few citizens defend themselves in court or write their -own briefs (even though they are legally permitted to do so) because -everyone would prefer to have an expert do that job. - -The Free Software economy is a market that is ripe for experts. It -functions similarly to other well established professional fields like the -law. The GPL, in turn, serves as the legal scaffolding that permits the -creation of this vibrant commercial and non-commercial Free Software -economy. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Copying, Modifying and Redistributing} - -This chapter begins the deep discussion of the details of the terms of -GPL\@. In this chapter, we consider the core terms: GPL \S\S 0--3. These -are the sections of the GPL that fundamentally define the legal details of -how software freedom is respected. - -\section{GPL \S 0: Freedom to Run} -\label{GPLs0} - -\S 0, the opening section of GPL, sets forth that the work is governed by -copyright law. It specifically points out that it is the ``copyright -holder'' who decides if a work is licensed under its terms, and explains -how the copyright holder might indicate this fact. - -A bit more subtly, \S 0 makes an inference that copyright law is the only -system under which it is governed. Specifically, it states: -\begin{quote} -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. -\end{quote} -In essence, the license governs \emph{only} those activities and all other -activities are unrestricted, provided that no other agreements trump GPL -(which they cannot; see Sections~\ref{GPLs6} and~\ref{GPLs7}). This is -very important, because the Free Software community heavily supports -users' rights to ``fair use'' and ``unregulated use'' of copyrighted -material. GPL asserts through this clause that it supports users' rights -to fair and unregulated uses. - -Fair use of copyrighted material is an established legal doctrine that -permits certain activities. Discussion of the various types of fair use -activity are beyond the scope of this tutorial. However, one important -example of fair use is the right to quote a very few lines (less than -seven or so), and reuse them as you with without licensing restrictions. - -Fair use is a doctrine established by the courts or by statute. By -contrast, unregulated uses are those that are not covered by the statue -nor determined by a court to be covered, but are common and enjoyed by -many users. An example of unregulated use is reading a printout of the -program's source code like an instruction book for the purpose of learning -how to be a better programmer. - -\medskip - -Thus, the GPL protects users fair and unregulated use rights precisely by -not attempting to cover them. Furthermore, the GPL ensures the freedom -to run specifically by stating the following: -\begin{quote} -The act of running the Program is not restricted -\end{quote} -Thus, users are explicitly given the freedom to run by \S 0. - -\medskip - -The bulk of \S 0 not yet discussed gives definitions for other terms used -throughout. The only one worth discussing in detail is ``work based on -the Program''. The reason this definition is particularly interesting is -not for the definition itself, which is rather straightforward, but the -because it clears up a common misconception about the GPL\@. - -The GPL is often mistakenly criticized because it fails to give a -definition of ``derivative work''. In fact, it would be incorrect and -problematic if the GPL attempted to define this. A copyright license, in -fact, has no control over what may or may not be a derivative work. This -matter is left up to copyright law, not the licenses that utilize it. - -It is certainly true that copyright law as a whole does not propose clear -and straightforward guidelines for what is and is not a derivative -software work under copyright law. However, no copyright license --- not -even the GNU GPL -- can be blamed for this. Legislators and court -opinions must give us guidance to decide the border cases. - -\section{GPL \S 1: Verbatim Copying} -\label{GPLs1} - -GPL \S 1 covers the matter of redistributing the source code of a program -exactly as it was received. This section is quite straightforward. -However, there are a few details worth noting here. - -The phrase ``in any medium'' is important. This, for example, gives the -freedom to publish a book that is the printed copy of the program's source -code. It also allows for changes in the medium of distribution. Some -vendors may ship Free Software on a CD, but others may place it right on -the hard drive of a pre-installed computer. Any such redistribution media -is allowed. - -Preservation of copyright notice and license notifications are mentioned -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 -always strives to make it abundantly clear to anyone who receives the -software what its license is. The goal is to make sure users know their -rights and freedoms under GPL and to leave no reason that someone would be -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 -GPL. - -Also mentioned by name is the warranty disclaimer. Most people today do -not believe that software comes with any warranty. Notwithstanding the -proposed state-level UCITA bills (which have never obtained widespread -adoption), there are little or no implied warranties with software. -However, just to be on the safe side, GPL clearly disclaims them, and the -GPL requires redistributors to keep the disclaimer very visible. (See -Sections~\ref{GPLs11} and~\ref{GPLs12} of this tutorial for more on GPL's -warranty disclaimers.) - -Note finally that \S 1 begins to set forth the important defense of -commercial freedom. \S 1 clearly states that in the case of verbatim -copies, one may make money. Redistributors are fully permitted to charge -for the redistribution of copies of Free Software. In addition, they may -provide the warranty protection that the GPL disclaims as an additional -service for a fee. (See Section~\ref{Business Models} for more discussion -on making a profit from Free Software redistribution.) - -\section{GPL \S 2: Share and Share Alike} - -For many, this is where the ``magic'' happens that defends software -freedom along the distribution chain. \S 2 is the only place 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 -redistribution of modified versions are the same as those for verbatim -copying, as presented in \S 1. Therefore, the details of charging, -keeping copyright notices intact, and other \S 1 provisions are in tact -here as well. However, there are three additional requirements. - -The first (\S 2(a)) requires that modified files carry ``prominent -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, -or controlling the process of how changes get made. Primarily, \S 2(a) -seeks to ensure that those receiving modified versions know what path it -took to them. For some users, it is important to know that they are using -the standard version of program, because while there are many advantages -to using a fork, there are a few disadvantages. Users should be informed -about the historical context of the software version they use, so that -they can make proper support choices. Finally, \S 2(a) serves an academic -purpose --- ensuring that future developers can use a diachronic approach -to understand the software. - -\medskip - -The second requirement (\S 2(b)) contains the four short lines that embody -the legal details of ``share and share alike''. These 46 words are -considered by some to be the most worthy of careful scrutiny. It is worth -the effort to carefully understand what each clause is saying, because \S -2(b) can be a source of great confusion when not properly understood. - -In considering \S 2(b), first note the qualifier: it only applies to -derivative works that ``you distribute or publish''. Despite years of -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 -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, -personal, unshared changes to software for personal use only should be -protected and defended\footnote{FSF does maintain that there is an {\bf - ethical} obligation to redistribute changes that are generally useful, - and often encourages companies and individuals to do so. However, there - is a clear distinction between what one {\bf ought} to do and what one - {\bf must} do.}. - -Next, we again encounter the same matter that appears in \S 0, in the -following text: -\begin{quote} -... that in whole or part contains or is derived from the Program or any - part thereof, -\end{quote} -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 -derived from'' the GPL'ed software, then the requirements of \S 2(b) -apply. The GPL invokes its control as a copyright license over the -modification of the work in combination with its control over distribution -of the work. - -The final clause of \S 2(b) describes what the licensee must do if she is -distributing or publishing a work that is deemed a derivative work under -copyright law --- namely, the following: -\begin{quote} -[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 \S 2 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 worked 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}$} - -It is certainly possible to take an existing independent work (called -\worki{}) and combine it with a GPL'ed 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 derivative work, \gplusi{}, is jointly held by the original copyright -holder of each of the two works. - -In this case, \S 2 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 Microsoft -product --- would they give you permission to create and distribute -\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{} -who may want to create and distribute \gplusi{}. This pre-granted -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 - -The next phrase of note in \S 2(b) is ``licensed ... at no charge''. This -is a source of great confusion to many. Not a month goes by that FSF does -not receive an email that claims to point out ``a contradiction in GPL'' -because \S 2 says that redistributors cannot charge for modified versions -of GPL'ed software, but \S 1 says that they can. The ``at no charge'' -means not that redistributors cannot charge for 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'ed 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. - -\S 2(b) further states that the software must ``be licensed ... to all -third parties''. This too has led to some confusions, 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 \S 2(b) does require redistributors to license the derivative works in -a way that is extends to all third parties who may ultimately receive a -copy of the software. - -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 -of this License'', the GPL. When an entity \emph{chooses} to redistribute -a derivative work of GPL'ed software, the license of that whole derivative -work must be GPL and only GPL\@. In this manner, \S 2(b) dovetails nicely -with \S 6 (as discussed in Section~\ref{GPLs6} of this tutorial). - -\medskip - -The final paragraph of \S 2 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'ed -code-base does not impact the license of other programs. Actual effort -must be expended by a programmer to cause a work to fall under the terms -of the GPL. Redistributors are always welcome to simply ship GPL'ed -software alongside proprietary software or other unrelated Free Software, -as long as the terms of GPL are adhered to for those packages that are -truly GPL'ed. - -\section{GPL \S 3: Producing Binaries} - -% FIXME: need name of a novelist who writes very obscurely and obliquely. - -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 -obscured. Ultimately, the full text of a novel, even one written by -Donald Barthelme, must presented to the reader as words in some -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 -have any value. - -Software is not so. While the source code, the human-readable -representation of software is of keen interest to programmers, users and -programmers alike cannot make the proper use of software in that -human-readable form. Binary code --- the ones and zeros that the computer -can understand --- must be predicable and attainable for the software to -be fully useful. Without the binaries, be they in object or executable -form, the software serves only the didactic purposes of computer science. - -Under copyright law, binary representations of the software are simply -derivative works of the source code. Applying a systematic process (i.e., -``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 -electronic file storage. - -Therefore, for GPL'ed software to be useful, the GPL, since it governs the -rules for creation of derivative works, must grant permission for the -generation of binaries. Furthermore, notwithstanding the relative -popularity of source-based GNU/Linux distributions like Gentoo, users find -it extremely convenient to receive distribution of binary software. Such -distribution is the redistribution of derivative works of the software's -source code. \S 3 addresses the matter of creation and distribution of -binary versions. - -Under \S 3, binary versions may be created and distributed under the terms -of \S\S 1--2, so all the material previously discussed applies here. -However, \S 3 must go a bit further. Access to the software's source code -is an incontestable prerequisite for the exercise of the fundamental -freedoms to modify and improve the software. Making even the most trivial -changes to a software program at the binary level is effectively -impossible. \S 3 must ensure that the binaries are never distributed -without the source code, so that these freedoms are ensured to be passed -along the distribution chain. - -\S 3 permits distribution of binaries, and then offers three options for -distribution of source code along with binaries. The most common and the -least complicated is the option given under \S 3(a). - -\S 3(a) offers the option to directly accompany the source code alongside -the distribution of the binaries. This is by far the most convenient -option for most distributors, because it means that the source-code -provision obligations are fully completed at the time of binary -distribution (more on that later). - -Under \S 3(a), the source code provided must be the ``corresponding source -code''. Here ``corresponding'' primarily means that the source code -provided must be that code used to produce the binaries being distributed. -That source code must also be ``complete''. A later paragraph of \S 3 -explains in detail what is meant by ``complete''. In essence, it is all -the material that a programmer of average skill would need to actually use -the source code to produce the binaries she has received. Complete source -is required so that, if the licensee chooses, she should be able to -exercise her freedoms to modify and redistribute changes. Without the -complete source, it would not be possible to make changes that were -actually directly derived from the version received. - -Furthermore, \S 3 is defending against a tactic that has in fact been seen -in FSF's GPL enforcement. Under GPL, if you pay a high price for a copy -of GPL'ed binaries (which comes with corresponding source, of course), you -have the freedom to redistribute that work at any fee you choose, or not -at all. Sometimes, companies attempt a GPL-violating cozenage whereby -they produce very specialized binaries (perhaps for an obscure -architecture), and then giving source code that does correspond, but not -giving the ``incantations'' and build plans they used to make that source -compile into the specialized binaries. Therefore, \S 3 that the source -code include ``meta-material'' like scripts, interface definitions, and -other material that is used to ``control compilation and installation'' of -the binaries. In this manner, those further down the distribution chain -are assured that they have the unabated freedom to build their own -derivative works from the sources provided. - -FSF (as authors of GPL) realizes that software distribution comes in many -forms. Embedded manufacturers, for example, have the freedom to put -GPL'ed software into their PDAs with very tight memory and space -constraints. In such cases, putting the source right alongside the -binaries on the machine itself might not be an option. While it is -recommended that this be the default way that people comply with GPL, the -GPL does provide options when such distribution is infeasible. - -\S 3, therefore, allows source code to be provided on any physical -``medium customarily used for software interchange''. By design, this -phrase covers a broad spectrum. At best, FSF can viably release a new GPL -every ten years or so. Thus, phrases like this must be adaptive to -changes in the technology. When GPL version 2 was first published in June -1991, distribution on magnetic tape was still common, and CD was -relatively new. Today, CD is the default, and for larger systems DVD-R is -gaining adoption. This language must adapt with changing technology. - -Meanwhile, the binding created by the word ``customarily'' is key. Many -incorrectly believe that distributing binary on CD and source on the -Internet is acceptable. In the corporate world, it is indeed customary to -simply download CDs worth of data over a T1 or email large file -attachments. However, even today in the USA, many computer users with -CD-ROM drives are not connected to the Internet, and most people connected -to the Internet are connected via a 56K dial-up connection. Downloading -CDs full of data is not customary for them in the least. In some cities -in Africa, computers are becoming more common, but Internet connectivity -is still available only at a few centralized locations. Thus, the -``customs'' here have must have a worldwide scope in context, and simply -providing source on the Internet --- while it is a kind, friendly and -useful thing to do --- is not usually sufficient. - -Note, however, a major exception to this rule, given by the last paragraph -of \S 3. \emph{If} distribution of the binary files is made only on the -Internet (i.e., ``from a designated place''), \emph{then} simply providing -the source code right alongside the binaries in the same place is -sufficient to comply with \S 3. - -\medskip - -As is shown above, Under \S 3(a), embedded manufacturers can put the -binaries on the device and ship the source code along on a CD\@. However, -sometimes this turns out to be too costly. Including a CD with every -device could prove too costly, and may practically (although not legally) -prohibit using GPL'ed software. For this situation and others like it, \S -3(b) is available. - -\S 3(b) allows a distributor of binaries to instead provide a written -offer for source code alongside those binaries. This is useful in two -specific ways. First, it may turn out that most users do not request the -source, and thus the cost of producing the CDs is saved --- a financial -and environmental windfall. In addition, along with a \S 3(b) compliant -offer for source, a binary distributor might choose to \emph{also} give a -URL for source code. Many who would otherwise need a CD with source might -turn out to have those coveted high bandwidth connections, and are able to -download the source instead --- again yielding environmental and financial -windfalls. - -However, note that regardless of how many users prefer to get the source -online, that \S 3(b) does place lasting long-term obligations on the -binary distributor. The binary distributor must be prepared for three -years to honor that offer for source, and ship it out (just as they would -have had to do under \S 3(a)) at a moment's notice when they receive such -a request. There is real organizational cost here: support engineers for -three years must be trained how to route source requests, and source CD -images for every release version for the last three years must be kept on -hand to burn such CDs quickly. The requests might not even come from -actual customers; the offer for source must be valid for ``any third -party''. - -That phrase is another place where some get confused --- thinking again -that full public distribution of source is required. The offer for source -must be valid for ``any third party'' because of the freedoms of -redistribution granted by \S\S 1--2. A company may ship a binary image -and an offer for source to only one customer. However, under GPL, that -customer has the right to redistribute that software to the world if she -likes. When she does, that customer has an obligation to make sure that -those who receive the software from her can exercise their freedoms under -GPL --- including the freedom to modify, rebuild, and redistribute the -source code. - -\S 3(c) is created to save her some trouble, because by itself \S 3(b) -would unfairly favor large companies. compromise. \S 3(b) allows the -separation of the binary software from the key tool that people can use -to exercise their freedom. The GPL permits this separation because it is -good for redistributors, and those users who turn out not to need the -source. However, to ensure equal rights for all software users, anyone -along the distribution chain must have the right to get the source and -exercise those freedoms that require it. - -Meanwhile, \S 3(b)'s compromise primarily benefits companies who -distribute binary software commercially. Without \S 3(c), that benefit -would be at the detriment of the companies' customers; the burden of -source code provision would be unfairly shifted to the companies' -customers. A customer, who had received binaries with a \S 3(b)-compliant -offer, would be required under GPL (sans \S 3(c)) to acquire the source, -merely to give a copy of the software to a friend who needed it. \S 3(c) -reshifts this burden to entity who benefits from \S 3(b). - -\S 3(c) allows those who undertake \emph{non-commercial} distribution to -simply pass along a \S 3(b)-compliant source code offer. The customer who -wished to give a copy to her friend can now do so without provisioning the -source, as long as she gives that offer to her friend. By contrast, if -she wanted to go into business for herself selling CDs of that software, -she would have to acquire the source and either comply via \S 3(a), or -write her own \S 3(b)-compliant source offer. - -This process is precisely the reason why a \S 3(b) source offer must be -valid for all third parties. At the time the offer is made, there is no -way of knowing who might end up non-commercially receiving a copy of the -software. Companies who choose to comply via \S 3(b) must thus be -prepared to honor all incoming source code requests. For this and the -many other additional necessary complications under \S\S 3(b--c), it is -only rarely a better option than complying via \S 3(a). - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Defending Freedom On Many Fronts} - -The last chapter presented the core freedom-defending provisions of GPL\@, -which are in \S\S 0--3. \S\S 4--7 of the GPL are designed to ensure that -\S\S 0--3 are not infringed, are enforceable, are kept to the confines of -copyright law and are not trumped by other copyright agreements or -components of other entirely separate legal systems. In short, while \S\S -0--3 are the parts of the license that defend the freedoms of users and -programmers, \S\S 4--7 are the parts of the license that keep the playing -field clear so that \S\S 0--3 can do their jobs. - -\section{GPL \S 4: Termination on Violation} -\label{GPLs4} - -\S 4 is GPL's termination clause. Upon first examination, it seems -strange for a license that has the goal of defending users and programmers -freedoms for perpetuity in an irrevocable way would have such a clause. -However, upon further examination, the difference between irrevocability -and this termination clause becomes clear. - -The GPL is irrevocable in the sense that once a copyright holder grants -rights for someone to copy, modify and redistribute the software under -terms of the GPL, they cannot later revoke that grant. Since the GPL has -no provision allowing the copyright holder to take such a prerogative, the -license is granted as long as the copyright remains in effect\footnote{In - the USA, due to unfortunate legislation, the length of copyright is - nearly perpetual, even though the Constitution forbids perpetual - copyright.}. The copyright holder has the right to relicense the same -work under different licenses (see Section~\ref{Proprietary Relicensing} -of this tutorial), or to stop distributing the GPL'ed version (assuming \S -3(b) was never used), but the she may not revoke the rights under GPL -already granted. - -In fact, when an entity looses their right to copy, modify and distribute -GPL'ed software, it is because of their \emph{own actions}, not that of -the copyright holder. The copyright holder does not decided when \S 4 -termination occurs (if ever), the actions of the licensee does. - -Under copyright law, the GPL has granted various rights and freedoms to -the licensee to perform specific types of copying, modification, and -redistribution. By default, all other types of copying, modification, and -redistribution are prohibited. \S 4 says that if you undertake any of -those other types (e.g., redistributing binary-only in violation of \S 3), -then all rights under the license --- even those otherwise permitted for -those who have not violated --- terminate automatically. - -\S 4 gives GPL teeth. If licensees fail to adhere to the license, then -they are stuck. They must to completely cease and desist from all -copying, modification and distribution of that GPL'ed software. - -At that point, violating licensees must gain the forgiveness of the -copyright holder to have their rights restored. Alternatively, they could -negotiate another agreement, separate from GPL, with the copyright -holder. Both are common practice. - -At FSF, it is part of the mission to spread software freedom. When FSF -enforces GPL, the goal is to bring the violator back into compliance as -quickly as possible, and redress the damage caused by the violation. -That is FSF's steadfast position in a violation negotiation --- comply -with the license and respect freedom. - -However, other entities who do not share the full ethos of software -freedom as institutionalized by FSF pursue GPL violations differently. MySQL -AB, a company that produces the GPL'ed MySQL database, upon discovering -GPL violations typically negotiates a proprietary software license -separately for a fee. While this practice is not one that FSF would ever -consider undertaking or even endorsing, it is a legal way for copyright -holders to proceed. - -\section{GPL \S 5: Acceptance, Copyright Style} -\label{GPLs5} - -\S 5 brings us to perhaps the most fundamental misconception and common -confusion about GPL\@. Because of the prevalence of proprietary software, -most users, programmers, and lawyers alike tend to be more familiar with -EULAs. EULAs are believed by their authors to be contracts, requiring -formal agreement between the licensee and the software distributor to be -valid. This has led to mechanisms like ``shrink-wrap'' and ``click-wrap'' -as mechanisms to perform acceptance ceremonies with EULAs. - -The GPL does not need contract law to ``transfer rights''. No rights are -transfered between parties. By contrast, the GPL is permission slip to -undertake activities that would otherwise been prohibited by copyright law. -As such, it needs no acceptance ceremony; the licensee is not even -required to accept the license. - -However, without the GPL, the activities of copying, modifying and -distributing the software would have otherwise been prohibited. So, the -GPL says that you only accepted the license by undertaking activities that -you would have otherwise been prohibited without your license under GPL\@. -This is a certainly subtle point, and requires a mindset quite different -from the contractual approach taken by EULA authors. - -An interesting side benefit to \S 5 is that the bulk of users of Free -Software are not required to accept the license. Undertaking fair and -unregulated use of the work, for example, does not bind you to the GPL, -since you are not engaging in activity that is otherwise controlled by -copyright law. Only when you engage in those activities that might have an -impact on the freedom of others does license acceptance occur and the -terms begin to bind you to fair and equitable sharing of the software. In -other words, the GPL only kicks in when it needs to for the sake of -freedom. - -\section{GPL \S 6: GPL, My One and Only} -\label{GPLs6} - -A point that was glossed over in Section~\ref{GPLs4}'s discussion of \S 4 -was the irrevocable nature of the GPL\@. The GPL is indeed irrevocable, -and it is made so formally \S 6. - -The first sentence in \S 6 ensures that as software propagates down the -distribution chain, that each licensor can pass along the license to each -new licensee. Under \S 6, the act of distributing automatically grants a -license from the original licensor to the next recipient. This creates a -chain of grants that ensure that everyone in the distribution has rights -under the GPL\@. In a mathematical sense, this bounds the bottom --- -making sure that future licensees get no fewer rights than than the -licensee before. - -The second sentence of \S 6 does the opposite; it bounds from the top. It -prohibits any licensor along the distribution chain from placing -additional restrictions on the user. In other words, no additional -requirements may trump the rights and freedoms given by GPL\@. - -The final sentence of \S 6 makes it abundantly clear that no individual -entity in the distribution chain is responsible for the compliance of any -other. This is particularly important for non-commercial users who have -passed along a source offer under \S 3(c), as they cannot be assured that -the issuer of the offer will honor their \S 3 obligations. - -In short, \S 6 says that your license for the software is your one and -only copyright license allowing you to copy, modify and distribute the -software. - -\section{GPL \S 7: ``Give Software Liberty of Give It Death!''} -\label{GPLs7} - -In essence, \S 7 is a verbosely worded way of saying for non-copyright -systems what \S 6 says for copyright. If there exists any reason that a -distributor knows of that would prohibit later licensees from exercising -their full rights under GPL, then distribution is prohibited. - -Originally, this was designed as the title of this section suggests --- as -a last ditch effort to make sure that freedom was upheld. However, in -modern times, it has come to give much more. Now that the body of GPL'ed -software is so large, patent holders who would want to be distributors of -GPL'ed software have a tough choice. They must choose between avoiding -distribution of GPL'ed software that exercises the teachings of their -patents, or grant a royalty-free, irrevocable, non-exclusive license to -those patents. Many companies, including IBM, the largest patent holder -in the world, have chosen the latter. - -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 -freedom-defending way that they share their copyrighted works. - -\section{GPL \S 8: Excluding Unfreedonia} -\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} - -\S 0--7 constitute the freedom-defending terms of the GPL. The balance -of the GPL handles administrivia and issues concerning warranties and -liability. - -\section{GPL \S 9: FSF as stewards of GPL} -\label{GPLs9} - -FSF reserves the exclusive right to publish future versions of the GPL\@; -\S 9 expresses this. While the stewardship of the copyrights on the body -of GPL'ed software around the world is shared among thousands of -individuals and organizations, the license itself needs a single steward. -Forking of the code is often regrettable but basically innocuous. Forking -of licensing is disastrous. - -FSF has only released two versions of GPL --- in 1989 and 1991. GPL, -version 3, is under current internal drafting. FSF's plan is to have a -long and engaging comment period. The goal of GPL is defend freedom, and -a gigantic community depends on that freedom now. FSF hopes to take all -stakeholders' opinions under advisement. - -\section{GPL \S 10: Relicensing Permitted} -\label{GPLs10} - -\S 10 reminds the licensee of what is already implied by the nature of -copyright law. Namely, the copyright holder of a particular software -program has the prerogative to grant alternative agreements under separate -copyright licenses. - -\section{GPL \S 11: No Warranty} -\label{GPLs11} - -All warranty disclaimer language tends to be shouted in all capital -letters. Apparently, there was once a case where the disclaimer language -of an agreement was negated because it was not ``conspicuous'' to one of -the parties. Therefore, to make such language ``conspicuous'', people -started placing it in bold or capitalizing the entire text. It now seems -to be voodoo tradition of warranty disclaimer writing. - -Finally, one important point to remember when reading \S 11 is that \S 1 -permits the sale of warranty as an additional service, which \S 11 -affirms. - -\section{GPL, \S 12: Limitation of Liability} -\label{GPLs12} - -There are many types of warranties, and in some jurisdictions some of them -cannot be disclaimed. Therefore, usually agreements will have both a -warranty disclaimer and a limitation of liability, as we have in \S 12. -\S 11 thus gets rid of all implied warranties that can legally be -disavowed. \S 12, in turn, limits the liability of the actor for any -warranties that cannot legally be disclaimed in a particular jurisdiction. - -So ends the terms and conditions of the GNU General Public License. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Integrating the GPL into Business Practices} - -Since GPL'ed software is now extremely prevalent through the industry, it -is useful to has some basic knowledge about using GPL'ed software in -business and how to build business models around GPL'ed software. - -\section{Using GPL'ed Software In-House} - -A discussed in Sections~\ref{GPLs0} and~\ref{GPLs5} of this tutorial, the -GPL only governs the activities of copying, modifying and distributing the -software are not governed by the license. Thus, in FSF's view, simply -installing the software on a machine and using it is not controlled or -limited in any way by GPL\@. Using Free Software in general requires -substantially fewer agreements and less license compliance activity than -any known proprietary software. - -Even if a company engages heavily in copying the software throughout the -enterprise, such copying is not only permitted by \S\S 1 and 3, but it is -encouraged! If the company simply deploy unmodified (or even modified) -Free Software throughout the organization for its employees to use, the -obligations under the license are very minimal. Using Free Software has a -substantially lower cost of ownership --- both in licensing fees and in -licensing checking and handling -- than the proprietary software -equivalents. - -\section{Business Models} -\label{Business Models} - -Using Free Software in house is certainly helpful, but there is also a -thriving market for Free Software-oriented business models. There is the -traditional model of selling copies of Free Software distributions. Many -companies, including IBM and Red Hat, make substantial revenue from this -model. IBM primarily chooses this model because they have found that for -higher-end hardware, the cost of the profit made from proprietary software -licensing fees is negligible. The real profit is in the hardware, but it is -essential that software be stable, reliable and dependable, and the users -be allowed to have unfettered access to it. Free Software, and GPL'ed -software in particular (because IBM can be assured that proprietary -versions of the same software will not exists to compete on their -hardware) is the right choice. - -Red Hat has actually found that a ``convenience fee'' for Free Software, -when set at a reasonable price (around \$60 or so), can produce some -profit. Even though Red Hat's system is fully downloadable on their -website, people still go to local computer stores and buy copies of their -box set, which is simply a printed version of the manual (available under -a free license as well) and the Free Software system it documents. - -\medskip - -However, custom support, service, and software improvement contracts are -the most widely used models for GPL'ed software. The GPL is central to -their success, because it ensure that the code base remains common, and -that large and small companies are on equal footing for access to the -technology. Consider, for example, the GNU Compiler Collection (GCC). -Cygnus Solutions, a company started in the early 1990s, was able to grow -steadily simply by providing services for GCC --- mostly consisting of -porting GCC to new embedded chipset target platforms. Eventually, Cygnus -was so successful that it was purchased by Red Hat where it remains a -profitable division. - -However, there are very small companies like CodeSourcery, as well as -other medium sized companies like MontaVista and OpenTV that compete in -this space. Because the code-base is protect by GPL, it creates and -demands industry trust. Companies can cooperate on the software and -improve it for everyone. Meanwhile, companies who rely on GCC for their -work are happy to pay for improvements, and for ports to new target -platforms, and nearly all the changes fold back into the standard -versions, and those forks that exist remain freely available. - -\medskip - -\label{Proprietary Relicensing} - -A final common business model that is perhaps the most controversial is -proprietary relicensing of a GPL'ed code base. This is only an option for -software in which a particular entity is the sole copyright holder. As -discussed earlier in this tutorial, a copyright holder is permitted under -copyright law to license a software system under her copyright as many -different ways as she likes to as many different parties as she wishes. - -Some companies, such as MySQL AB and TrollTech, use this to their -financial advantage with regard to a GPL'ed code base. The standard -version is available from the company under the terms of the GPL\@. -However, parties can purchase separate proprietary software licensing for -a fee. - -This business model is problematic because it means that the GPL'ed code -base must be developed in a somewhat monolithic way, because volunteer -Free Software developers may be reluctant to assign their copyrights to -the company because it will not promise to always and forever license the -software as Free Software. Indeed, the company will surely use such code -contributions in proprietary versions licensed for fees. - -\section{Ongoing Compliance} - -GPL compliance is in fact a very simple matter -- much simpler than -typical proprietary software agreements and EULAs. Usually, the most -difficult hurdle is changing from a proprietary software mindset to one -that seeks to foster a community of sharing and mutual support. Certainly -complying with the GPL from a users' perspective gives substantially fewer -headaches than proprietary license compliance. - -For those who go into the business of distributing or distributing -modified versions of GPL'ed software, the burden is a bit higher, but not -by much. The glib answer that is that it is always easy to comply with -the GPL by releasing the whole product as Free Software. However, -admittedly to the dismay of FSF, many modern and complex software systems -are built using both proprietary and GPL'ed components that are not -legally derivative works of each other. Usually, in product development -with Free Software tools, sometimes it is easier simply to improve -existing GPL'ed application than to start from scratch. In exchange for -that benefit, the license requires that the modifier give back to the -commons that made the work easier. It is a reasonable trade-off, and it -is a way to help build a better world while also making a profit. - -Note that FSF does provide services to assist companies who need -assistance in complying with the GPL. You can contact FSF's GPL -Compliance Labs at $<$compliance@fsf.org$>$. - -\appendix - -\chapter{The GNU General Public License} - -\begin{center} -{\parindent 0in - -Version 2, June 1991 - -Copyright \copyright\ 1989, 1991 Free Software Foundation, Inc. - -\bigskip - -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -\bigskip - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -} -\end{center} - -\begin{center} -{\bf\large Preamble} -\end{center} - - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free software---to -make sure the software is free for all its users. This General Public -License applies to most of the Free Software Foundation's software and to -any other program whose authors commit to using it. (Some other Free -Software Foundation software is covered by the GNU Library General Public -License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. -Our General Public Licenses are designed to make sure that you have the -freedom to distribute copies of free software (and charge for this service -if you wish), that you receive source code or can get it if you want it, -that you can change the software or use pieces of it in new free programs; -and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to -deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or -for a fee, you must give the recipients all the rights that you have. You -must make sure that they, too, receive or can get the source code. And -you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) -offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this free software. If -the software is modified by someone else and passed on, we want its -recipients to know that what they have is not the original, so that any -problems introduced by others will not reflect on the original authors' -reputations. - -Finally, any free program is threatened constantly by software patents. -We wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent must -be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and -modification follow. - -\begin{center} -{\Large \sc Terms and Conditions For Copying, Distribution and - Modification} -\end{center} - - -%\renewcommand{\theenumi}{\alpha{enumi}} -\begin{enumerate} - -\addtocounter{enumi}{-1} - -\item - -This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the -terms of this General Public License. The ``Program'', below, refers to -any such program or work, and a ``work based on the Program'' means either -the Program or any derivative work under copyright law: that is to say, a -work containing the Program or a portion of it, either verbatim or with -modifications and/or translated into another language. (Hereinafter, -translation is included without limitation in the term ``modification''.) -Each licensee is addressed as ``you''. - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - -\item You may copy and distribute verbatim copies of the Program's source - code as you receive it, in any medium, provided that you conspicuously - and appropriately publish on each copy an appropriate copyright notice - and disclaimer of warranty; keep intact all the notices that refer to - this License and to the absence of any warranty; and give any other - recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you -may at your option offer warranty protection in exchange for a fee. - -\item - -You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - -\begin{enumerate} - -\item - -You must cause the modified files to carry prominent notices stating that -you changed the files and the date of any change. - -\item - -You must cause any work that you distribute or publish, that in -whole or in part contains or is derived from the Program or any -part thereof, to be licensed as a whole at no charge to all third -parties under the terms of this License. - -\item -If the modified program normally reads commands interactively -when run, you must cause it, when started running for such -interactive use in the most ordinary way, to print or display an -announcement including an appropriate copyright notice and a -notice that there is no warranty (or else, saying that you provide -a warranty) and that users may redistribute the program under -these conditions, and telling the user how to view a copy of this -License. (Exception: if the Program itself is interactive but -does not normally print such an announcement, your work based on -the Program is not required to print an announcement.) - -\end{enumerate} - - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - -\item -You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - -\begin{enumerate} - -\item - -Accompany it with the complete corresponding machine-readable -source code, which must be distributed under the terms of Sections -1 and 2 above on a medium customarily used for software interchange; or, - -\item - -Accompany it with a written offer, valid for at least three -years, to give any third party, for a charge no more than your -cost of physically performing source distribution, a complete -machine-readable copy of the corresponding source code, to be -distributed under the terms of Sections 1 and 2 above on a medium -customarily used for software interchange; or, - -\item - -Accompany it with the information you received as to the offer -to distribute corresponding source code. (This alternative is -allowed only for noncommercial distribution and only if you -received the program in object code or executable form with such -an offer, in accord with Subsection b above.) - -\end{enumerate} - - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - -\item -You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - -\item -You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - -\item -Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - -\item -If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - -\item -If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - -\item -The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and ``any -later version'', you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - -\item -If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - -\begin{center} -{\Large\sc -No Warranty -} -\end{center} - -\item -{\sc Because the program is licensed free of charge, there is no warranty -for the program, to the extent permitted by applicable law. Except when -otherwise stated in writing the copyright holders and/or other parties -provide the program ``as is'' without warranty of any kind, either expressed -or implied, including, but not limited to, the implied warranties of -merchantability and fitness for a particular purpose. The entire risk as -to the quality and performance of the program is with you. Should the -program prove defective, you assume the cost of all necessary servicing, -repair or correction.} - -\item -{\sc In no event unless required by applicable law or agreed to in writing -will any copyright holder, or any other party who may modify and/or -redistribute the program as permitted above, be liable to you for damages, -including any general, special, incidental or consequential damages arising -out of the use or inability to use the program (including but not limited -to loss of data or data being rendered inaccurate or losses sustained by -you or third parties or a failure of the program to operate with any other -programs), even if such holder or other party has been advised of the -possibility of such damages.} - -\end{enumerate} - - -\begin{center} -{\Large\sc End of Terms and Conditions} -\end{center} - - -\pagebreak[2] - -\section*{Appendix: How to Apply These Terms to Your New Programs} - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest to - attach them to the start of each source file to most effectively convey - the exclusion of warranty; and each file should have at least the - ``copyright'' line and a pointer to where the full notice is found. - -\begin{quote} -one line to give the program's name and a brief idea of what it does. \\ -Copyright (C) yyyy name of author \\ - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -\end{quote} - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - -\begin{quote} -Gnomovision version 69, Copyright (C) yyyy name of author \\ -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. \\ -This is free software, and you are welcome to redistribute it -under certain conditions; type `show c' for details. -\end{quote} - - -The hypothetical commands {\tt show w} and {\tt show c} should show the -appropriate parts of the General Public License. Of course, the commands -you use may be called something other than {\tt show w} and {\tt show c}; -they could even be mouse-clicks or menu items---whatever suits your -program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a ``copyright disclaimer'' for the program, if -necessary. Here is a sample; alter the names: - -\begin{quote} -Yoyodyne, Inc., hereby disclaims all copyright interest in the program \\ -`Gnomovision' (which makes passes at compilers) written by James Hacker. \\ - -signature of Ty Coon, 1 April 1989 \\ -Ty Coon, President of Vice -\end{quote} - - -This General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications -with the library. If this is what you want to do, use the GNU Library -General Public License instead of this License. - -\end{document} - -% LocalWords: proprietarize redistributors sublicense yyyy Gnomovision EULAs -% LocalWords: Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs -% LocalWords: Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo -% LocalWords: TrollTech