*** empty log message ***
This commit is contained in:
		
							parent
							
								
									72f969b8a2
								
							
						
					
					
						commit
						c19b9d2557
					
				
					 3 changed files with 293 additions and 250 deletions
				
			
		|  | @ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\ | ||||||
| 
 | 
 | ||||||
| Columbia Law School, New York, NY, USA \\ | Columbia Law School, New York, NY, USA \\ | ||||||
| \vspace{.1in} | \vspace{.1in} | ||||||
| Wednesday 21 January 2003  | Wednesday 21 January 2004 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| \vspace{.7in} | \vspace{.7in} | ||||||
|  | @ -85,7 +85,6 @@ any medium, provided this notice is preserved. | ||||||
| 
 | 
 | ||||||
| \begin{abstract} | \begin{abstract} | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| This one-day course presents the details of five different GPL compliance | This one-day course presents the details of five different GPL compliance | ||||||
| cases handled by FSF's GPL Compliance Laboratory.  Each case offers unique | cases handled by FSF's GPL Compliance Laboratory.  Each case offers unique | ||||||
| insights into problems that can arise when the terms of GPL are not | insights into problems that can arise when the terms of GPL are not | ||||||
|  | @ -101,6 +100,15 @@ that deal with Free Software on a regular basis.  However, technical | ||||||
| managers and executives whose businesses use or distribute Free Software | managers and executives whose businesses use or distribute Free Software | ||||||
| will also find the course very helpful. | will also find the course very helpful. | ||||||
| 
 | 
 | ||||||
|  | \bigskip | ||||||
|  | 
 | ||||||
|  | These course materials are merely a summary of the highlights of the | ||||||
|  | course presented.  Readers of this material should assume that they have | ||||||
|  | missed the bulk of the material, as the detailed discussion of these case | ||||||
|  | studies is the most illuminating part about them.  Merely reading this | ||||||
|  | material is akin to matriculating into a college course and read only the | ||||||
|  | textbook instead of going to class. | ||||||
|  | 
 | ||||||
| \end{abstract} | \end{abstract} | ||||||
| 
 | 
 | ||||||
| \tableofcontents | \tableofcontents | ||||||
|  | @ -124,58 +132,61 @@ propagate throughout the distribution chain of the software. | ||||||
| As we have learned, the assurance that Free Software under GPL remains | As we have learned, the assurance that Free Software under GPL remains | ||||||
| Free Software is accomplished through various terms of GPL: \S 3 ensures | Free Software is accomplished through various terms of GPL: \S 3 ensures | ||||||
| that binaries are always accompanied with source; \S 2 ensures that the | that binaries are always accompanied with source; \S 2 ensures that the | ||||||
| sources are adequate, complete and usable; \S 6 and \S 7 ensures that the | sources are adequate, complete and usable; \S 6 and \S 7 ensure that the | ||||||
| license of the software is always GPL for everyone, and that no other | license of the software is always GPL for everyone, and that no other | ||||||
| legal agreements or licenses trump GPL; \S 4 ensures that the GPL can be | legal agreements or licenses trump GPL.  It is \S 4, however, that ensures | ||||||
| enforced. | that the GPL can be enforced. | ||||||
| 
 | 
 | ||||||
| In fact, \S 4 is where we begin our discussion of GPL enforcement.  This | Thus, \S 4 is where we begin our discussion of GPL enforcement.  This | ||||||
| clause is where the legal teeth of the license are rooted.  As a copyright | clause is where the legal teeth of the license are rooted.  As a copyright | ||||||
| license, GPL governs only the activities governed by copyright law --- | license, GPL governs only the activities governed by copyright law --- | ||||||
| copying, modifying and redistributing computer software.  Unlike most | copying, modifying and redistributing computer software.  Unlike most | ||||||
| copyright licenses, GPL gives wide grants of permission for engaging with | copyright licenses, GPL gives wide grants of permission for engaging with | ||||||
| these activities.  Such permissions continue and all parties may exercise | these activities.  Such permissions continue and all parties may exercise | ||||||
| until such time as one party violates the terms of GPL\@.  At the moment | them until such time as one party violates the terms of GPL\@.  At the | ||||||
| of such a violation --- the engaging of copying, modifying or | moment of such a violation (i.e., the engaging of copying, modifying or | ||||||
| redistributing in ways not permitted by GPL --- \S 4 is invoked. | redistributing in ways not permitted by GPL) \S 4 is invoked.  While other | ||||||
|  | parties may continue to operate under GPL, the violating party loses their | ||||||
|  | rights. | ||||||
| 
 | 
 | ||||||
| Specifically, \S 4 terminates the violators rights to continue engaging | Specifically, \S 4 terminates the violators' rights to continue engaging | ||||||
| in the permissions that otherwise granted by GPL\@.  Effectively, their | in the permissions that otherwise granted by GPL\@.  Effectively, their | ||||||
| permission go back to the copyright defaults --- no permission to copy, | permissions go back to the copyright defaults --- no permission is granted | ||||||
| modify, or redistribute the work.  Meanwhile, \S 5 points out that if | to copy, modify, nor redistribute the work.  Meanwhile, \S 5 points out | ||||||
| if the violator has no rights under GPL --- as they will not once they | that if if the violator has no rights under GPL --- as they will not once | ||||||
| have violated it --- then they otherwise have no right and are prohibited | they have violated it --- then they otherwise have no rights and are | ||||||
| by copyright law from engaging in the activities of copying, modifying | prohibited by copyright law from engaging in the activities of copying, | ||||||
| and distributing. | modifying and distributing. | ||||||
| 
 | 
 | ||||||
| \section{Ongoing Violations} | \section{Ongoing Violations} | ||||||
| 
 | 
 | ||||||
| In conjunction with \S 4's termination of violators' rights, there is one | In conjunction with \S 4's termination of violators' rights, there is one | ||||||
| final industry fact is added to the mix: rarely, does on engage in a | final industry fact added to the mix: rarely, does one engage in a single, | ||||||
| single, solitary act of copying, distributing or modifying software. | solitary act of copying, distributing or modifying software.  Almost | ||||||
| Almost always, a violator will have legitimately acquired a copy a GPL'd | always, a violator will have legitimately acquired a copy a GPL'd program, | ||||||
| program --- either made modifications or not --- and then begun a ongoing | either making modifications or not, and then began a ongoing activity of | ||||||
| activity of distributing that work.  For example, the violator may have | distributing that work.  For example, the violator may have put the | ||||||
| put the software in boxes and sold them at stores.  Or perhaps the | software in boxes and sold them at stores.  Or perhaps the software was | ||||||
| software was put up for download on the Internet.  Regardless of the | put up for download on the Internet.  Regardless of the delivery | ||||||
| delivery mechanism, violators almost always are engaged in {\em ongoing\/} | mechanism, violators almost always are engaged in {\em ongoing\/} | ||||||
| violation of GPL\@. | violation of GPL\@. | ||||||
| 
 | 
 | ||||||
| In fact, when we discover a GPL violation that occurred only once --- for | In fact, when we discover a GPL violation that occurred only once --- for | ||||||
| example, a user group who distributed copies of a GNU/Linux system without | example, a user group who distributed copies of a GNU/Linux system without | ||||||
| source at a meeting once --- we rarely pursue it with a high degree of | source at one meeting --- we rarely pursue it with a high degree of | ||||||
| diligence.  In our minds, that is an educational problem, and unless the | tenacity.  In our minds, such a violation is an educational problem, and | ||||||
| user group becomes a repeat offender (as it turns out, the never do) we | unless the user group becomes a repeat offender (as it turns out, the | ||||||
| simply send an FAQ entry that best explains how user groups can most | never do) we simply forward along an FAQ entry that best explains how user | ||||||
| easily comply with GPL, and send them on there merry way. | groups can most easily comply with GPL, and send them on there merry way. | ||||||
| 
 | 
 | ||||||
| It is only the cases of {\em ongoing\/} GPL violation that warrant our | It is only the cases of {\em ongoing\/} GPL violation that warrant our | ||||||
| active attention.  We vehemently pursue those cases where dozens, hundreds | active attention.  We vehemently pursue those cases where dozens, hundreds | ||||||
| or thousands of customers are receiving software that is out of | or thousands of customers are receiving software that is out of | ||||||
| compliance, and the company continually puts for sale (or distributes | compliance, and where the company continually puts for sale (or | ||||||
| gratis as a demo) software distributions that include GPL'd components out | distributes gratis as a demo) software distributions that include GPL'd | ||||||
| of compliance.  Our goal is to maximize the impact of enforcement and | components out of compliance.  Our goal is to maximize the impact of | ||||||
| educate industries who are making a mistake on a large scale. | enforcement and educate industries who are making such a mistake on a | ||||||
|  | large scale. | ||||||
| 
 | 
 | ||||||
| In addition, such ongoing violation shows that a particular company is | In addition, such ongoing violation shows that a particular company is | ||||||
| committed to a GPL'd product line.  We are thrilled to learn that someone | committed to a GPL'd product line.  We are thrilled to learn that someone | ||||||
|  | @ -186,40 +197,41 @@ gives us an active opportunity to educate a new contributor the GPL'd | ||||||
| commons about proper procedures to contribute to the community. | commons about proper procedures to contribute to the community. | ||||||
| 
 | 
 | ||||||
| Our central goal is not, in fact, to merely clear up particular violation. | Our central goal is not, in fact, to merely clear up particular violation. | ||||||
| Over time, we hope that our compliance lab will be out of business.  We | In fact, over time, we hope that our compliance lab will be out of | ||||||
| seek to educate the businesses that engage in commerce related to GPL'd | business.  We seek to educate the businesses that engage in commerce | ||||||
| software to obey the rules of the road and allow them to operate freely | related to GPL'd software to obey the rules of the road and allow them to | ||||||
| under them.  Just as a traffic officer would not revel in reminding people | operate freely under them.  Just as a traffic officer would not revel in | ||||||
| which side of the road to drive in, so we do not revel in violations.  By | reminding people which side of the road to drive on, so we do not revel in | ||||||
| contrast, we revel in the successes of educating an ongoing violator about | violations.  By contrast, we revel in the successes of educating an | ||||||
| GPL so that GPL compliance becomes a second-nature matter, and they join | ongoing violator about GPL so that GPL compliance becomes a second-nature | ||||||
| the GPL ecosystem as contributors. | matter, allowing that company to join the GPL ecosystem as a contributor. | ||||||
| 
 | 
 | ||||||
| \section{How are Violations Discovered?} | \section{How are Violations Discovered?} | ||||||
| 
 | 
 | ||||||
| Our enforcement of GPL is not a fund-raising effort; in fact, FSF's GPL | Our enforcement of GPL is not a fund-raising effort; in fact, FSF's GPL | ||||||
| compliance lab runs at a loss (in other words, it is subsided by our | Compliance Lab runs at a loss (in other words, it is subsided by our | ||||||
| donors).  Our violation reports come from volunteers, who have encountered | donors).  Our violation reports come from volunteers, who have encountered | ||||||
| in their business or personal life, a device or software product that | in their business or personal life, a device or software product that | ||||||
| appears to contain GPL'd software; these reports are usually sent via | appears to contain GPL'd software.  These reports are almost always sent | ||||||
| email to $<$license-violation@fsf.org$>$. | via email to $<$license-violation@fsf.org$>$. | ||||||
| 
 | 
 | ||||||
| Our first order of business, upon receiving such a report, is to seek | Our first order of business, upon receiving such a report, is to seek | ||||||
| independent confirmation.  When possible, we get a copy of the software | independent confirmation.  When possible, we get a copy of the software | ||||||
| product.  For example, if it is an offering that is downloadable from a | product.  For example, if it is an offering that is downloadable from a | ||||||
| website, we download it and investigate ourselves.  When it is not | website, we download it and investigate ourselves.  When it is not | ||||||
| possible for us to actually get a copy of the software, we ask the | possible for us to actually get a copy of the software, we ask the | ||||||
| reporter to go through the same process we use in examining the software. | reporter to go through the same process we would use in examining the | ||||||
|  | software. | ||||||
| 
 | 
 | ||||||
| By rough estimation, about 95\% of violations at this stage can be | By rough estimation, about 95\% of violations at this stage can be | ||||||
| confirmed by simple commands.  Since almost all violators have merely made | confirmed by simple commands.  Almost all violators have merely made an | ||||||
| an error, and have no nefarious intentions, they have made no attempt to | error and have no nefarious intentions.  They have made no attempt to | ||||||
| remove our copyright notices from the software.  Given the third-party | remove our copyright notices from the software.  Thus, given the | ||||||
| binary, {\tt tpb}, usually, a simple command (on a GNU/Linux system) such | third-party binary, {\tt tpb}, usually, a simple command (on a GNU/Linux | ||||||
| as the following will find an Free Software copyright notice and GPL | system) such as the following will find a Free Software copyright notice | ||||||
| reference: | and GPL reference: | ||||||
| \begin{quotation} | \begin{quotation} | ||||||
| {\tt string tpb | grep Copyright} | {\tt strings tpb | grep Copyright} | ||||||
| \end{quotation} | \end{quotation} | ||||||
| In other words, it is usually more than trivial to confirm that GPL'd | In other words, it is usually more than trivial to confirm that GPL'd | ||||||
| software is included. | software is included. | ||||||
|  | @ -229,17 +241,17 @@ determine whose copyright has been violated.  Contrary to popular belief, | ||||||
| FSF does not have the power to enforce GPL in all cases.  Since GPL | FSF does not have the power to enforce GPL in all cases.  Since GPL | ||||||
| operates under copyright law, the powers of enforcement --- to seek | operates under copyright law, the powers of enforcement --- to seek | ||||||
| redress once \S 4 has been invoked --- lies with the copyright holder of | redress once \S 4 has been invoked --- lies with the copyright holder of | ||||||
| the software.  FSF is one of the largest copyright holders in the world | the software.  FSF is one of the largest copyright holders in the world of | ||||||
| of GPL'd software, but we are by no means the only one.  Thus, we | GPL'd software, but we are by no means the only one.  Thus, we sometimes | ||||||
| sometimes discover that while GPL'd code is present in the software, | discover that while GPL'd code is present in the software, there is no | ||||||
| there is no software copyrighted by FSF. | software copyrighted by FSF present. | ||||||
| 
 | 
 | ||||||
| In cases where FSF does not hold copyright interest in the software, but | In cases where FSF does not hold copyright interest in the software, but | ||||||
| we have confirmed a violation, we contact the copyright holders of the | we have confirmed a violation, we contact the copyright holders of the | ||||||
| software, and encourage them to enforce GPL\@.  We offer our good offices | software, and encourage them to enforce GPL\@.  We offer our good offices | ||||||
| to help negotiate compliance on their behalf, and many times we help as a | to help negotiate compliance on their behalf, and many times we help as a | ||||||
| third party to settle such GPL violations.  However, what we will | third party to settle such GPL violations.  However, what we will describe | ||||||
| describe in this course is FSF's first-hand experience enforcing its own | primarily in this course is FSF's first-hand experience enforcing its own | ||||||
| copyrights and GPL\@. | copyrights and GPL\@. | ||||||
| 
 | 
 | ||||||
| \section{First Contact} | \section{First Contact} | ||||||
|  | @ -249,7 +261,7 @@ cooperation and mutual help.  Our community has learned that cooperation | ||||||
| works best when you assume the best of others, and only change policy, | works best when you assume the best of others, and only change policy, | ||||||
| procedures and attitudes when some specific event or occurrence indicates | procedures and attitudes when some specific event or occurrence indicates | ||||||
| that a change is necessary.  We treat the process of GPL enforcement in | that a change is necessary.  We treat the process of GPL enforcement in | ||||||
| the same way; our goal is to encourage violators to join the cooperative | the same way.  Our goal is to encourage violators to join the cooperative | ||||||
| community of software sharing, so we want to open our hand in friendship | community of software sharing, so we want to open our hand in friendship | ||||||
| to them. | to them. | ||||||
| 
 | 
 | ||||||
|  | @ -263,7 +275,7 @@ compliance work. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| \chapter{Case Study: Davrik's Modified GCC} | \chapter{Davrik: Modified GCC SDK} | ||||||
| 
 | 
 | ||||||
| In our first case study, we will consider Davrik, a company that produces | In our first case study, we will consider Davrik, a company that produces | ||||||
| software and hardware toolkits to assist OEM vendors who products consumer | software and hardware toolkits to assist OEM vendors who products consumer | ||||||
|  | @ -287,13 +299,13 @@ with specious GPL violation complaints.  FSF shelved the matter until | ||||||
| more evidence was discovered. | more evidence was discovered. | ||||||
| 
 | 
 | ||||||
| FSF was later able to confirm the violation when two additional reports | FSF was later able to confirm the violation when two additional reports | ||||||
| surfaced from other violation reports, both of whom had used the product | surfaced from other violation reporters, both of whom had used the SDK | ||||||
| professional and noticed clear similarities to FSF's GNU GCC\@.  FSF's | professional and noticed clear similarities to FSF's GNU GCC\@.  FSF's | ||||||
| Compliance Engineer asked the reporters to run standard tests to confirm | Compliance Engineer asked the reporters to run standard tests to confirm | ||||||
| the violation, and it was confirmed that the product was indeed a | the violation, and it was confirmed that Davrik's SDK was indeed a | ||||||
| derivative work of GCC, ported to Windows and with a number of features | derivative work of GCC\@.  Davrik had ported to Windows and added a number | ||||||
| added, including support for a specific consumer device chipset and | of features, including support for a specific consumer device chipset and | ||||||
| additional features to aid in the linking process (``LP'') for the | additional features to aid in the linking process (``LP'') for those | ||||||
| specific devices.  FSF explained the rights that the GPL afforded these | specific devices.  FSF explained the rights that the GPL afforded these | ||||||
| customers and pointed out, for example, that Davrik only needed to provide | customers and pointed out, for example, that Davrik only needed to provide | ||||||
| source to those in possession of the binaries, and that the users may need | source to those in possession of the binaries, and that the users may need | ||||||
|  | @ -303,18 +315,18 @@ confirmed that such requests were not answered. | ||||||
| FSF brought the matter to the attention of Davrik, who immediately | FSF brought the matter to the attention of Davrik, who immediately | ||||||
| escalated the matter to their attorneys.  After a long negotiation, Davrik | escalated the matter to their attorneys.  After a long negotiation, Davrik | ||||||
| acknowledged that their SDK was indeed a derivative work of GCC\@.  Davrik | acknowledged that their SDK was indeed a derivative work of GCC\@.  Davrik | ||||||
| released most of the source, but some disagreement occurred over whether LP | released most of the source, but some disagreement occurred over whether | ||||||
| was a derivate work of GCC\@.  After repeated FSF inquiries, Davrik | LP was a derivate work of GCC\@.  After repeated FSF inquiries, Davrik | ||||||
| reaudited the source and discovered that FSF's analysis was correct and | reaudited the source and discovered that FSF's analysis was correct and | ||||||
| determined that LP include a number of source files copied from the GCC | determined that LP included a number of source files copied from the GCC | ||||||
| code-base. | code-base. | ||||||
| 
 | 
 | ||||||
| \label{davrik-build-problems} | \label{davrik-build-problems} | ||||||
| Once the full software release was made available, FSF asked the | Once the full software release was made available, FSF asked the violation | ||||||
| violation reporters if it addressed the problem.  Reports came back that | reporters if it addressed the problem.  Reports came back that the source | ||||||
| in fact the source did not properly build.  FSF asked Davrik to provide | did not properly build.  FSF asked Davrik to provide better build | ||||||
| better build instructions with the software, and such build instructions | instructions with the software, and such build instructions were | ||||||
| were incorporated into the next software release. | incorporated into the next software release. | ||||||
| 
 | 
 | ||||||
| At FSF's request as well, Davrik informed customers who had previously | At FSF's request as well, Davrik informed customers who had previously | ||||||
| purchased the product that the source was now available, by announcing | purchased the product that the source was now available, by announcing | ||||||
|  | @ -350,11 +362,11 @@ have under the GNU General Public License, Version 2. | ||||||
| 
 | 
 | ||||||
| This quelled Davrik's concerns about other patent licensing they sought to | This quelled Davrik's concerns about other patent licensing they sought to | ||||||
| do outside of the GPL'd software, and satisfied FSF's concerns that they | do outside of the GPL'd software, and satisfied FSF's concerns that they | ||||||
| give no permissions to exercise teachings of patents that were not already | give proper permissions to exercise teachings of patents that were | ||||||
| exercised in their GPL'd software release. | exercised in their GPL'd software release. | ||||||
| 
 | 
 | ||||||
| Finally, a GPL Compliance Officer inside Davrik was appointed who is | Finally, a GPL Compliance Officer inside Davrik was appointed who is | ||||||
| responsible for all matters of GPL Compliance inside the company.  Darvik | responsible for all matters of GPL compliance inside the company.  Darvik | ||||||
| is responsible for informing FSF if the position is given to someone else | is responsible for informing FSF if the position is given to someone else | ||||||
| inside the company, and making sure that FSF has direct contact | inside the company, and making sure that FSF has direct contact | ||||||
| information with Darvik's Compliance Officer. | information with Darvik's Compliance Officer. | ||||||
|  | @ -371,22 +383,23 @@ This case introduces a number of concepts regarding GPL enforcement. | ||||||
|   GPL education, many users do not fully understand their rights and the |   GPL education, many users do not fully understand their rights and the | ||||||
|   obligations that companies have.  By working through the investigation |   obligations that companies have.  By working through the investigation | ||||||
|   with reporters, the violation can be properly confirmed, and {\bf the |   with reporters, the violation can be properly confirmed, and {\bf the | ||||||
|     user of the software can be educated about what to expect as a user}. |     user of the software can be educated about what to expect with GPL'd | ||||||
|   When users and customers of GPL'd products know their rights, what to |     software}.  When users and customers of GPL'd products know their | ||||||
|   expect, and how to properly exercise their rights (particularly under \S |   rights, what to expect, and how to properly exercise their rights | ||||||
|   3(b)), it reduces the chances for user frustration and inappropriate |   (particularly under \S 3(b)), it reduces the chances for user | ||||||
|   community outcry about an alleged GPL violation. |   frustration and inappropriate community outcry about an alleged GPL | ||||||
|  |   violation. | ||||||
| 
 | 
 | ||||||
| \item {\bf GPL compliance requires friendly negotiation and | \item {\bf GPL compliance requires friendly negotiation and cooperation.} | ||||||
|   cooperation.}  Often, attorneys and managers are legitimately surprised |   Often, attorneys and managers are legitimately surprised to find out | ||||||
|   to find out GPL'd software is included in their company's products. |   GPL'd software is included in their company's products.  Engineers | ||||||
|   Engineers sometimes include GPL'd software without understanding the |   sometimes include GPL'd software without understanding the requirements. | ||||||
|   requirements.  This does not excuse companies from their obligations |   This does not excuse companies from their obligations under the license, | ||||||
|   under the license, but it does mean that care and patience are |   but it does mean that care and patience are essential for reaching GPL | ||||||
|   essential for reaching GPL compliance.  We want companies to understand |   compliance.  We want companies to understand that participating and | ||||||
|   that participating and benefiting from a collaborative Free Software |   benefiting from a collaborative Free Software community is not a burden, | ||||||
|   community is not a burden, so we strive to make the process of coming |   so we strive to make the process of coming into compliance as smooth as | ||||||
|   into compliance when a problem occurs as smooth as possible. |   possible. | ||||||
| 
 | 
 | ||||||
| \item {\bf Confirming compliance is a community effort.}  The whole point | \item {\bf Confirming compliance is a community effort.}  The whole point | ||||||
|   of making sure that software distributors respect the terms of GPL is to |   of making sure that software distributors respect the terms of GPL is to | ||||||
|  | @ -404,21 +417,21 @@ This case introduces a number of concepts regarding GPL enforcement. | ||||||
|   violators to make some attempt --- such as via newsletters and the |   violators to make some attempt --- such as via newsletters and the | ||||||
|   company's website --- to inform those who already have the products as |   company's website --- to inform those who already have the products as | ||||||
|   to their rights under GPL\@.  One of the key thrusts of GPL's \S 1 and |   to their rights under GPL\@.  One of the key thrusts of GPL's \S 1 and | ||||||
|   \S 3 is to {\em make sure the user knows he has these rights\/}.  If a |   \S 3 is to {\em make sure the user knows she has these rights\/}.  If a | ||||||
|   product was received out of compliance by a customer, they may never |   product was received out of compliance by a customer, she may never | ||||||
|   actually discover that they had such rights.  Informing them, in a way |   actually discover that she had such rights.  Informing customers, in a | ||||||
|   that is not burdensome but has a high probability of successfully |   way that is not burdensome but has a high probability of successfully | ||||||
|   reaching those who would seek to exercise their freedoms, is essential |   reaching those who would seek to exercise their freedoms, is essential | ||||||
|   to properly remedy the mistake. |   to properly remedy the mistake. | ||||||
| 
 | 
 | ||||||
| \item {\bf Lines between various copyright, patent, and other legal | \item {\bf Lines between various copyright, patent, and other legal | ||||||
|   mechanisms must be precisely defined and considered.}  The most |   mechanisms must be precisely defined and considered.}  The most | ||||||
|   difficult negotiation point of this compliance case was drafting |   difficult negotiation point of the Davrik case was drafting language | ||||||
|   language that simultaneously protected the Davrik's patent rights |   that simultaneously protected the Davrik's patent rights outside of the | ||||||
|   outside of the GPL'd source, but was consistent with the implicit patent |   GPL'd source, but was consistent with the implicit patent grant in | ||||||
|   grant in GPL\@.  As we discussed in the first course in this series, |   GPL\@.  As we discussed in the first course in this series, there is | ||||||
|   there is indeed an implicit patent grant with GPL, thanks to \S 6 and \S |   indeed an implicit patent grant with GPL, thanks to \S 6 and \S 7. | ||||||
|   7.  However, many companies become nervous and wish to make the grant |   However, many companies become nervous and wish to make the grant | ||||||
|   explicit to assure themselves that the grant is sufficiently narrow for |   explicit to assure themselves that the grant is sufficiently narrow for | ||||||
|   their needs.  We understand that there is no reasonable way to determine |   their needs.  We understand that there is no reasonable way to determine | ||||||
|   what patent claims read on a company's GPL holdings and which do not, so |   what patent claims read on a company's GPL holdings and which do not, so | ||||||
|  | @ -431,6 +444,11 @@ This case introduces a number of concepts regarding GPL enforcement. | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| \chapter{Bracken: a Minor Violation in a GNU/Linux Distribution} | \chapter{Bracken: a Minor Violation in a GNU/Linux Distribution} | ||||||
| 
 | 
 | ||||||
|  | In this case study, we consider a minor violation made by a company whose | ||||||
|  | knowledge of the Free Software community and it functions is deep. | ||||||
|  | 
 | ||||||
|  | \section{The Facts}  | ||||||
|  | 
 | ||||||
| Bracken produces a GNU/Linux operating system product that is sold | Bracken produces a GNU/Linux operating system product that is sold | ||||||
| primarily to OEM vendors to be placed in appliance devices that are used | primarily to OEM vendors to be placed in appliance devices that are used | ||||||
| for a single purpose, such as an Internet-browsing-only device.  The | for a single purpose, such as an Internet-browsing-only device.  The | ||||||
|  | @ -439,8 +457,8 @@ related Free Software licenses. | ||||||
| 
 | 
 | ||||||
| FSF found out about this violation through a report first posted in a | FSF found out about this violation through a report first posted in a | ||||||
| comment on a Slashdot\footnote{Slashdot is a popular news and discussion | comment on a Slashdot\footnote{Slashdot is a popular news and discussion | ||||||
|   site for technical readers.} comment, and then later brought to our |   site for technical readers.} comment, and then was brought to attention | ||||||
| attention by another Free Software copyright holder who had discovered the | again by another Free Software copyright holder who had discovered the | ||||||
| same violation. | same violation. | ||||||
| 
 | 
 | ||||||
| Bracken's GNU/Linux product is delivered directly from their website. | Bracken's GNU/Linux product is delivered directly from their website. | ||||||
|  | @ -458,7 +476,7 @@ online distribution: | ||||||
|   contradicted the permissions granted by GPL\@. |   contradicted the permissions granted by GPL\@. | ||||||
| \end{itemize} | \end{itemize} | ||||||
| 
 | 
 | ||||||
| FSF contacted Bracken and gave them the details of the violation. Bracken | FSF contacted Bracken and gave them the details of the violation.  Bracken | ||||||
| immediately ceased distribution of the product temporarily, and set forth | immediately ceased distribution of the product temporarily, and set forth | ||||||
| a plan to bring themselves back into compliance.  This plan included the | a plan to bring themselves back into compliance.  This plan included the | ||||||
| following steps: | following steps: | ||||||
|  | @ -473,14 +491,14 @@ following steps: | ||||||
|   ever they distributed that way). |   ever they distributed that way). | ||||||
| 
 | 
 | ||||||
| \item Bracken attorneys would run an internal seminar for its engineers | \item Bracken attorneys would run an internal seminar for its engineers | ||||||
|   regarding GPL proper compliance, to help ensure that such oversights |   regarding proper GPL compliance, to help ensure that such oversights | ||||||
|   regarding source releases would not occur in the future. |   regarding source releases would not occur in the future. | ||||||
| 
 | 
 | ||||||
| \item Bracken would resume distribution of the product only after FSF | \item Bracken would resume distribution of the product only after FSF | ||||||
|   formally restored Bracken's distribution rights. |   formally restored Bracken's distribution rights. | ||||||
| \end{itemize} | \end{itemize} | ||||||
| 
 | 
 | ||||||
| This work was completed in the matter of about a month.  FSF approved the | This case was completed in the matter of about a month.  FSF approved the | ||||||
| new EULA text.  They key portion in the EULA relating to GPL read as | new EULA text.  They key portion in the EULA relating to GPL read as | ||||||
| follows: | follows: | ||||||
| 
 | 
 | ||||||
|  | @ -511,7 +529,7 @@ completed as described. | ||||||
| 
 | 
 | ||||||
| \section{Lessons Learned} | \section{Lessons Learned} | ||||||
| 
 | 
 | ||||||
| This case was probably them most quickly and easily resolved of all GPL | This case was probably the most quickly and easily resolved of all GPL | ||||||
| violations in the history of FSF's Compliance Lab.  The ease with which | violations in the history of FSF's Compliance Lab.  The ease with which | ||||||
| the problem was resolved shows a number of cultural factors that play a | the problem was resolved shows a number of cultural factors that play a | ||||||
| role in GPL compliance. | role in GPL compliance. | ||||||
|  | @ -520,13 +538,13 @@ role in GPL compliance. | ||||||
| 
 | 
 | ||||||
| \item {\bf Companies that understand Free Software culture better have an | \item {\bf Companies that understand Free Software culture better have an | ||||||
|   easier time with compliance.}  Bracken's products were designed and |   easier time with compliance.}  Bracken's products were designed and | ||||||
|   build around the GNU/Linux system and Free Software components.  Their |   built around the GNU/Linux system and Free Software components.  Their | ||||||
|   engineers were deeply familiar with the Free Software ecosystem, and |   engineers were deeply familiar with the Free Software ecosystem, and | ||||||
|   their lawyers had seen and reviewed GPL before.  The violation was |   their lawyers had seen and reviewed GPL before.  The violation was | ||||||
|   completely an honest mistake, and since the culture inside the company |   completely an honest mistake.  Since the culture inside the company had | ||||||
|   had already adapted to the cooperative style of resolution to problems |   already adapted to the cooperative style of resolution in the Free | ||||||
|   in the Free Software world, there was very little work for either |   Software world, there was very little work for either party to bring the | ||||||
|   party to bring the product into compliance. |   product into compliance. | ||||||
| 
 | 
 | ||||||
| \item {\bf When people in key positions understand the Free Software | \item {\bf When people in key positions understand the Free Software | ||||||
|   nature of their software products, compliance concerns are as mundane as |   nature of their software products, compliance concerns are as mundane as | ||||||
|  | @ -534,26 +552,26 @@ role in GPL compliance. | ||||||
|   its problems, and successful business often depends on agile response to |   its problems, and successful business often depends on agile response to | ||||||
|   the problems that do come up; avoiding problems altogether is a pipe |   the problems that do come up; avoiding problems altogether is a pipe | ||||||
|   dream.  Minor GPL violations can and do happen even with well-informed |   dream.  Minor GPL violations can and do happen even with well-informed | ||||||
|   redistributors, but when the company --- and in particular, the lawyers, |   redistributors.  However, when the company --- and in particular, the | ||||||
|   managers, and engineers working on the Free Software product lines -- |   lawyers, managers, and engineers working on the Free Software product | ||||||
|   have adapted to the cooperate Free Software culture, resolving such |   lines --- have adapted to the cooperative Free Software culture, | ||||||
|   problems are merely a mundane details of typical operation and resolved |   resolving such problems is merely a mundane detail of typical operation | ||||||
|   just as easily. |   and resolution is reached quickly. | ||||||
| 
 | 
 | ||||||
| \item {\bf Legally, distribution must stop when a violation is | \item {\bf Legally, distribution must stop when a violation is | ||||||
|   identified.}  In our opinion, Bracken went above and beyond the call by |   identified.}  In our opinion, Bracken went above and beyond the call of | ||||||
|   ceasing distribution while the violation was being resolved.  Under GPL |   duty by ceasing distribution while the violation was being resolved. | ||||||
|   \S 4, the redistributor loses the right to distribute the software, and |   Under GPL \S 4, the redistributor loses the right to distribute the | ||||||
|   thus they are in ongoing violation of copyright law as they distribute. |   software, and thus they are in ongoing violation of copyright law if | ||||||
|   It is FSF's policy to temporarily allow distribution while compliance |   they distribute before rights are restored.  It is FSF's policy to | ||||||
|   negotiations are ongoing and only in the most extreme cases where the |   temporarily allow distribution while compliance negotiations are ongoing | ||||||
|   other party appears to be negotiating in bad faith does FSF even |   and only in the most extreme cases (where the other party appears to be | ||||||
|   threaten an injunction on copyright grounds.  However, Bracken --- as a |   negotiating in bad faith) does FSF even threaten an injunction on | ||||||
|   good Free Software citizen --- chose to be on the safe side and do the |   copyright grounds.  However, Bracken --- as a good Free Software citizen | ||||||
|   legally correct thing while the violation case was pending.  Since from |   --- chose to be on the safe side and do the legally correct thing while | ||||||
|   start to finish it took less than am month to resolve, this lapse in |   the violation case was pending.  Since from start to finish it took less | ||||||
|   distribute did not, to FSF's knowledge, impact their business in any |   than am month to resolve, this lapse in distribution did not, to FSF's | ||||||
|   way. |   knowledge, impact Bracken's business in any way. | ||||||
| 
 | 
 | ||||||
| \item {\bf EULAs are a common area for GPL problems.}  Often, EULAs are | \item {\bf EULAs are a common area for GPL problems.}  Often, EULAs are | ||||||
|   drafted from boilerplate text that a company uses for all its products. |   drafted from boilerplate text that a company uses for all its products. | ||||||
|  | @ -562,8 +580,8 @@ role in GPL compliance. | ||||||
|   licenses.  Drafting a EULA that accounts for such licenses is |   licenses.  Drafting a EULA that accounts for such licenses is | ||||||
|   straightforward; the text quoted above works just fine.  The EULA must |   straightforward; the text quoted above works just fine.  The EULA must | ||||||
|   be designed so that it does not trump and rights and permissions already |   be designed so that it does not trump and rights and permissions already | ||||||
|   granted by GPL\@, and it must be certain that if there is a conflict |   granted by GPL\@, and it clearly state that if there is a conflict | ||||||
|   between EULA and GPL, with regard to GPL'd code, that the GPL is the |   between the EULA and GPL, with regard to GPL'd code, that the GPL is the | ||||||
|   overriding license. |   overriding license. | ||||||
| 
 | 
 | ||||||
| \item {\bf Compliance Officers are rarely necessary when companies are | \item {\bf Compliance Officers are rarely necessary when companies are | ||||||
|  | @ -601,15 +619,15 @@ a derivative work of GNU tar; the extraneous utilities merely made | ||||||
| compliance with GPL by releasing the source of GNU tar, with the | compliance with GPL by releasing the source of GNU tar, with the | ||||||
| cryptographic modifications, to its customers. | cryptographic modifications, to its customers. | ||||||
| 
 | 
 | ||||||
| Vigorien released the GNU tar sources, but kept the cryptographic library | Vigorien released the original GNU tar sources, but kept the cryptographic | ||||||
| proprietary.  They argued that the security of their system depending on | modifications proprietary.  They argued that the security of their system | ||||||
| keeping the software proprietary and that regardless, USA export | depending on keeping the software proprietary and that regardless, USA | ||||||
| restrictions on cryptographic software prohibited such a release.  FSF | export restrictions on cryptographic software prohibited such a release. | ||||||
| disputed the claim on the first count, pointing out that Vigorien's had | FSF disputed the first claim, pointing out that Vigorien had only one | ||||||
| only one option if they did not want to release the source: they would | option if they did not want to release the source: they would have to | ||||||
| have to remove GNU tar from the software and not distribute it further. | remove GNU tar from the software and not distribute it further.  Vigorien | ||||||
| Vigorien rejected this suggestion, since GNU tar was an integral part of | rejected this suggestion, since GNU tar was an integral part of the | ||||||
| the product and the security changes were useless without GNU tar. | product and the security changes were useless without GNU tar. | ||||||
| 
 | 
 | ||||||
| Regarding the export control claims, FSF proposed a number of options, | Regarding the export control claims, FSF proposed a number of options, | ||||||
| including release of the source from one of Vigorien's divisions overseas | including release of the source from one of Vigorien's divisions overseas | ||||||
|  | @ -629,18 +647,26 @@ did so, and the violation was resolved. | ||||||
| 
 | 
 | ||||||
| \item {\bf Removing the GPL'd portion of the product is always an option.} | \item {\bf Removing the GPL'd portion of the product is always an option.} | ||||||
|   Many violators' first response is to simply refuse to release the source |   Many violators' first response is to simply refuse to release the source | ||||||
|   code as GPL required.  FSF offers the option to simply remove the GPL'd |   code as GPL requires.  FSF offers the option to simply remove the GPL'd | ||||||
|   portions from the product and continue along without them indefinitely. |   portions from the product and continue along without them indefinitely. | ||||||
|   Every case where this has been suggested has led to the same conclusion. |   Every case where this has been suggested has led to the same conclusion. | ||||||
|   Like Vigorien, the violator argues that the product cannot function |   Like Vigorien, the violator argues that the product cannot function | ||||||
|   without the GPL'd components and they cannot effectively replace them. |   without the GPL'd components and they cannot effectively replace them. | ||||||
| 
 | 
 | ||||||
|   Such an outcome of course is further evidence that the combined work in |   Such an outcome is simply further evidence that the combined work in | ||||||
|   question is indeed a derivative work of the original GPL'd component. |   question is indeed a derivative work of the original GPL'd component. | ||||||
|   If the other components cannot stand on their own and be useful without |   If the other components cannot stand on their own and be useful without | ||||||
|   the GPL'd portions, then one cannot effectively argue that the work as a |   the GPL'd portions, then one cannot effectively argue that the work as a | ||||||
|   whole is not a derivative of the GPL'd portions. |   whole is not a derivative of the GPL'd portions. | ||||||
| 
 | 
 | ||||||
|  | \item {\bf The whole product is not always covered.}  In this case, | ||||||
|  |   Vigorien had additional works aggregated.  The backup system was a suite | ||||||
|  |   of utilities, some of which were GPL and some of which were not.  While | ||||||
|  |   the cryptographic routines were tightly coupled with GNU tar and clearly | ||||||
|  |   derivative works, the various GUI utilities were separate and | ||||||
|  |   independent works merely aggregated with the distribution of the | ||||||
|  |   GNU-tar-based product. | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| \item {\bf ``Security'' concerns do not exonerate a distributor from GPL | \item {\bf ``Security'' concerns do not exonerate a distributor from GPL | ||||||
|   obligations, and ``security through obscurity'' does not work anyway.} |   obligations, and ``security through obscurity'' does not work anyway.} | ||||||
|  | @ -662,11 +688,11 @@ did so, and the violation was resolved. | ||||||
|   by identifying them early. |   by identifying them early. | ||||||
| 
 | 
 | ||||||
| \item {\bf External regulatory problems can be difficult to resolve.} | \item {\bf External regulatory problems can be difficult to resolve.} | ||||||
|   GPL, though copyright law, does not have the power to trump regulations |   GPL, though grounded in copyright law, does not have the power to trump | ||||||
|   like export controls.  While Vigorien's ``security concerns'' were |   regulations like export controls.  While Vigorien's ``security | ||||||
|   specious, their export control concerns were not.  It is indeed a |   concerns'' were specious, their export control concerns were not.  It is | ||||||
|   difficult problem that FSF acknowledges.  We want compliance with GPL |   indeed a difficult problem that FSF acknowledges.  We want compliance | ||||||
|   and respect for users' freedoms, but we certainly do not expect |   with GPL and respect for users' freedoms, but we certainly do not expect | ||||||
|   companies to commit criminal offenses for the sake of compliance.  We |   companies to commit criminal offenses for the sake of compliance.  We | ||||||
|   will see more about this issue in our next case study. |   will see more about this issue in our next case study. | ||||||
| \end{enumerate} | \end{enumerate} | ||||||
|  | @ -676,8 +702,8 @@ did so, and the violation was resolved. | ||||||
| \chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices} | \chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices} | ||||||
| 
 | 
 | ||||||
| This case study considers an ongoing (at the time of writing) violation | This case study considers an ongoing (at the time of writing) violation | ||||||
| that occurred.  By the end of the investigation period, three companies | that has occurred.  By the end of the investigation period, three | ||||||
| were involved and many complex issues arose. | companies were involved and many complex issues arose. | ||||||
| 
 | 
 | ||||||
| \section{The Facts} | \section{The Facts} | ||||||
| 
 | 
 | ||||||
|  | @ -695,10 +721,10 @@ arms about the violation. | ||||||
| 
 | 
 | ||||||
| Meanwhile, Haxil was in the midst of being acquired by Polgara.  Polgara | Meanwhile, Haxil was in the midst of being acquired by Polgara.  Polgara | ||||||
| was as surprised as everyone else to discover the product was based on | was as surprised as everyone else to discover the product was based on | ||||||
| GPL'd software; it had not been part of the disclosures made during | GPL'd software; this fact had not been part of the disclosures made during | ||||||
| acquisition.  FSF contacted both Haxil and Polgara, and product managers | acquisition.  FSF contacted both Haxil and Polgara, and product managers | ||||||
| who had transitioned into the ``Haxil division'' of newly merged Polgara | who had transitioned into the ``Haxil division'' of the newly-merged | ||||||
| company worked and Polgara's General Counsel's office worked with FSF on | Polgara company and Polgara's General Counsel's office worked with FSF on | ||||||
| the matter. | the matter. | ||||||
| 
 | 
 | ||||||
| FSF meanwhile formed a coalition with the other primary copyright holders | FSF meanwhile formed a coalition with the other primary copyright holders | ||||||
|  | @ -738,8 +764,8 @@ regarding the problem. | ||||||
| \begin{enumerate} | \begin{enumerate} | ||||||
| 
 | 
 | ||||||
| \item {\bf Community outrage, while justified, can often make negotiation | \item {\bf Community outrage, while justified, can often make negotiation | ||||||
|   more difficult.}  FSF has a strong policy to not publicized names of GPL |   more difficult.}  FSF has a strong policy never to publicize names of | ||||||
|   violators if they are negotiating in a friendly way and operating in |   GPL violators if they are negotiating in a friendly way and operating in | ||||||
|   good faith toward compliance.  Most violations are honest mistakes, and |   good faith toward compliance.  Most violations are honest mistakes, and | ||||||
|   FSF sees no reason to publicly admonish violators who genuinely see to |   FSF sees no reason to publicly admonish violators who genuinely see to | ||||||
|   come into compliance with GPL and to work hard staying in compliance. |   come into compliance with GPL and to work hard staying in compliance. | ||||||
|  | @ -758,19 +784,21 @@ regarding the problem. | ||||||
|   during the acquisition process.  While GPL compliance is not a |   during the acquisition process.  While GPL compliance is not a | ||||||
|   particularly difficult matter, it is an additional obligation that comes |   particularly difficult matter, it is an additional obligation that comes | ||||||
|   along with the product line.  When planning mergers and joint ventures, |   along with the product line.  When planning mergers and joint ventures, | ||||||
|   include lists of GPL'd components contained in the products discussed. |   one should include lists of GPL'd components contained in the products | ||||||
|  |   discussed. | ||||||
| 
 | 
 | ||||||
| \item {\bf Compliance problems of upstream providers do not excuse a | \item {\bf Compliance problems of upstream providers do not excuse a | ||||||
|   violation for the downstream distributor.}  To paraphrase \S 6, upstream |   violation for the downstream distributor.}  To paraphrase \S 6, upstream | ||||||
|   providers are not responsible for enforcing compliance of their |   providers are not responsible for enforcing compliance of their | ||||||
|   downstream, nor are downstream distributors responsible for compliance |   downstream, nor are downstream distributors responsible for compliance | ||||||
|   problems of upstream providers.  However, engaging in distribution of |   problems of upstream providers.  However, engaging in distribution of | ||||||
|   GPL'd works out of compliance is still just that --- a compliance |   GPL'd works out of compliance is still just that: a compliance problem. | ||||||
|   problem.  When FSF carries out enforcement, we are patient and |   When FSF carries out enforcement, we are patient and sympathetic when | ||||||
|   sympathetic when the problem appears to be upstream.  In fact, we urge |   the problem appears to be upstream.  In fact, we urge the violator to | ||||||
|   the violator to point us to the upstream provider to talk to them, and |   point us to the upstream provider so we may talk to them directly.  In | ||||||
|   in this case we were happy to begin negotiations with Thesulac.  However, |   this case we were happy to begin negotiations with Thesulac.  However, | ||||||
|   Polgara still has an obligation to bring their product into compliance. |   Polgara still has an obligation to bring their product into compliance, | ||||||
|  |   regardless of Thesulac's response. | ||||||
| 
 | 
 | ||||||
| \item {\bf It behooves upstream providers to advise downstream | \item {\bf It behooves upstream providers to advise downstream | ||||||
|   distributors about compliance matters.}  FSF has encouraged Thesulac to |   distributors about compliance matters.}  FSF has encouraged Thesulac to | ||||||
|  | @ -779,7 +807,7 @@ regarding the problem. | ||||||
|   product, and it is conceivable that such additions can introduce |   product, and it is conceivable that such additions can introduce | ||||||
|   compliance.  In FSF's opinion, Thesulac is no way legally responsible |   compliance.  In FSF's opinion, Thesulac is no way legally responsible | ||||||
|   for such a violation introduced by their customer, but it behooves them |   for such a violation introduced by their customer, but it behooves them | ||||||
|   from a business standpoint to educate their customers about using the |   from a marketing standpoint to educate their customers about using the | ||||||
|   product.  We can argue whether or not it is your coffee vendor's fault |   product.  We can argue whether or not it is your coffee vendor's fault | ||||||
|   if you burn yourself with their product, but (likely) no one on either |   if you burn yourself with their product, but (likely) no one on either | ||||||
|   side would dispute the prudence of placing a ``caution: hot'' label on |   side would dispute the prudence of placing a ``caution: hot'' label on | ||||||
|  | @ -803,6 +831,7 @@ regarding the problem. | ||||||
|   simple rule to follow, and following that rule to FSF's satisfaction |   simple rule to follow, and following that rule to FSF's satisfaction | ||||||
|   usually means you are following it to the satisfaction of the entire |   usually means you are following it to the satisfaction of the entire | ||||||
|   Free Software community. |   Free Software community. | ||||||
|  | 
 | ||||||
| \end{enumerate} | \end{enumerate} | ||||||
| 
 | 
 | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
|  | @ -853,4 +882,4 @@ distribute products based on GPL'd software: | ||||||
| % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | ||||||
| % LocalWords:  TrollTech administrivia LGPL's MontaVista Davrik Davrik's Darvik | % LocalWords:  TrollTech administrivia LGPL's MontaVista Davrik Davrik's Darvik | ||||||
| % LocalWords:  Darvik's Slashdot sublicensed Vigorien Vigorien's Haxil Polgara | % LocalWords:  Darvik's Slashdot sublicensed Vigorien Vigorien's Haxil Polgara | ||||||
| % LocalWords:  Thesulac Polgara's Haxil's Thesulac's | % LocalWords:  Thesulac Polgara's Haxil's Thesulac's SDK CD's | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\ | ||||||
| 
 | 
 | ||||||
| Columbia Law School, New York, NY, USA \\ | Columbia Law School, New York, NY, USA \\ | ||||||
| \vspace{.1in} | \vspace{.1in} | ||||||
| Tuesday 20 January 2003  | Tuesday 20 January 2004 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| \vspace{.7in} | \vspace{.7in} | ||||||
|  | @ -125,6 +125,15 @@ learned the following: | ||||||
|         works of software. |         works of software. | ||||||
| \end{itemize} | \end{itemize} | ||||||
| 
 | 
 | ||||||
|  | \bigskip | ||||||
|  | 
 | ||||||
|  | These course materials are merely a summary of the highlights of the | ||||||
|  | course presented.  Readers of this material should assume that they have | ||||||
|  | missed the bulk of the material, as the detailed discussion of about these | ||||||
|  | issues is the true education about GPL and LPGL\@.  Merely reading this | ||||||
|  | material is akin to matriculating into a college course and read only the | ||||||
|  | textbook instead of going to class. | ||||||
|  | 
 | ||||||
| \end{abstract} | \end{abstract} | ||||||
| 
 | 
 | ||||||
| \tableofcontents | \tableofcontents | ||||||
|  | @ -600,6 +609,8 @@ economy. | ||||||
| 
 | 
 | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| \chapter{Running Software And Verbatim Copying} | \chapter{Running Software And Verbatim Copying} | ||||||
|  | \label{run-and-verbatim} | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| This chapter begins the deep discussion of the details of the terms of | This chapter begins the deep discussion of the details of the terms of | ||||||
| GPL\@.  In this chapter, we consider the first two sections: GPL \S\S | GPL\@.  In this chapter, we consider the first two sections: GPL \S\S | ||||||
|  | @ -668,7 +679,7 @@ 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 | 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 | and straightforward guidelines for what is and is not a derivative | ||||||
| software work under copyright law.  However, no copyright license --- not | software work under copyright law.  However, no copyright license --- not | ||||||
| even the GNU GPL -- can be blamed for this.  Legislators and court | even the GNU GPL --- can be blamed for this.  Legislators and court | ||||||
| opinions must give us guidance to decide the border cases. | opinions must give us guidance to decide the border cases. | ||||||
| 
 | 
 | ||||||
| \section{GPL \S 1: Verbatim Copying} | \section{GPL \S 1: Verbatim Copying} | ||||||
|  | @ -761,6 +772,7 @@ of a derivative work of software. However, the applicable provisions do | ||||||
| provide some, albeit quite cursory, guidance. Section 101 of the Copyright | provide some, albeit quite cursory, guidance. Section 101 of the Copyright | ||||||
| Act sets forth the following definitions: | Act sets forth the following definitions: | ||||||
| 
 | 
 | ||||||
|  | \begin{quotation} | ||||||
| A ``computer program'' is a set of statements or instructions to be used | A ``computer program'' is a set of statements or instructions to be used | ||||||
| directly or indirectly in a computer in order to bring about a certain | directly or indirectly in a computer in order to bring about a certain | ||||||
| result. | result. | ||||||
|  | @ -772,6 +784,7 @@ reproduction, abridgment, condensation, or any other form in which a work | ||||||
| may be recast, transformed, or adapted. A work consisting of editorial | may be recast, transformed, or adapted. A work consisting of editorial | ||||||
| revisions, annotations, elaborations, or other modifications which, as a | revisions, annotations, elaborations, or other modifications which, as a | ||||||
| whole, represent an original work of authorship, is a ``derivative work''. | whole, represent an original work of authorship, is a ``derivative work''. | ||||||
|  | \end{quotation} | ||||||
| 
 | 
 | ||||||
| These are the only provisions in the Copyright Act relevant to the | These are the only provisions in the Copyright Act relevant to the | ||||||
| determination of what constitutes a derivative work of a computer | determination of what constitutes a derivative work of a computer | ||||||
|  | @ -1041,6 +1054,7 @@ adopts norms avoiding such risk. | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| 
 | 
 | ||||||
| \chapter{Modified Source and Binary Distribution} | \chapter{Modified Source and Binary Distribution} | ||||||
|  | \label{source-and-binary} | ||||||
| 
 | 
 | ||||||
| In this chapter, we discuss the two core sections that define the rights | In this chapter, we discuss the two core sections that define the rights | ||||||
| and obligations for those who modify, improve, and/or redistribute GPL'd | and obligations for those who modify, improve, and/or redistribute GPL'd | ||||||
|  | @ -1496,49 +1510,50 @@ with respect to the licensed software. | ||||||
| \newcommand{\compB}{$\mathcal{B}$} | \newcommand{\compB}{$\mathcal{B}$} | ||||||
| \newcommand{\compA}{$\mathcal{A}$} | \newcommand{\compA}{$\mathcal{A}$} | ||||||
| 
 | 
 | ||||||
| For example, if Company \compA has a patent on advanced web browsing, but | For example, if Company \compA{} has a patent on advanced web browsing, but | ||||||
| also licenses a web browsing software program under the GPL, then it | also licenses a web browsing software program under the GPL, then it | ||||||
| cannot assert the patent against any party that takes a license to its | cannot assert the patent against any party that takes a license to its | ||||||
| program under the GPL.  However, if a party uses that program without | program under the GPL.  However, if a party uses that program without | ||||||
| complying with the GPL, then Company \compA can assert, not just copyright | complying with the GPL, then Company \compA{} can assert, not just copyright | ||||||
| infringement claims against the non-GPL-compliant party, but also | infringement claims against the non-GPL-compliant party, but also | ||||||
| infringement of the patent, because the implied patent license only | infringement of the patent, because the implied patent license only | ||||||
| extends to use of the software in accordance with the GPL.  Further, if | extends to use of the software in accordance with the GPL.  Further, if | ||||||
| Company \compB distributes a competitive advanced web browsing program, | Company \compB{} distributes a competitive advanced web browsing program, | ||||||
| Company \compA is free to assert its patent against any user or | Company \compA{} is free to assert its patent against any user or | ||||||
| distributor of that product.  It is irrelevant whether Company \compB's | distributor of that product.  It is irrelevant whether Company \compB's | ||||||
| program is distributed under the GPL, as Company \compB can not grant | program is distributed under the GPL, as Company \compB{} can not grant | ||||||
| implied licenses to Company \compA's patent. | implied licenses to Company \compA's patent. | ||||||
| 
 | 
 | ||||||
| This result also reassures companies that they need not fear loosing their | This result also reassures companies that they need not fear loosing their | ||||||
| proprietary value in patents to competitors through the GPL implied patent | proprietary value in patents to competitors through the GPL implied patent | ||||||
| license, as only those competitors who adopt and comply with the GPL's | license, as only those competitors who adopt and comply with the GPL's | ||||||
| terms can benefit from the implied patent license.  To continue the | terms can benefit from the implied patent license.  To continue the | ||||||
| example above, Company \compB does not receive a free ride on Company | example above, Company \compB{} does not receive a free ride on Company | ||||||
| \compA's patent, as Company \compB has not licensed-in and then | \compA's patent, as Company \compB{} has not licensed-in and then | ||||||
| redistributed Company A's advanced web browser under the GPL.  If Company | redistributed Company A's advanced web browser under the GPL.  If Company | ||||||
| \compB does do that, however, Company \compA still has not lost | \compB{} does do that, however, Company \compA{} still has not lost | ||||||
| competitive advantage against Company \compB, as Company \compB must then, | competitive advantage against Company \compB{}, as Company \compB{} must then, | ||||||
| when it re-distributes Company \compA's program, grant an implied license | when it re-distributes Company \compA's program, grant an implied license | ||||||
| to any of its patents that cover the program.  Further, if Company \compB | to any of its patents that cover the program.  Further, if Company \compB{} | ||||||
| relicenses an improved version of Company A's program, it must do so under | relicenses an improved version of Company A's program, it must do so under | ||||||
| the GPL, meaning that any patents it holds that cover the improved version | the GPL, meaning that any patents it holds that cover the improved version | ||||||
| are impliedly licensed to any licensee.  As such, the only way Company | are impliedly licensed to any licensee.  As such, the only way Company | ||||||
| \compB can benefit from Company \compA's implied patent license, is if it, | \compB{} can benefit from Company \compA's implied patent license, is if it, | ||||||
| itself, distributes Company \compA's software program and grants an | itself, distributes Company \compA's software program and grants an | ||||||
| implied patent license to any of its patents that cover that program. | implied patent license to any of its patents that cover that program. | ||||||
| 
 | 
 | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| \chapter{Defending Freedom On Many Fronts} | \chapter{Defending Freedom On Many Fronts} | ||||||
| 
 | 
 | ||||||
| The last chapter presented the core freedom-defending provisions of GPL\@, | Chapters~\ref{run-and-verbatim} and ~\ref{source-and-binary} presented the | ||||||
| which are in \S\S 0--3.  \S\S 4--7 of the GPL are designed to ensure that | core freedom-defending provisions of GPL\@, which are in \S\S 0--3.  \S\S | ||||||
| \S\S 0--3 are not infringed, are enforceable, are kept to the confines of | 4--7 of the GPL are designed to ensure that \S\S 0--3 are not infringed, | ||||||
| copyright law and are not trumped by other copyright agreements or | are enforceable, are kept to the confines of copyright law and are not | ||||||
| components of other entirely separate legal systems.  In short, while \S\S | trumped by other copyright agreements or components of other entirely | ||||||
| 0--3 are the parts of the license that defend the freedoms of users and | separate legal systems.  In short, while \S\S 0--3 are the parts of the | ||||||
| programmers, \S\S 4--7 are the parts of the license that keep the playing | license that defend the freedoms of users and programmers, \S\S 4--7 are | ||||||
| field clear so that \S\S 0--3 can do their jobs. | 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} | \section{GPL \S 4: Termination on Violation} | ||||||
| \label{GPLs4} | \label{GPLs4} | ||||||
|  | @ -1591,12 +1606,12 @@ That is FSF's steadfast position in a violation negotiation --- comply | ||||||
| with the license and respect freedom. | with the license and respect freedom. | ||||||
| 
 | 
 | ||||||
| However, other entities who do not share the full ethos of software | However, other entities who do not share the full ethos of software | ||||||
| freedom as institutionalized by FSF pursue GPL violations differently.  MySQL | freedom as institutionalized by FSF pursue GPL violations differently. | ||||||
| AB, a company that produces the GPL'd MySQL database, upon discovering | MySQL AB, a company that produces the GPL'd MySQL database, upon | ||||||
| GPL violations typically negotiates a proprietary software license | discovering GPL violations typically negotiates a proprietary software | ||||||
| separately for a fee.  While this practice is not one that FSF would ever | license separately for a fee.  While this practice is not one that FSF | ||||||
| consider undertaking or even endorsing, it is a legal way for copyright | would ever consider undertaking or even endorsing, it is a legal way for | ||||||
| holders to proceed. | copyright holders to proceed. | ||||||
| 
 | 
 | ||||||
| \section{GPL \S 5: Acceptance, Copyright Style} | \section{GPL \S 5: Acceptance, Copyright Style} | ||||||
| \label{GPLs5} | \label{GPLs5} | ||||||
|  | @ -1788,23 +1803,23 @@ as copyright law will allow is the most direct way to reach that goal. | ||||||
| However, while the strategic goal is to bring as much Free Software into | However, while the strategic goal is to bring as much Free Software into | ||||||
| the world as possible, particular tactical situations of software freedom | the world as possible, particular tactical situations of software freedom | ||||||
| dictate different means.  Extending the copyleft effect as far as | dictate different means.  Extending the copyleft effect as far as | ||||||
| copyright law allows is not always the most prudent course to the goal. | copyright law allows is not always the most prudent course in reaching the | ||||||
| In particular situations, even those of us with the goal of building a | goal.  In particular situations, even those of us with the goal of | ||||||
| world where all published software is Free Software realize that full | building a world where all published software is Free Software realize | ||||||
| copyleft does not best serve that goal.  The GNU Lesser General Public | that full copyleft does not best serve us.  The GNU Lesser General Public | ||||||
| License (``GNU LGPL'') was designed as a solution for such situations. | License (``GNU LGPL'') was designed as a solution for such situations. | ||||||
| 
 | 
 | ||||||
| \section{The First LGPL'd Program} | \section{The First LGPL'd Program} | ||||||
| 
 | 
 | ||||||
| The first example that FSF encountered where such altered tactics were | The first example that FSF encountered where such altered tactics were | ||||||
| needed was when work began on the GNU C Library.  The GNU C Library would | needed was when work began on the GNU C Library.  The GNU C Library would | ||||||
| be (and today, now is) a drop-in replacement for existing C Libraries.  On | become (and today, now is) a drop-in replacement for existing C Libraries. | ||||||
| a Unix-like operating system, C is the lingua franca and the C library is | On a Unix-like operating system, C is the lingua franca and the C library | ||||||
| an essential component for all programs.  It is extremely difficult to | is an essential component for all programs.  It is extremely difficult to | ||||||
| construct a program that will run with ease on a Unix-like operating | construct a program that will run with ease on a Unix-like operating | ||||||
| system without making use of services provided by the GNU C Library -- | system without making use of services provided by the C Library --- even | ||||||
| even if the program is written in a language other than C\@.  Effectively, | if the program is written in a language other than C\@.  Effectively, all | ||||||
| all user application programs that run on any modern Unix-like system must | user application programs that run on any modern Unix-like system must | ||||||
| make use of the C Library. | make use of the C Library. | ||||||
| 
 | 
 | ||||||
| By the time work began on the GNU implementation of the C Library, there | By the time work began on the GNU implementation of the C Library, there | ||||||
|  | @ -1812,15 +1827,15 @@ were already many C libraries in existence from a variety of vendors. | ||||||
| Every proprietary Unix vendor had one, and many third parties produced | Every proprietary Unix vendor had one, and many third parties produced | ||||||
| smaller versions for special purpose use.  However, our goal was to create | smaller versions for special purpose use.  However, our goal was to create | ||||||
| a C library that would provide equivalent functionality to these other C | a C library that would provide equivalent functionality to these other C | ||||||
| Libraries on a Free Software operating system (which in fact happens today | libraries on a Free Software operating system (which in fact happens today | ||||||
| in modern GNU/Linux systems, which all use the GNU C Library). | on modern GNU/Linux systems, which all use the GNU C Library). | ||||||
| 
 | 
 | ||||||
| Unlike existing GNU application software, however, the licensing | Unlike existing GNU application software, however, the licensing | ||||||
| implications of releasing the GNU C Library (``glibc'') under GPL were | implications of releasing the GNU C Library (``glibc'') under GPL were | ||||||
| somewhat different.  Applications released under GPL would never | somewhat different.  Applications released under GPL would never | ||||||
| themselves become part of proprietary software.  However, if glibc were | themselves become part of proprietary software.  However, if glibc were | ||||||
| released under GPL, it would require that any application distributed for | released under GPL, it would require that any application distributed for | ||||||
| the GNU/Linux platform be released under GPL. | the GNU/Linux platform be released under GPL\@. | ||||||
| 
 | 
 | ||||||
| Since all applications on a Unix-like system depend on the C library, it | Since all applications on a Unix-like system depend on the C library, it | ||||||
| means that they must link with that library to function on the system.  In | means that they must link with that library to function on the system.  In | ||||||
|  | @ -1837,18 +1852,18 @@ advocates, since it stops all proprietary software development on | ||||||
| GNU/Linux systems.  However, the outcome is a bit more subtle.  In a world | GNU/Linux systems.  However, the outcome is a bit more subtle.  In a world | ||||||
| where many C Libraries already exist, many of which could easily be ported | where many C Libraries already exist, many of which could easily be ported | ||||||
| to GNU/Linux, a GPL'd glibc would be unlikely to succeed.  Proprietary | to GNU/Linux, a GPL'd glibc would be unlikely to succeed.  Proprietary | ||||||
| vendors would see the excellent opportunity to license their C libraries to | vendors would see the excellent opportunity to license their C libraries | ||||||
| anyone who wished to write proprietary software for GNU/Linux systems. | to anyone who wished to write proprietary software for GNU/Linux systems. | ||||||
| The de-facto standard for C libraries on GNU/Linux would likely become not | The de-facto standard for C libraries on GNU/Linux would likely be not | ||||||
| glibc, but the most popular proprietary one. | glibc, but the most popular proprietary one. | ||||||
| 
 | 
 | ||||||
| Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no | Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no | ||||||
| proprietary applications on GNU/Linux --- would be unattainable in this | proprietary applications on GNU/Linux --- would be unattainable in this | ||||||
| scenario.  Furthermore, users of those proprietary applications would also | scenario.  Furthermore, users of those proprietary applications would also | ||||||
| be users of a proprietary C library, not glibc. | be users of a proprietary C library, not the Free glibc. | ||||||
| 
 | 
 | ||||||
| The Lesser GPL was first conceived to handle this scenario.  It was clear | The Lesser GPL was initially conceived to handle this scenario.  It was | ||||||
| that the existence of proprietary applications for GNU/Linux was | clear that the existence of proprietary applications for GNU/Linux was | ||||||
| inevitable.  Since there were so many C libraries already in existence, a | inevitable.  Since there were so many C libraries already in existence, a | ||||||
| new one under GPL would not stop that tide.  However, if the new C library | new one under GPL would not stop that tide.  However, if the new C library | ||||||
| were released under a license that (a) permitted proprietary applications | were released under a license that (a) permitted proprietary applications | ||||||
|  | @ -1860,25 +1875,23 @@ the C library. | ||||||
| 
 | 
 | ||||||
| There was no way the license of glibc could stop or even slow the creation | There was no way the license of glibc could stop or even slow the creation | ||||||
| of proprietary applications on GNU/Linux.  However, loosening the | of proprietary applications on GNU/Linux.  However, loosening the | ||||||
| restrictions on the licensing of glibc was able to ensure that nearly all | restrictions on the licensing of glibc ensured that nearly all proprietary | ||||||
| proprietary applications at least used a Free C library rather than a | applications at least used a Free C library rather than a proprietary one. | ||||||
| proprietary one.  This trade-off is central to the reasoning behind the | This trade-off is central to the reasoning behind the LGPL\@. | ||||||
| LGPL\@. |  | ||||||
| 
 | 
 | ||||||
| Of course, many people who use the LGPL today are not thinking in these | Of course, many people who use the LGPL today are not thinking in these | ||||||
| terms.  In fact, they are often choosing the GPL because they are looking | terms.  In fact, they are often choosing the LGPL because they are looking | ||||||
| for a ``compromise'' between the GPL and the X11-style liberal licensing | for a ``compromise'' between the GPL and the X11-style liberal licensing. | ||||||
| that does not reserve any rights to ensure the future freedom of the | However, understanding FSF's reasoning behind the creation of the LGPL is | ||||||
| software.  However, understanding FSF's reasoning behind the creation of | helpful when studying the license. | ||||||
| the LGPL is helpful when studying the license. |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| \section{What's the Same?} | \section{What's the Same?} | ||||||
| 
 | 
 | ||||||
| Much of the text of the LGPL is identical to the GPL\@.  As we begin our | Much of the text of the LGPL is identical to the GPL\@.  As we begin our | ||||||
| discussion of the LGPL, we will first eliminate the sections that are | discussion of the LGPL, we will first eliminate the sections that are | ||||||
| identical, or that have the minor change of changing the word ``Program'' | identical, or that have the minor modifications of changing the word | ||||||
| to ``Library''. | ``Program'' to ``Library''. | ||||||
| 
 | 
 | ||||||
| First, \S 1 of LGPL, the rules for verbatim copying of source, are | First, \S 1 of LGPL, the rules for verbatim copying of source, are | ||||||
| equivalent to those in GPL's \S 1. | equivalent to those in GPL's \S 1. | ||||||
|  | @ -2025,14 +2038,14 @@ the library'', works as follows: | ||||||
| \end{itemize} | \end{itemize} | ||||||
| 
 | 
 | ||||||
| We will talk about the specific restrictions LGPL places on ``works that | We will talk about the specific restrictions LGPL places on ``works that | ||||||
| use the library'' in detail in Section~\ref{FIXME}.  For now, focus on the | use the library'' in detail in Section~\ref{lgpl-section-6}.  For now, | ||||||
| logic related to how the LGPL places requirements on the license of | focus on the logic related to how the LGPL places requirements on the | ||||||
| \lplusi{}.  Note, first of all, the similarity between this explanation | license of \lplusi{}.  Note, first of all, the similarity between this | ||||||
| and that in Section~\ref{separate-and-independent}, which discussed the | explanation and that in Section~\ref{separate-and-independent}, which | ||||||
| combining otherwise separate and independent works with GPL'd code. | discussed the combination of otherwise separate and independent works with | ||||||
| Effectively, what LGPL is doing is saying that when a new work is | GPL'd code.  Effectively, what LGPL is doing is saying that when a new | ||||||
| otherwise separate and independent, but has interface calls out to an | work is otherwise separate and independent, but has interface calls out to | ||||||
| LGPL'd library, then it is considered a ``work that uses the library''. | an LGPL'd library, then it is considered a ``work that uses the library''. | ||||||
| 
 | 
 | ||||||
| In addition, the only reason that LGPL has any control over the licensing | In addition, the only reason that LGPL has any control over the licensing | ||||||
| of a ``work that uses the library'' is for the same reason that GPL has | of a ``work that uses the library'' is for the same reason that GPL has | ||||||
|  | @ -2122,11 +2135,10 @@ the license only so that when such a border case is hit, the implications | ||||||
| of using LGPL continue in the expected way. | of using LGPL continue in the expected way. | ||||||
| 
 | 
 | ||||||
| To understand this subtle point, we must recall the way that a compiler | To understand this subtle point, we must recall the way that a compiler | ||||||
| operates, which we discussed in Section~\ref{FIXME}.  The compiler first | operates.  The compiler first generates object code, which are the binary | ||||||
| generates object code, which are the binary representations of various | representations of various programming modules.  Each of those modules is | ||||||
| programming modules.  Each of those modules is usually not useful by | usually not useful by itself; it becomes useful to a user a full program | ||||||
| itself; it becomes useful to a user a a full program when those modules | when those modules are {\em assembled\/} into a full binary executable. | ||||||
| are {\em assembled\/} into a full binary executable. |  | ||||||
| 
 | 
 | ||||||
| As we have discussed, the assembly of modules can happen at compile-time | As we have discussed, the assembly of modules can happen at compile-time | ||||||
| or at runtime.  Legally, there is no distinction between the two --- both | or at runtime.  Legally, there is no distinction between the two --- both | ||||||
|  | @ -2154,7 +2166,7 @@ based on the library''.  However, since the compiler copies verbatim, | ||||||
| copyrighted portions of the library into the object code for the otherwise | copyrighted portions of the library into the object code for the otherwise | ||||||
| separate and independent work, it would actually cause that object file a | separate and independent work, it would actually cause that object file a | ||||||
| ``work based on the library''.  It is not FSF's intent that a mere | ``work based on the library''.  It is not FSF's intent that a mere | ||||||
| compilation idiosyncrasy changes the requirements on the users of the | compilation idiosyncrasy would change the requirements on the users of the | ||||||
| LGPL'd software.  This paragraph removes that restriction, allowing the | LGPL'd software.  This paragraph removes that restriction, allowing the | ||||||
| implications of the license to be the same regardless of the specific | implications of the license to be the same regardless of the specific | ||||||
| mechanisms the compiler uses underneath to create the ``work that uses the | mechanisms the compiler uses underneath to create the ``work that uses the | ||||||
|  | @ -2170,7 +2182,7 @@ them understand that the full implications of LGPL are the same regardless | ||||||
| of the details of the compilation progress. | of the details of the compilation progress. | ||||||
| 
 | 
 | ||||||
| \section{LGPL \S 6: Distributing Works that Use the Library} | \section{LGPL \S 6: Distributing Works that Use the Library} | ||||||
| 
 | \label{lgpl-section-6} | ||||||
| Now that we have a established a good working definition of works that | Now that we have a established a good working definition of works that | ||||||
| ``use'' and works that ``are based on'' the library, we will consider the | ``use'' and works that ``are based on'' the library, we will consider the | ||||||
| rules for distributing these two different works. | rules for distributing these two different works. | ||||||
|  | @ -2184,10 +2196,10 @@ source form.  However, there are also conditions in LGPL \S 6 to make sure | ||||||
| that a user who wishes to modify or update the library can do so. | that a user who wishes to modify or update the library can do so. | ||||||
| 
 | 
 | ||||||
| LGPL \S 6 lists five choices with regard to supplying library source and | LGPL \S 6 lists five choices with regard to supplying library source and | ||||||
| the freedom to modify that library source the users.  We will first | granting the freedom to modify that library source to users.  We will | ||||||
| consider the option given by \S 6(b), which describes the most common way | first consider the option given by \S 6(b), which describes the most | ||||||
| that is currently used for LGPL compliance on a ``work that uses the | common way that is currently used for LGPL compliance on a ``work that | ||||||
| library''. | uses the library''. | ||||||
| 
 | 
 | ||||||
| \S 6(b) allows the distributor of a ``work that uses the library'' to | \S 6(b) allows the distributor of a ``work that uses the library'' to | ||||||
| simply use a dynamically linked, shared library mechanism to link with the | simply use a dynamically linked, shared library mechanism to link with the | ||||||
|  | @ -2214,17 +2226,18 @@ based on the library'', so that the user can relink the application and | ||||||
| build a new binary. | build a new binary. | ||||||
| 
 | 
 | ||||||
| The remaining options in \S 6 are very similar to the other choices | The remaining options in \S 6 are very similar to the other choices | ||||||
| provided by GPL \S 3.  There are some additions, and time does not permit | provided by GPL \S 3.  There are some additional options, and time does | ||||||
| us in this course to go into those additional options.  In almost all | not permit us in this course to go into those additional options.  In | ||||||
| cases of distribution under LGPL, either \S 6(a) or \S 6(b) are exercised. | almost all cases of distribution under LGPL, either \S 6(a) or \S 6(b) are | ||||||
|  | exercised. | ||||||
| 
 | 
 | ||||||
| \section{Distribution of Works Based on the Library} | \section{Distribution of Works Based on the Library} | ||||||
| 
 | 
 | ||||||
| Essential, ``works based on the library'' must be distributed under the | Essentially, ``works based on the library'' must be distributed under the | ||||||
| same conditions as works under full GPL\@.  In fact, we note that LGPL's \S | same conditions as works under full GPL\@.  In fact, we note that LGPL's | ||||||
| 2 is nearly identical in its terms and requirements to GPL's \S 2.  There | \S 2 is nearly identical in its terms and requirements to GPL's \S 2. | ||||||
| are again subtle differences and additions, which time does not permit us | There are again subtle differences and additions, which time does not | ||||||
| to cover in this course. | permit us to cover in this course. | ||||||
| 
 | 
 | ||||||
| \section{And the Rest} | \section{And the Rest} | ||||||
| 
 | 
 | ||||||
|  | @ -3400,6 +3413,7 @@ That's all there is to it! | ||||||
| % LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs | % LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs | ||||||
| % LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs | % LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs | ||||||
| % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | ||||||
| % LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce | % LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce DVD | ||||||
| % LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery | % LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery Iqtel | ||||||
| % LocalWords:  impermissibly | % LocalWords:  impermissibly Bateman faire minimis Borland uncopyrightable Mgmt | ||||||
|  | % LocalWords:  franca downloadable | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn