* Wrote material on GPL Sections 1 and 2 * Spell checked * Flushed out outline a bit
This commit is contained in:
		
							parent
							
								
									5682a42c82
								
							
						
					
					
						commit
						163097cd2b
					
				
					 1 changed files with 253 additions and 12 deletions
				
			
		
							
								
								
									
										265
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							
							
						
						
									
										265
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							|  | @ -203,7 +203,7 @@ restricted. | ||||||
| It was once rare that this freedom was restricted by even proprietary | It was once rare that this freedom was restricted by even proprietary | ||||||
| software; today it is not so rare.  Most End User Licensing Agreements | software; today it is not so rare.  Most End User Licensing Agreements | ||||||
| (EULAs) that cover most proprietary software restrict some types of use. | (EULAs) that cover most proprietary software restrict some types of use. | ||||||
| For example, some versions of Microsoft's Frontpage software prohibit use | For example, some versions of Microsoft's FrontPage software prohibit use | ||||||
| of the software to create websites that generate negative publicity for | of the software to create websites that generate negative publicity for | ||||||
| Microsoft.  Free Software has no such restrictions; everyone is free to | Microsoft.  Free Software has no such restrictions; everyone is free to | ||||||
| use Free Software for any purpose whatsoever. | use Free Software for any purpose whatsoever. | ||||||
|  | @ -581,7 +581,7 @@ 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 | are the sections of the GPL that fundamentally define the legal details of | ||||||
| how software freedom is respected. | how software freedom is respected. | ||||||
| 
 | 
 | ||||||
| \section{GPL, \S 0: Freedom to Run} | \section{GPL \S 0: Freedom to Run} | ||||||
| 
 | 
 | ||||||
| \S 0, the opening section of GPL, sets forth that the work is governed by | \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 | copyright law.  It specifically points out that it is the ``copyright | ||||||
|  | @ -594,7 +594,7 @@ system under which it is governed.  Specifically, it states: | ||||||
| Activities other than copying, distribution and modification are not | Activities other than copying, distribution and modification are not | ||||||
| covered by this License; they are outside its scope. | covered by this License; they are outside its scope. | ||||||
| \end{quote} | \end{quote} | ||||||
| In essence, the license governs \emph{only} those activites and all other | In essence, the license governs \emph{only} those activities and all other | ||||||
| activities are unrestricted, provided that no other agreements trump GPL | activities are unrestricted, provided that no other agreements trump GPL | ||||||
| (which they cannot; see Sections~\ref{GPLs6} and~\ref{GPLs7}).  This is | (which they cannot; see Sections~\ref{GPLs6} and~\ref{GPLs7}).  This is | ||||||
| very important, because the Free Software community heavily supports | very important, because the Free Software community heavily supports | ||||||
|  | @ -615,7 +615,7 @@ novel for the purpose of learning how to be a better programmer. | ||||||
| 
 | 
 | ||||||
| \medskip | \medskip | ||||||
| 
 | 
 | ||||||
| Thus, the GPL protects users fair and uregulated use rights precisely by | Thus, the GPL protects users fair and unregulated use rights precisely by | ||||||
| not attempting to cover them.  Furthermore, the GPL ensures the freedom | not attempting to cover them.  Furthermore, the GPL ensures the freedom | ||||||
| to run specifically by stating the following: | to run specifically by stating the following: | ||||||
| \begin{quote} | \begin{quote} | ||||||
|  | @ -625,15 +625,232 @@ Thus, users are explicitly given the freedom to run by \S 0. | ||||||
| 
 | 
 | ||||||
| \medskip | \medskip | ||||||
| 
 | 
 | ||||||
| The bulk of \S 0 not mentioned here gives definitions for other terms used | 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 | throughout.  The only one worth discussing in detail is ``work based on | ||||||
| the Program''.  The reason this definition is particular interesting is | the Program''.  The reason this definition is particular interesting is | ||||||
| that  | 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 attempt 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. | ||||||
| 
 | 
 | ||||||
| \section{GPL, \S 1} | 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 2} | \section{GPL \S 1: Verbatim Copying} | ||||||
|  | 
 | ||||||
|  | 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 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 profit from Free Software redistribution.) | ||||||
|  | 
 | ||||||
|  | \section{GPL \S 2: Share and Share Alike} | ||||||
|  | 
 | ||||||
|  | Many consider \S 2 the heart and soul of the GPL\@.  For many, this is | ||||||
|  | where the ``magic'' happens that defends software freedom along the | ||||||
|  | distribution chain.  I certainly agree that if GPL has a soul, this is | ||||||
|  | where it is.  However, I argue that the heart is in fact contained in \SS | ||||||
|  | 4--5 (see Section~\ref{GPLs4} and~\ref{GPLs5} of this tutorial).  But, for | ||||||
|  | the moment, let us consider the soul. | ||||||
|  | 
 | ||||||
|  | \S 2 gives the only permission in the GPL that governs the modification | ||||||
|  | controls of copyright law.  If someone modifies a GPL'ed program, she is | ||||||
|  | bound in the making those changes by \S 2.  The goal here is to ensure | ||||||
|  | that the body of GPL'ed software, as it continues and develops, remains | ||||||
|  | Free as in freedom. | ||||||
|  | 
 | ||||||
|  | To achieve that goal, \S 2 first sets forth that the rights of | ||||||
|  | redistribution modified versions are the same as those for verbatim | ||||||
|  | copying, as presented in \S 1.  Therefore, the details of charging, | ||||||
|  | keeping copyright notices in tact, 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 what path it took | ||||||
|  | to them.  For some users, it is important to know that they are using the | ||||||
|  | canonical version of program, because while there are many advantages to | ||||||
|  | using a fork, there are a few disadvantages.  Users should be informed 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 changes to software that are not shared should be protected and | ||||||
|  | defended\footnote{FSF does maintain that there is an {\bf ethical} | ||||||
|  |   obligation to redistributor 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 ideas in 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 .  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 uphold, 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 typical 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 FIXME 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} | \section{GPL, \S 3} | ||||||
| 
 | 
 | ||||||
|  | @ -641,6 +858,7 @@ that | ||||||
| \chapter{Defending Freedom On Many Fronts} | \chapter{Defending Freedom On Many Fronts} | ||||||
| 
 | 
 | ||||||
| \section{GPL, Section 4} | \section{GPL, Section 4} | ||||||
|  | \label{GPLs4} | ||||||
| 
 | 
 | ||||||
| \section{GPL, Section 5} | \section{GPL, Section 5} | ||||||
| \label{GPLs5} | \label{GPLs5} | ||||||
|  | @ -654,9 +872,21 @@ that | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| \chapter{Odds, Ends, and Absolutely No Warranty} | \chapter{Odds, Ends, and Absolutely No Warranty} | ||||||
| 
 | 
 | ||||||
|  | \section{GPL, \S 8} | ||||||
|  | \label{GPLs8} | ||||||
|  | 
 | ||||||
|  | \section{GPL, \S 9} | ||||||
|  | \label{GPLs9} | ||||||
|  | 
 | ||||||
|  | \section{GPL, \S 10} | ||||||
|  | \label{GPLs10} | ||||||
|  | 
 | ||||||
|  | \section{GPL, \S 11} | ||||||
|  | \label{GPLs11} | ||||||
|  | 
 | ||||||
| There was a case where the disclaimer of a contract was negated because it | There was a case where the disclaimer of a contract was negated because it | ||||||
| was not "conspicuous" to the person entering into the contract.  Therefore, | was not "conspicuous" to the person entering into the contract.  Therefore, | ||||||
| to make such language "conspicuous" people started bolding it.  My question | to make such language "conspicuous" people started placing it in bold or caps it.  My question | ||||||
| has always been, does that mean all the other parts of the document aren't | has always been, does that mean all the other parts of the document aren't | ||||||
| important such that they too need to be "conspicuous." | important such that they too need to be "conspicuous." | ||||||
| 
 | 
 | ||||||
|  | @ -667,8 +897,18 @@ limitation of liability.  The former gets rid of everything that can be | ||||||
| gotten rid of, while the latter limits the liability of the actor for any | gotten rid of, while the latter limits the liability of the actor for any | ||||||
| warranties that cannot be disclaimed (such as personal injury, etc.). | warranties that cannot be disclaimed (such as personal injury, etc.). | ||||||
| 
 | 
 | ||||||
|  | \section{GPL, \S 12} | ||||||
|  | \label{GPLs12} | ||||||
|  | 
 | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| \chapter{Business Models, Internal Use, and Compliance} | \chapter{Integrating the GPL into Business Practices} | ||||||
|  | 
 | ||||||
|  | \section{Using Free Software In-House} | ||||||
|  | 
 | ||||||
|  | \section{Business Models} | ||||||
|  | \label{Business Models} | ||||||
|  | 
 | ||||||
|  | \section{Ongoing Compliance} | ||||||
| 
 | 
 | ||||||
| \appendix | \appendix | ||||||
| 
 | 
 | ||||||
|  | @ -1091,5 +1331,6 @@ General Public License instead of this License. | ||||||
| 
 | 
 | ||||||
| \end{document} | \end{document} | ||||||
| 
 | 
 | ||||||
| % LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision | % LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs | ||||||
| % LocalWords:  Yoyodyne | % LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs | ||||||
|  | % LocalWords:  Lessig Lessig's UCITA pre | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn