* Finished inital writing
This commit is contained in:
		
							parent
							
								
									29ae85a1ba
								
							
						
					
					
						commit
						93bee26a72
					
				
					 1 changed files with 637 additions and 32 deletions
				
			
		|  | @ -30,8 +30,7 @@ | |||
| 
 | ||||
| \vspace{.5in} | ||||
| 
 | ||||
| {\Large {\sc GPL Compliance Case Studies and Legal Ethics in Free Software | ||||
|     Licensing } \\ | ||||
| {\Large {\sc GPL Compliance Case Studies} \\ | ||||
| 
 | ||||
| \vspace{.7in} | ||||
| 
 | ||||
|  | @ -93,10 +92,6 @@ insights into problems that can arise when the terms of GPL are not | |||
| properly followed, and how diplomatic negotiation between the violator and | ||||
| the copyright holder can yield positive results for both parties. | ||||
| 
 | ||||
| This course also includes a unit on the ethical considerations for | ||||
| attorneys who want to represent clients that make use of or sell Free | ||||
| Software products. | ||||
| 
 | ||||
| Attendees should have successfully completely the course, a ``Detailed | ||||
| Study and Analysis of GPL and LGPL'', as the material from that course | ||||
| forms the building blocks for this material. | ||||
|  | @ -118,11 +113,11 @@ will also find the course very helpful. | |||
| \chapter{Overview of FSF's GPL Compliance Lab} | ||||
| 
 | ||||
| The GPL is a Free Software license with legal teeth.  Unlike licenses like | ||||
| the X11-style or various BSD licenses, GPL (and by extention, the LGPL) is | ||||
| the X11-style or various BSD licenses, GPL (and by extension, the LGPL) is | ||||
| designed to defend as well as grant freedom.  We saw in the last course | ||||
| that GPL uses copyright law as a mechanism to grant all the key freedoms | ||||
| essential in Free Software, but also to ensure that those freedoms | ||||
| propogate throughout the distribution chain of the software. | ||||
| propagate throughout the distribution chain of the software. | ||||
| 
 | ||||
| \section{Termination Begins Enforcement} | ||||
| 
 | ||||
|  | @ -155,7 +150,7 @@ and distributing. | |||
| 
 | ||||
| \section{Ongoing Violations} | ||||
| 
 | ||||
| In conjuction 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 | ||||
| single, solitary act of copying, distributing or modifying software. | ||||
| Almost always, a violator will have legitimately acquired a copy a GPL'd | ||||
|  | @ -166,10 +161,10 @@ software was put up for download on the Internet.  Regardless of the | |||
| delivery mechanism, violators almost always are engaged in {\em ongoing\/} | ||||
| violation of GPL\@. | ||||
| 
 | ||||
| In fact, when we discover a GPL violation that occured 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 | ||||
| source at a meeting once --- we rarely pursue it with a high degree of | ||||
| dilligence.  In our minds, that is an educational problem, and unless the | ||||
| diligence.  In our minds, that is an educational problem, and unless the | ||||
| user group becomes a repeat offender (as it turns out, the never do) we | ||||
| simply send an FAQ entry that best explains how user groups can most | ||||
| easily comply with GPL, and send them on there merry way. | ||||
|  | @ -184,7 +179,7 @@ educate industries who are making a mistake on a large scale. | |||
| 
 | ||||
| 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 | ||||
| is benefitting from Free Software, and we understand that sometimes they | ||||
| is benefiting from Free Software, and we understand that sometimes they | ||||
| have become confused about the rules of the road.  Rather than merely | ||||
| giving us a post mortem to perform on a past mistake, an ongoing violation | ||||
| gives us an active opportunity to educate a new contributor the GPL'd | ||||
|  | @ -200,52 +195,662 @@ contrast, we revel in the successes of educating an ongoing violator about | |||
| GPL so that GPL compliance becomes a second-nature matter, and they join | ||||
| the GPL ecosystem as contributors. | ||||
| 
 | ||||
| \section{How are Violations Discovered?} | ||||
| 
 | ||||
| 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 | ||||
| donors).  Our violation reports come from volunteers, who have encountered | ||||
| in their business or personal life, a device or software product that | ||||
| appears to contain GPL'd software; these reports are usually sent via | ||||
| email to $<$license-violation@fsf.org$>$. | ||||
| 
 | ||||
| Our first order of business, upon receiving such a report, is to seek | ||||
| independent confirmation.  When possible, we get a copy of the software | ||||
| product.  For example, if it is an offering that is downloadable from a | ||||
| 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 | ||||
| reporter to go through the same process we use in examining the software. | ||||
| 
 | ||||
| By rough estimation, about 95\% of violations at this stage can be | ||||
| confirmed by simple commands.  Since almost all violators have merely made | ||||
| an error, and have no nefarious intentions, they have made no attempt to | ||||
| remove our copyright notices from the software.  Given the third-party | ||||
| binary, {\tt tpb}, usually, a simple command (on a GNU/Linux system) such | ||||
| as the following will find an Free Software copyright notice and GPL | ||||
| reference: | ||||
| \begin{quotation} | ||||
| {\tt string tpb | grep Copyright} | ||||
| \end{quotation} | ||||
| In other words, it is usually more than trivial to confirm that GPL'd | ||||
| software is included. | ||||
| 
 | ||||
| Once we have confirmed that a violation has indeed occurred, we must then | ||||
| determine whose copyright has been violated.  Contrary to popular belief, | ||||
| FSF does not have the power to enforce GPL in all cases.  Since GPL | ||||
| operates under copyright law, the powers of enforcement --- to seek | ||||
| 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 | ||||
| of GPL'd software, but we are by no means the only one.  Thus, we | ||||
| sometimes discover that while GPL'd code is present in the software, | ||||
| there is no software copyrighted by FSF. | ||||
| 
 | ||||
| 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 | ||||
| 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 | ||||
| third party to settle such GPL violations.  However, what we will | ||||
| describe in this course is FSF's first-hand experience enforcing its own | ||||
| copyrights and GPL\@. | ||||
| 
 | ||||
| \section{First Contact} | ||||
| 
 | ||||
| The Free Software community is built on a structure of voluntary | ||||
| cooperation and mutual help. | ||||
| cooperation and mutual help.  Our community has learned that cooperation | ||||
| works best when you assume the best of others, and only change policy, | ||||
| procedures and attitudes when some specific event or occurrence indicates | ||||
| 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 | ||||
| community of software sharing, so we want to open our hand in friendship | ||||
| to them. | ||||
| 
 | ||||
| Therefore, once we have confirmed a violation, our first assumption is | ||||
| that the violation is an oversight or otherwise a mistake due to confusion | ||||
| about the terms of the license.  We reach out to the violator and ask them | ||||
| to work with us in a collaborative way to bring the product into | ||||
| compliance.  We have received the gamut of possible reactions to such | ||||
| requests, and in this course, we examine four specific examples of such | ||||
| compliance work. | ||||
| 
 | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Case Study A} | ||||
| \chapter{Case Study: Davrik's Modified GCC} | ||||
| 
 | ||||
| In our first case study, we will consider Davrik, a company that produces | ||||
| software and hardware toolkits to assist OEM vendors who products consumer | ||||
| electronic devices. | ||||
| 
 | ||||
| \section{Facts} | ||||
| 
 | ||||
| One of Davrik's key products is a Software Development Kit (``SDK'') | ||||
| designed to assist developers building software for a specific class of | ||||
| consumer electronics devices. | ||||
| 
 | ||||
| FSF received a report that the SDK may be based on the GNU Compiler | ||||
| Collection (which is an FSF-copyrighted collection of tools for software | ||||
| development in C, C++ and other popular languages).  FSF investigated the | ||||
| claim, but was unable to confirm the violation.  The violation reporter | ||||
| was unresponsive to follow-up requests for more information. | ||||
| 
 | ||||
| Since FSF was unable to confirm the violation, we did not pursue it any | ||||
| further.  Bogus reports do happen, and we do not want to burden companies | ||||
| with specious GPL violation complaints.  FSF shelved the matter until | ||||
| more evidence was discovered. | ||||
| 
 | ||||
| FSF was later able to confirm the violation when two additional reports | ||||
| surfaced from other violation reports, both of whom had used the product | ||||
| professional and noticed clear similarities to FSF's GNU GCC\@.  FSF's | ||||
| Compliance Engineer asked the reporters to run standard tests to confirm | ||||
| the violation, and it was confirmed that the product was indeed a | ||||
| derivative work of GCC, ported to Windows and with a number of features | ||||
| added, including support for a specific consumer device chipset and | ||||
| additional features to aid in the linking process (``LP'') for the | ||||
| specific devices.  FSF explained the rights that the GPL afforded these | ||||
| 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 | ||||
| to request that source (if \S 3(b) was exercised).  The violators | ||||
| confirmed that such requests were not answered. | ||||
| 
 | ||||
| FSF brought the matter to the attention of Davrik, who immediately | ||||
| escalated the matter to their attorneys.  After a long negotiation, 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 | ||||
| was a derivate work of GCC\@.  After repeated FSF inquiries, Davrik | ||||
| 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 | ||||
| code-base. | ||||
| 
 | ||||
| \label{davrik-build-problems} | ||||
| Once the full software release was made available, FSF asked the | ||||
| violation reporters if it addressed the problem.  Reports came back that | ||||
| in fact the source did not properly build.  FSF asked Davrik to provide | ||||
| better build instructions with the software, and such build instructions | ||||
| were incorporated into the next software release. | ||||
| 
 | ||||
| At FSF's request as well, Davrik informed customers who had previously | ||||
| purchased the product that the source was now available, by announcing | ||||
| the available on its website and via a customer newsletter. | ||||
| 
 | ||||
| Davrik did have some concerns regarding patents.  They wished to include a | ||||
| statement with the software release that made sure they were not granting | ||||
| any patent permission other than what was absolutely required by GPL\@. | ||||
| They understood that their patent assertions could not trump any rights | ||||
| granted by GPL\@.  The following language was negotiated to be included | ||||
| with the release: | ||||
| 
 | ||||
| \begin{quotation} | ||||
| Subject to the qualifications stated below, Davrik, on behalf of itself | ||||
| and its Subsidiaries, agrees not to assert the Claims against you for your | ||||
| making, use, offer for sale, sale, or importation of the Davrik's GNU | ||||
| Utilities or derivative works of the Davrik's GNU Utilities | ||||
| ("Derivatives"), but only to the extent that any such Derivatives are | ||||
| licensed by you under the terms of the GNU General Public License.  The | ||||
| Claims are the claims of patents that Davrik or its Subsidiaries have | ||||
| standing to enforce that are directly infringed by the making, use, or | ||||
| sale of an Davrik Distributed GNU Utilities in the form it was distributed | ||||
| by Davrik and that do not include any limitation that reads on hardware; | ||||
| the Claims do not include any additional patent claims held by Davrik that | ||||
| cover any modifications of, derivative works based on or combinations with | ||||
| the Davrik's GNU Utilities, even if such a claim is disclosed in the same | ||||
| patent as a Claim.  Subsidiaries are entities that are wholly owned by | ||||
| Davrik. | ||||
| 
 | ||||
| This statement does not negate, limit or restrict any rights you already | ||||
| have under the GNU General Public License, Version 2. | ||||
| \end{quotation} | ||||
| 
 | ||||
| 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 | ||||
| give no permissions to exercise teachings of patents that were not already | ||||
| exercised in their GPL'd software release. | ||||
| 
 | ||||
| Finally, a GPL Compliance Officer inside Davrik was appointed who is | ||||
| responsible for all matters of GPL Compliance inside the company.  Darvik | ||||
| is responsible for informing FSF if the position is given to someone else | ||||
| inside the company, and making sure that FSF has direct contact | ||||
| information with Darvik's Compliance Officer. | ||||
| 
 | ||||
| \section{Lessons} | ||||
| 
 | ||||
| This case introduces a number of concepts regarding GPL enforcement. | ||||
| 
 | ||||
| \begin{enumerate} | ||||
| 
 | ||||
| \item {\bf Enforcement should not begin until the evidence is confirmed.} | ||||
|   Most companies who distribute GPL'd software do so in compliance, and at | ||||
|   times, violation reports are mistaken.  Even with extensive efforts in | ||||
|   GPL education, many users do not fully understand their rights and the | ||||
|   obligations that companies have.  By working through the investigation | ||||
|   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}. | ||||
|   When users and customers of GPL'd products know their rights, what to | ||||
|   expect, and how to properly exercise their rights (particularly under \S | ||||
|   3(b)), it reduces the chances for user frustration and inappropriate | ||||
|   community outcry about an alleged GPL violation. | ||||
| 
 | ||||
| \item {\bf GPL compliance requires friendly negotiation and | ||||
|   cooperation.}  Often, attorneys and managers are legitimately surprised | ||||
|   to find out GPL'd software is included in their company's products. | ||||
|   Engineers sometimes include GPL'd software without understanding the | ||||
|   requirements.  This does not excuse companies from their obligations | ||||
|   under the license, but it does mean that care and patience are | ||||
|   essential for reaching GPL compliance.  We want companies to understand | ||||
|   that participating and benefiting from a collaborative Free Software | ||||
|   community is not a burden, so we strive to make the process of coming | ||||
|   into compliance when a problem occurs as smooth as possible. | ||||
| 
 | ||||
| \item {\bf Confirming compliance is a community effort.}  The whole point | ||||
|   of making sure that software distributors respect the terms of GPL is to | ||||
|   allow a thriving software sharing community to benefit and improve the | ||||
|   work.  FSF are not the experts on how a compiler for consumer electronic | ||||
|   devices should work.  We therefore inform the community who originally | ||||
|   brought the violation to our attention and ask them to assist in | ||||
|   evaluation and confirmation of the product's compliance.  Of course, FSF | ||||
|   coordinates and oversees the process, but we do not want compliance for | ||||
|   compliance's sake; rather, we wish to foster a cooperating community of | ||||
|   development around the Free Software in question, and encourage the | ||||
|   once-violator to begin participating in that community. | ||||
| 
 | ||||
| \item {\bf Informing the harmed community is part of compliance.} FSF asks | ||||
|   violators to make some attempt --- such as via newsletters and the | ||||
|   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 | ||||
|   \S 3 is to {\em make sure the user knows he has these rights\/}.  If a | ||||
|   product was received out of compliance by a customer, they may never | ||||
|   actually discover that they had such rights.  Informing them, in a way | ||||
|   that is not burdensome but has a high probability of successfully | ||||
|   reaching those who would seek to exercise their freedoms, is essential | ||||
|   to properly remedy the mistake. | ||||
| 
 | ||||
| \item {\bf Lines between various copyright, patent, and other legal | ||||
|   mechanisms must be precisely defined and considered.}  The most | ||||
|   difficult negotiation point of this compliance case was drafting | ||||
|   language that simultaneously protected the Davrik's patent rights | ||||
|   outside of the GPL'd source, but was consistent with the implicit patent | ||||
|   grant in GPL\@.  As we discussed in the first course in this series, | ||||
|   there is indeed an implicit patent grant with GPL, thanks to \S 6 and \S | ||||
|   7.  However, many companies become nervous and wish to make the grant | ||||
|   explicit to assure themselves that the grant is sufficiently narrow for | ||||
|   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 | ||||
|   we do not object to general language that explicitly narrows the patent | ||||
|   grant to only those patents that were, in fact, exercised by the GPL'd | ||||
|   software as released by the company. | ||||
| 
 | ||||
| \end{enumerate} | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Case Study B} | ||||
| \chapter{Bracken: a Minor Violation in a GNU/Linux Distribution} | ||||
| 
 | ||||
| Bracken produces a GNU/Linux operating system product that is sold | ||||
| 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 | ||||
| product is almost 100\% Free Software, mostly licensed under GPL and | ||||
| related Free Software licenses. | ||||
| 
 | ||||
| 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 | ||||
|   site for technical readers.} comment, and then later brought to our | ||||
| attention by another Free Software copyright holder who had discovered the | ||||
| same violation. | ||||
| 
 | ||||
| Bracken's GNU/Linux product is delivered directly from their website. | ||||
| This allowed FSF engineers to directly download and confirm the violation | ||||
| quickly.  It was discovered that there were two primary problems with the | ||||
| online distribution: | ||||
| 
 | ||||
| \begin{itemize} | ||||
| 
 | ||||
| \item No source code nor offer for source code was provided for a number | ||||
|   of components for the distributed GNU/Linux system; only binaries were | ||||
|   available. | ||||
| 
 | ||||
| \item An End User License Agreement (``EULA'') was included that | ||||
|   contradicted the permissions granted by GPL\@. | ||||
| \end{itemize} | ||||
| 
 | ||||
| FSF contacted Bracken and gave them the details of the violation. Bracken | ||||
| immediately ceased distribution of the product temporarily, and set forth | ||||
| a plan to bring themselves back into compliance.  This plan included the | ||||
| following steps: | ||||
| 
 | ||||
| \begin{itemize} | ||||
| 
 | ||||
| \item Bracken attorneys would rewrite the EULA to comply with GPL, and | ||||
|   would vet the new EULA through FSF before use. | ||||
| 
 | ||||
| \item Bracken engineers would provide source side-by-side with the | ||||
|   binaries for the GNU/Linux distribution on the site (and on CD's, if | ||||
|   ever they distributed that way). | ||||
| 
 | ||||
| \item Bracken attorneys would run an internal seminar for its engineers | ||||
|   regarding GPL proper compliance, to help ensure that such oversights | ||||
|   regarding source releases would not occur in the future. | ||||
| 
 | ||||
| \item Bracken would resume distribution of the product only after FSF | ||||
|   formally restored Bracken's distribution rights. | ||||
| \end{itemize} | ||||
| 
 | ||||
| This work 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 | ||||
| follows: | ||||
| 
 | ||||
| \begin{quotation} | ||||
| Many of the Software Programs included in Bracken Software are distributed | ||||
| under the terms of agreements with Third Parties (``Third Party | ||||
| Agreements'') which may expand or limit the Licensee's rights to use | ||||
| certain Software Programs as set forth in [this EULA].  Certain Software | ||||
| Programs may be licensed (or sublicensed) to Licensee under the GNU | ||||
| General Public License and other similar license agreements listed in part | ||||
| in this section which, among other rights, permit the Licensee to copy, | ||||
| modify and redistribute certain Software Programs, or portions thereof, | ||||
| and have access to the source code of certain Software Programs, or | ||||
| portions thereof.  In addition, certain Software Programs, or portions | ||||
| thereof, may be licensed (or sublicensed) to Licensee under terms stricter | ||||
| than those set forth in [this EULA].  The Licensee must review the | ||||
| electronic documentation that accompanies certain Software Programs, or | ||||
| portions thereof, for the applicable Third Party Agreements.  To the | ||||
| extent any Third Party Agreements require that Bracken provide rights to | ||||
| use, copy or modify a Software Program that are broader than the rights | ||||
| granted to the Licensee in [this EULA], then such rights shall take | ||||
| precedence over the rights and restrictions granted in this Agreement | ||||
| solely for such Software Programs. | ||||
| \end{quotation} | ||||
| 
 | ||||
| FSF restored Bracken's distribution rights shortly after the work was | ||||
| completed as described. | ||||
| 
 | ||||
| \section{Lessons Learned} | ||||
| 
 | ||||
| This case was probably them most quickly and easily resolved of all GPL | ||||
| 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 | ||||
| role in GPL compliance. | ||||
| 
 | ||||
| \begin{enumerate} | ||||
| 
 | ||||
| \item {\bf Companies that understand Free Software culture better have an | ||||
|   easier time with compliance.}  Bracken's products were designed and | ||||
|   build around the GNU/Linux system and Free Software components.  Their | ||||
|   engineers were deeply familiar with the Free Software ecosystem, and | ||||
|   their lawyers had seen and reviewed GPL before.  The violation was | ||||
|   completely an honest mistake, and since the culture inside the company | ||||
|   had already adapted to the cooperative style of resolution to problems | ||||
|   in the Free Software world, there was very little work for either | ||||
|   party to bring the product into compliance. | ||||
| 
 | ||||
| \item {\bf When people in key positions understand the Free Software | ||||
|   nature of their software products, compliance concerns are as mundane as | ||||
|   minor software bugs.}  Even the most functional system or structure has | ||||
|   its problems, and successful business often depends on agile response to | ||||
|   the problems that do come up; avoiding problems altogether is a pipe | ||||
|   dream.  Minor GPL violations can and do happen even with well-informed | ||||
|   redistributors, but when the company --- and in particular, the lawyers, | ||||
|   managers, and engineers working on the Free Software product lines -- | ||||
|   have adapted to the cooperate Free Software culture, resolving such | ||||
|   problems are merely a mundane details of typical operation and resolved | ||||
|   just as easily. | ||||
| 
 | ||||
| \item {\bf Legally, distribution must stop when a violation is | ||||
|   identified.}  In our opinion, Bracken went above and beyond the call by | ||||
|   ceasing distribution while the violation was being resolved.  Under GPL | ||||
|   \S 4, the redistributor loses the right to distribute the software, and | ||||
|   thus they are in ongoing violation of copyright law as they distribute. | ||||
|   It is FSF's policy to temporarily allow distribution while compliance | ||||
|   negotiations are ongoing and only in the most extreme cases where the | ||||
|   other party appears to be negotiating in bad faith does FSF even | ||||
|   threaten an injunction on copyright grounds.  However, Bracken --- as a | ||||
|   good Free Software citizen --- chose to be on the safe side and do the | ||||
|   legally correct thing while the violation case was pending.  Since from | ||||
|   start to finish it took less than am month to resolve, this lapse in | ||||
|   distribute did not, to FSF's knowledge, impact their business in any | ||||
|   way. | ||||
| 
 | ||||
| \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. | ||||
|   Even the most diligent attorneys forget or simply do not know that a | ||||
|   product contains software licensed under GPL and other Free Software | ||||
|   licenses.  Drafting a EULA that accounts for such licenses is | ||||
|   straightforward; the text quoted above works just fine.  The EULA must | ||||
|   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 | ||||
|   between EULA and GPL, with regard to GPL'd code, that the GPL is the | ||||
|   overriding license. | ||||
| 
 | ||||
| \item {\bf Compliance Officers are rarely necessary when companies are | ||||
|   educated about GPL compliance.}  As we saw in the Davrik case, FSF asks | ||||
|   that a formal ``GPL Compliance Officer'' be appointed inside a | ||||
|   previously violating organization to shepherd the organization to a | ||||
|   cooperative approach with regard to GPL compliance.  However, when FSF | ||||
|   sees that an organization already has such an approach, there is no | ||||
|   need to request that such an officer be appointed. | ||||
| 
 | ||||
| \end{enumerate} | ||||
| 
 | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Case Study C} | ||||
| \chapter{Vigorien: Security, Export Controls, and GPL Compliance} | ||||
| 
 | ||||
| This case study introduces how concerns of ``security through obscurity'' | ||||
| and regulatory problems can impact GPL compliance matters. | ||||
| 
 | ||||
| \section{The Facts} | ||||
| 
 | ||||
| Vigorien distributes a backup solution product that allows system | ||||
| administrators to create encrypted backups of file-systems on Unix-like | ||||
| computers.  The product is based on GNU tar, a backup utility that | ||||
| replaces the standard Unix utility, ``tar'', but has additional features. | ||||
| 
 | ||||
| Vigorien's backup solution added cryptographic features to GNU tar, and | ||||
| included a suite of utilities and graphical user interfaces surrounding | ||||
| GNU tar to make backups convenient. | ||||
| 
 | ||||
| FSF discovered the violation from a user report, and determined that the | ||||
| cryptographic features were the only part of the product that constituted | ||||
| a derivative work of GNU tar; the extraneous utilities merely made | ||||
| ``shell'' calls out to GNU tar.  FSF requested that Vigorien come into | ||||
| compliance with GPL by releasing the source of GNU tar, with the | ||||
| cryptographic modifications, to its customers. | ||||
| 
 | ||||
| Vigorien released the GNU tar sources, but kept the cryptographic library | ||||
| proprietary.  They argued that the security of their system depending on | ||||
| keeping the software proprietary and that regardless, USA export | ||||
| restrictions on cryptographic software prohibited such a release.  FSF | ||||
| disputed the claim on the first count, pointing out that Vigorien's had | ||||
| only one option if they did not want to release the source: they would | ||||
| have to remove GNU tar from the software and not distribute it further. | ||||
| Vigorien rejected this suggestion, since GNU tar was an integral part of | ||||
| the product and the security changes were useless without GNU tar. | ||||
| 
 | ||||
| Regarding the export control claims, FSF proposed a number of options, | ||||
| including release of the source from one of Vigorien's divisions overseas | ||||
| where no such restrictions occurred, but Vigorien argued that the problem | ||||
| was insoluble because they operated primarily in the USA\@. | ||||
| 
 | ||||
| The deadlock on the second issue was resolved when those cryptographic | ||||
| export restrictions were lifted shortly thereafter, and FSF again raised | ||||
| the matter with Vigorien.  At that point, they dropped the first claim and | ||||
| agreed to release the remaining source module to their customers.  They | ||||
| did so, and the violation was resolved. | ||||
| 
 | ||||
| 
 | ||||
| \section{Lessons Learned} | ||||
| 
 | ||||
| \begin{enumerate} | ||||
| 
 | ||||
| \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 | ||||
|   code as GPL required.  FSF offers the option to simply remove the GPL'd | ||||
|   portions from the product and continue along without them indefinitely. | ||||
|   Every case where this has been suggested has led to the same conclusion. | ||||
|   Like Vigorien, the violator argues that the product cannot function | ||||
|   without the GPL'd components and they cannot effectively replace them. | ||||
| 
 | ||||
|   Such an outcome of course is further evidence that the combined work in | ||||
|   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 | ||||
|   the GPL'd portions, then one cannot effectively argue that the work as a | ||||
|   whole is not a derivative of the GPL'd portions. | ||||
| 
 | ||||
| 
 | ||||
| \item {\bf ``Security'' concerns do not exonerate a distributor from GPL | ||||
|   obligations, and ``security through obscurity'' does not work anyway.} | ||||
|   The argument that ``this is security software, so it cannot be released | ||||
|   in source form'' is not a valid defense for explaining why the terms of | ||||
|   the GPL are ignored.  If companies do not want to release source code | ||||
|   for some reason, then they should not base the work on GPL'd software. | ||||
|   No external argument for non-compliance can hold weight if the work as | ||||
|   whole is indeed a derivative work of a GPL'd program. | ||||
| 
 | ||||
|   The ``security concerns'' argument is often floated as a reason to keep | ||||
|   software proprietary, but the computer security community has on | ||||
|   numerous occasions confirmed that such arguments are entirely specious. | ||||
|   Security experts have found --- since the beginnings of the field of | ||||
|   cryptography in the ancient word --- that sharing results about systems | ||||
|   and having such systems withstand peer review and scrutiny builds the | ||||
|   most secure systems.  While full disclosure may help some who wish to | ||||
|   compromise security, it helps those who want to fix problems even more | ||||
|   by identifying them early. | ||||
| 
 | ||||
| \item {\bf External regulatory problems can be difficult to resolve.} | ||||
|   GPL, though copyright law, does not have the power to trump regulations | ||||
|   like export controls.  While Vigorien's ``security concerns'' were | ||||
|   specious, their export control concerns were not.  It is indeed a | ||||
|   difficult problem that FSF acknowledges.  We want compliance with GPL | ||||
|   and respect for users' freedoms, but we certainly do not expect | ||||
|   companies to commit criminal offenses for the sake of compliance.  We | ||||
|   will see more about this issue in our next case study. | ||||
| \end{enumerate} | ||||
| 
 | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Case Study D} | ||||
| \chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices} | ||||
| 
 | ||||
| Reminder about how organizations themselves work.  We don't have to | ||||
| educate the organization, just call their attention to something. | ||||
| This case study considers an ongoing (at the time of writing) violation | ||||
| that occurred.  By the end of the investigation period, three companies | ||||
| were involved and many complex issues arose. | ||||
| 
 | ||||
| Working on DVD cases -- interested in the question on how one plays DVD | ||||
| on one ligitimate owns, if one uses GNU/Linux give the licensing | ||||
| structure of DVD content scrambling system. | ||||
| \section{The Facts} | ||||
| 
 | ||||
| An article from the IBM guy who had arranged to have DVD player | ||||
| application by a vendor for includsion with IBM distributed based T20s. | ||||
| Haxil produced a consumer electronics device which included a mini | ||||
| GNU/Linux distribution to control the device.  The device was of interest | ||||
| to many technically minded consumers, who purchased the device and very | ||||
| quickly discovered that Free Software was included without source. | ||||
| Mailing lists throughout the Free Software community erupted with | ||||
| complaints about the problem, and FSF quickly investigated. | ||||
| 
 | ||||
| They shimed the kernel, it was a GPL problem. | ||||
| FSF confirmed that FSF-copyrighted GPL'd software was included.  In | ||||
| addition, the whole distribution included GPL'd works from hundreds of | ||||
| individual copyright holders, many of whom were, at this point, up in | ||||
| arms about the violation. | ||||
| 
 | ||||
| Couple of weeks, we've looked into it, and we're going back to the | ||||
| contractor and having them redo the thing to comply with GPL. | ||||
| 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 | ||||
| GPL'd software; it had not been part of the disclosures made during | ||||
| acquisition.  FSF contacted both Haxil and Polgara, and product managers | ||||
| who had transitioned into the ``Haxil division'' of newly merged Polgara | ||||
| company worked and Polgara's General Counsel's office worked with FSF on | ||||
| the matter. | ||||
| 
 | ||||
| contaminate a video output port with MacroVision. | ||||
| FSF meanwhile formed a coalition with the other primary copyright holders | ||||
| to pursue the enforcement effort on their behalf.  FSF communicated | ||||
| directly with Polgara's representatives to begin working through the | ||||
| issues on behalf of FSF itself and the Free Software community at large. | ||||
| 
 | ||||
| kernel mods  | ||||
| Polgara pointed out that the software distribution they used was mostly | ||||
| contributed by an upstream provider, Thesulac, and Haxil's changes to that | ||||
| code base were minimal.  Polgara negotiated with Thesulac to obtain the | ||||
| source, although the issue was moving very slowly in the channels between | ||||
| Polgara and Thesulac. | ||||
| 
 | ||||
| FSF encouraged a round-table meeting so that high bandwidth communication | ||||
| could occur between FSF, Polgara and Thesulac.  Polgara and Thesulac | ||||
| agreed, and that discussion began.  Thesulac provided nearly complete | ||||
| sources to Polgara, and Polgara made a full software release on their | ||||
| website.  At the time of writing, that software still has some build | ||||
| problems (similar those that occurred with Davrik, as described in | ||||
| Section~\ref{davrik-build-problems}).  FSF continues to negotiate with | ||||
| Polgara and Thesulac to resolve these problems, which have a clear path to | ||||
| solution and are expected to resolve. | ||||
| 
 | ||||
| Similar to the Vigorien case, Thesulac has regulatory concerns.  In this | ||||
| case, it is not export controls --- an issue that has since been resolved | ||||
| --- but radio spectrum regulation.  Since this consumer electronic device | ||||
| contains a software-programmable radio transmitter, regulations in (at | ||||
| least) the USA and Japan prohibit release of those portions of the code | ||||
| that operate the device.  Since this is a low-level programming issue, the | ||||
| changes to operate the device are a derivative work of the kernel named | ||||
| Linux.  This situation remains unresolved at the time of writing, although | ||||
| FSF continues to negotiation with Thesulac and the Linux community | ||||
| regarding the problem. | ||||
| 
 | ||||
| \section{Lessons Learned} | ||||
| 
 | ||||
| \begin{enumerate} | ||||
| 
 | ||||
| \item {\bf Community outrage, while justified, can often make negotiation | ||||
|   more difficult.}  FSF has a strong policy to not publicized names of GPL | ||||
|   violators if they are negotiating in a friendly way and operating in | ||||
|   good faith toward compliance.  Most violations are honest mistakes, and | ||||
|   FSF sees no reason to publicly admonish violators who genuinely see to | ||||
|   come into compliance with GPL and to work hard staying in compliance. | ||||
| 
 | ||||
|   This case was so public in the Free Software community that both Haxil's | ||||
|   and Polgara's representatives were nearly shell-shocked by the time FSF | ||||
|   began negotiations.  There was much work required to diffuse the | ||||
|   situation.  We empathize with our community and their outrage about GPL | ||||
|   violations, but we also want to follow a path that leads expediently | ||||
|   to compliance.  In our experience, public outcry works best as a last | ||||
|   resort, not the first. | ||||
| 
 | ||||
| \item {\bf For software companies, GPL compliance belongs on a corporate | ||||
|   acquisition checklist. }  Polgara was truly amazed that Haxil had used | ||||
|   GPL'd software in a major new product line but never informed Polgara | ||||
|   during the acquisition process.  While GPL compliance is not a | ||||
|   particularly difficult matter, it is an additional obligation that comes | ||||
|   along with the product line.  When planning mergers and joint ventures, | ||||
|   include lists of GPL'd components contained in the products discussed. | ||||
| 
 | ||||
| \item {\bf Compliance problems of upstream providers do not excuse a | ||||
|   violation for the downstream distributor.}  To paraphrase \S 6, upstream | ||||
|   providers are not responsible for enforcing compliance of their | ||||
|   downstream, nor are downstream distributors responsible for compliance | ||||
|   problems of upstream providers.  However, engaging in distribution of | ||||
|   GPL'd works out of compliance is still just that --- a compliance | ||||
|   problem.  When FSF carries out enforcement, we are patient and | ||||
|   sympathetic when the problem appears to be upstream.  In fact, we urge | ||||
|   the violator to point us to the upstream provider to talk to them, and | ||||
|   in this case we were happy to begin negotiations with Thesulac.  However, | ||||
|   Polgara still has an obligation to bring their product into compliance. | ||||
| 
 | ||||
| \item {\bf It behooves upstream providers to advise downstream | ||||
|   distributors about compliance matters.}  FSF has encouraged Thesulac to | ||||
|   distribute a ``good practices for GPL compliance'' document with their | ||||
|   product.  Polgara added various software components to Thesulac's | ||||
|   product, and it is conceivable that such additions can introduce | ||||
|   compliance.  In FSF's opinion, Thesulac is no way legally responsible | ||||
|   for such a violation introduced by their customer, but it behooves them | ||||
|   from a business standpoint to educate their customers about using the | ||||
|   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 | ||||
|   side would dispute the prudence of placing a ``caution: hot'' label on | ||||
|   the cup. | ||||
| 
 | ||||
| \item {\bf FSF enforcement often avoids redundant enforcement cases from | ||||
|   many parties.}  Most Free Software systems have hundreds of copyright | ||||
|   holders.  Some have thousands.  FSF is in a unique position as one of | ||||
|   the largest single copyright holders on GPL'd software and as a | ||||
|   respected umpire in the community neutrally enforcing the rules of the | ||||
|   GPL road.  FSF works hard in the community to convince copyright | ||||
|   holders that consolidating GPL claims through FSF is better for them, | ||||
|   and more likely to yield positive compliance results. | ||||
| 
 | ||||
|   A few copyright holders engage in the ``proprietary relicensing'' | ||||
|   business, so they use GPL enforcement as a sales channel for that | ||||
|   business.  FSF, as a community-oriented not-for-profit organization, | ||||
|   seeks only to preserve the freedom of Free Software in its enforcement | ||||
|   efforts.  As it turns out, most of the community of copyright holders | ||||
|   of Free Software want the same thing.  Share and share alike is a | ||||
|   simple rule to follow, and following that rule to FSF's satisfaction | ||||
|   usually means you are following it to the satisfaction of the entire | ||||
|   Free Software community. | ||||
| \end{enumerate} | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Good Practices for Compliance} | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \chapter{Ethical Considerations for the Attorney Practicing Free Software} | ||||
| 
 | ||||
| Generally, from the experience of GPL enforcement, we glean the following | ||||
| general practices that can help in GPL compliance for organizations that | ||||
| distribute products based on GPL'd software: | ||||
| 
 | ||||
| \begin{enumerate} | ||||
| 
 | ||||
| \item Talk to your software engineers and ask them where they got the | ||||
|   components they use in the products they build.  Find out if GPL'd | ||||
|   components are present. | ||||
| 
 | ||||
| \item Teach your engineering staff to pay attention to license documents. | ||||
|   Give them easy-to-follow policies to get approval for using a Free | ||||
|   Software component. | ||||
| 
 | ||||
| \item Build a ``Free Software Licensing'' committee that handles requests | ||||
|   and questions about GPL and other Free Software licenses. | ||||
| 
 | ||||
| \item Add ``What parts of your products are under GPL or other Free | ||||
|   Software licenses?'' to your checklist of questions to ask when you | ||||
|   consider mergers, acquisitions, or joint ventures. | ||||
| 
 | ||||
| \item Encourage your engineers to participate collaboratively with GPL'd | ||||
|   software development.  The more knowledge about the Free Software world | ||||
|   your organization has, the better equipped it is to deal with this | ||||
|   rapidly changing field. | ||||
| 
 | ||||
| \item When someone points out a potential GPL violation in one of your | ||||
|   products, do not assume the product line is doomed.  GPL is not a virus; | ||||
|   merely having GPL'd code in one part of a product does not necessarily | ||||
|   mean that every related product must also be GPL'd.  And, even if some | ||||
|   software needs to be released that was not before, the product will | ||||
|   surely still survive.  In FSF's enforcement efforts, we have not yet | ||||
|   seen a product line die because source was released to customers in | ||||
|   compliance with GPL. | ||||
| 
 | ||||
| \end{enumerate} | ||||
| 
 | ||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||
| \end{document} | ||||
| 
 | ||||
| % LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs | ||||
| % LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs | ||||
| % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | ||||
| % LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV | ||||
| % LocalWords:  TrollTech administrivia LGPL's MontaVista Davrik Davrik's Darvik | ||||
| % LocalWords:  Darvik's Slashdot sublicensed Vigorien Vigorien's Haxil Polgara | ||||
| % LocalWords:  Thesulac Polgara's Haxil's Thesulac's | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue