Jump to content

GNU General Public License: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Replaced page with '210px'
ClueBot (talk | contribs)
Reverting possible vandalism by Special:Contributions/121.135.135.81 to version by Circumspect. If this is a mistake, report it. Thanks, ClueBot. (81553) (Bot)
Line 1: Line 1:
{{redirect|GPL}}
[[Image:Heckert GNU white.svg|210px]]
{{ infobox software license
| name = GNU General Public License
| image = [[Image:Heckert GNU white.svg|160px]]
| caption = The GNU logo
| author = [[Free Software Foundation]]
| version = 3
| copyright = Free Software Foundation, Inc.
| date = [[29 June]] [[2007]]
| OSI approved = Yes
| Debian approved = Yes
| Free Software = Yes
| GPL compatible = Yes
| copyleft = Yes
| linking = No
}}

The '''GNU General Public License''' ('''GNU GPL''' or simply '''GPL''') is a widely used [[free software license]], originally written by [[Richard Stallman]] for the [[GNU project]]. It is the license used by the [[Linux]] kernel. The GPL is the most popular and well-known example of the type of strong [[copyleft]] license that requires derived works to be available under the same copyleft. Under this philosophy, the GPL is said to grant the recipients of a [[computer program]] the rights of the [[free software definition]] and uses copyleft to ensure the freedoms are preserved, even when the work is changed or added to. This is in distinction to [[permissive free software licences]], of which the [[BSD licenses]] are the standard examples.

The [[GNU Lesser General Public License]] (LGPL) is a modified, more permissive, version of the GPL, intended for some [[library (computing)|software libraries]]. There is also a [[GNU Free Documentation License]], which was originally intended for use with documentation for GNU software, but has also been adopted for other uses, such as the [[Wikipedia]] project.

==History==
The GPL was written by [[Richard Stallman]] in 1989 for use with programs released as part of the [[GNU project]]. The original GPL was based on a unification of similar licenses used for early versions of [[GNU Emacs]], the [[GNU Debugger]] and the [[GNU Compiler Collection]]. These licenses contained similar provisions to the modern GPL, but were specific to each program, rendering them incompatible, despite being the same license.<ref name="gplv3conf2stallman-before-gnu-gpl">[http://fsfeurope.org/projects/gplv3/fisl-rms-transcript.en.html#before-gnu-gpl Presentation] by Richard Stallman, made on [[April 21]], [[2006]], at the second international GPLv3 conference, held in Porto Alegre. Direct link to the section about the prehistory of the GPL.</ref> Stallman's goal was to produce one license that could be used for any project, thus making it possible for many projects to share code.

An important vote of confidence in the GPL came from [[Linus Torvalds]]' adoption of the license for the [[History of the Linux kernel|Linux kernel]] in 1992, switching from an earlier license that prohibited commercial distribution.

As of August 2007, the GPL accounted for nearly 65% of the 43,442 free software projects listed on [[Freshmeat]],<ref>{{cite web
|url=http://freshmeat.net/stats/
|title=Freshmeat's statistics page
|}}</ref> and [[As of 2006|as of January 2006]], about 68% of the projects listed on [[SourceForge.net]].<ref>http://www.dwheeler.com/frozen/sourceforge-stats-20031110.html</ref> Similarly, a 2001 survey of [[Red Hat Linux]] 7.1 found that 50% of the source code was licensed under the GPL<ref>{{cite web
|url=http://www.dwheeler.com/sloc/redhat62-v1/redhat62sloc.html
|title=Estimating Linux's Size
|author=David A. Wheeler
|}}</ref> and a 1997 survey of [[Ibiblio|MetaLab]], then the largest free software archive, showed that the GPL accounted for about half of the licenses used. One survey of a large repository of open-source software reported that in July 1997, about half the software packages with explicit license terms used the GPL.<ref>Eric S. Raymond’s "Homesteading the Noosphere," referenced in [http://www.dwheeler.com/essays/gpl-compatible.html Make Your Open Source Software GPL-Compatible. Or Else] By [[David A. Wheeler]]</ref> Prominent free software programs licensed under the GPL include the [[Linux kernel]] and the [[GNU Compiler Collection]] (GCC). Some other free software programs are [[dual-licensed]] under multiple licenses, often with one of the licenses being the GPL.

Some observers believe that the strong [[copyleft]] provided by the GPL was crucial to the success of Linux, giving the programmers who contributed to it the confidence that their work would benefit the whole world and remain free, rather than being exploited by software companies that would not have to give anything back to the community.<ref>{{cite web
|url=http://www.dwheeler.com/blog/2006/09/01/#gpl-bsd
|title=why the GPL rocketed Linux to success
|quote=So while the BSDs have lost energy every time a company gets involved, the GPL'ed programs gain every time a company gets involved.
|}}</ref>

The second version of the license, version 2, was released in 1991. Over the following 15 years, some members of the [[free software community|FOSS (Free and Open Source Software) community]] came to believe that some software and hardware vendors were finding loopholes in the GPL, allowing GPL-licensed software to be exploited in ways that were contrary to the intentions of the programmers. These concerns included [[tivoization]] (the inclusion of GPL-licensed software in hardware that will refuse to run modified versions of it); the use of unpublished, modified versions of GPL software behind web interfaces; and patent deals between [[Microsoft]] and Linux and Unix distributors that may represent an attempt to use patents as a weapon against competition from Linux.

Version 3 was developed to attempt to address these concerns. It was [http://www.fsf.org/news/gplv3_launched officially released] on [[June 29]], [[2007]].

==Versions==
===Version 1===
Version 1 of the GNU GPL, released in January 1989, prevented what were then the two main ways that software distributors restricted the freedoms that define free software. The first problem was that distributors may publish [[binary file]]s only – executable, but not readable or modifiable by humans. To prevent this, GPLv1 said that any vendor distributing binaries must also make the human readable source code available under the same licensing terms.

The second problem was the distributors might add additional restrictions, either by adding restrictions to the license, or by combining the software with other software which had other restrictions on its distribution. If this was done, then the union of the two sets of restrictions would apply to the combined work, thus unacceptable restrictions could be added. To prevent this, GPLv1 said that modified versions, as a whole, had to be distributed under the terms in GPLv1. Therefore, software distributed under the terms of GPLv1 could be combined with software under more permissive terms, as this would not change the terms under which the whole could be distributed, but software distributed under GPLv1 could not be combined with software distributed under a more restrictive license, as this would conflict with the requirement that the whole be distributable under the terms of GPLv1.

===Version 2===
According to Richard Stallman, the major change in GPLv2 was the "Liberty or Death" clause, as he calls it - Section 7.<ref name="gplv3conf2stallman-liberty-or-death">[http://fsfeurope.org/projects/gplv3/fisl-rms-transcript.en.html#liberty-or-death Presentation] by Richard Stallman, made on [[April 21]] [[2006]], at the second international GPLv3 conference, held in Porto Alegre. Direct link to the section about the "Liberty or Death" clause.</ref> This section says that if someone has restrictions imposed that ''prevent'' him or her from distributing GPL-covered software in a way that respects other users' freedom (for example, if a legal ruling states that he or she can only distribute the software in binary form), he or she cannot distribute it at all.

By 1990, it was becoming apparent that a less restrictive license would be strategically useful for some software libraries; when version 2 of the GPL (GPLv2) was released in June 1991, therefore, a second license - the Library General Public License (LGPL) was introduced at the same time and numbered with version 2 to show that both were complementary. The version numbers diverged in 1999 when version 2.1 of the LGPL was released, which renamed it the [[GNU Lesser General Public License]] to reflect its place in the GNU philosophy.

===Version 3===<!-- This section is linked from [[Software patent]] --> <!-- Commented out because image was deleted: [[Image:GplV3.png]] -->

Version 3 of the GNU GPL, or GPLv3, was released on [[June 29]], [[2007]] after a nearly two-year public comment process on earlier drafts. Compared to version 2, GPLv3 contained expanded efforts to address [[Software patents and free software|software patents]], hardware restrictions on software modification ("[[tivoization]]"), compatibility {{Fact|date=August 2007}} with other [[free software license]]s, and internationalization, as well as many other changes involving such issues as how license violations are handled and how additional permissions can be granted by the copyright holder.

In late 2005, the [[Free Software Foundation]] (FSF) announced work on version 3 of the GPL (GPLv3). On [[January 16]], [[2006]], the first "discussion draft" of GPLv3 was published, and a public consultation began which lasted for approximately a year and a half. The FSF officially released the final version of GPLv3 on [[June 29]], [[2007]]; see [http://www.gnu.org/licenses/gpl-3.0.html] for the full text.

GPLv3 was written by [[Richard Stallman]], with legal counsel from [[Eben Moglen]] and [[Software Freedom Law Center]].<ref name="fosdem2006stallman">[http://www.ifso.ie/documents/rms-gplv3-2006-02-25.html Presentation] by Richard Stallman on [[February 25]], [[2006]] in [[Brussels]], [[Belgium]] - the first day of that year's [[FOSDEM]] conference.</ref>

Stallman's summary of important changes proposed in the first draft included handling [[Software patents and free software|software patent]] issues, [[free software license]] compatibility, the definition of "source code", and [[tivoization]].<ref name="fosdem2006stallman"/> Other notable changes include allowing authors to add certain additional restrictions and requirements to their contributions.

One of those new optional restrictions, sometimes referred to as the Affero clause, is intended to plug a web-publishing loophole; the permitting of this optional restriction is meant to make it permitted to modify GPLv3 to be compatible with the [[Affero General Public License]].

The public consultation process was coordinated by the Free Software Foundation with assistance from [[Software Freedom Law Center]], [[Free Software Foundation Europe]], and other free software groups. Comments were collected from the public via the [http://gplv3.fsf.org gplv3.fsf.org] web portal. That portal runs purpose-written software called [[stet (software)|stet]]. These comments were passed to four committees comprising approximately 130 people, including supporters and detractors of FSF's goals. Those committees researched the comments submitted by the public and passed their summaries to Stallman for a decision on what the license would do.

Unofficial [[diff]]s between version 2 and the v3 draft 1 were released by [[Groklaw]].<ref name="groklaw-gpl-diff">[http://www.groklaw.net/article.php?story=20060118155841115 At Your Request, the GPLv2-GPL3 Chart]</ref>.

During the public consultation process, 1,000 comments were submitted for the first draft, and, as of March 2007, 681 comments had been submitted for the second draft. Diffs between draft 1 and draft 2 were made available by FSF<ref>[http://gplv3.fsf.org/gpl3-dd1to2-markup-rationale.pdf http://gplv3.fsf.org/gpl3-dd1to2-markup-rationale.pdf]</ref> and by FSFE.<ref>[http://www.fsfeurope.org/projects/gplv3/diff-draft1-draft2.en.html http://www.fsfeurope.org/projects/gplv3/diff-draft1-draft2.en.html]</ref>

A third draft was released on [[March 28]], [[2007]]<ref>[http://gplv3.fsf.org/gpl3-dd3-guide]</ref>. This draft included language intended to prevent patent cross-licenses like the controversial [[Novell#Agreement with Microsoft|Microsoft-Novell patent agreement]] and restricts the anti-tivoization clauses to the legal definition of a "User" or "consumer product." It also explicitly removed the section on "Geographical Limitations" that was planned to be removed in earlier drafts, but was in the drafts nonetheless. An unofficial diff can be found [http://fsfeurope.org/projects/gplv3/diff-draft2-draft3.en.html here]. Notably, the final discussion draft<ref>[http://gplv3.fsf.org/gpl-draft-2007-05-31.html] Final Discussion Draft, accessed June 4, 2007</ref> of the GPLv3, released on [[May 31]], [[2007]], introduced [[Apache Software License]] compatibility, clarified the role of outside contractors, and while grandfathering the Microsoft-Novell agreement, the sixth paragraph of section 11 requires that "You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license [...]", which should make future deals of this form ineffective. The license is also meant to require Microsoft to extend the patent licenses it grants to Novell customers for the use of GPLv3 software to ''all'' users of that GPLv3 software; this is possible only if Microsoft is legally a "conveyor" of the GPLv3 software.<ref>[http://gplv3.fsf.org/dd3-faq] GPLv3 FAQ, accessed June 4, 2007. This is from the FAQ instead of the license, for readability purposes.</ref><ref>[http://gplv3.fsf.org/gpl3-dd4-rationale.pdf] Fourth Discussion Draft Rationale, accessed June 4, 2007.</ref>

Others, notably some high-profile developers of the [[Linux kernel]], commented to the mass media and made public statements about their objections to parts of discussion drafts 1 and 2.<ref>[http://lwn.net/Articles/200422/ Kernel developers' position on GPLv3 -- http://lwn.net/Articles/200422/], accessed June 4, 2007</ref>.

== Terms and conditions ==
The terms and conditions of the GPL are available to anybody receiving a copy of the work that has a GPL applied to it ("the licensee"). Any licensee who adheres to the terms and conditions is given permission to modify the work, as well as to copy and redistribute the work or any derivative version. The licensee is allowed to charge a fee for this service, or do this free of charge. This latter point distinguishes the GPL from software licenses that prohibit commercial redistribution. The FSF argues that free software should not place restrictions on commercial use,<ref>{{cite web|url=http://www.gnu.org/philosophy/selling.html|title=Selling Free Software|publisher=Free Software Foundation}}</ref> and the GPL explicitly states that GPL works may be sold at any price.

The GPL additionally states that a distributor may not impose "further restrictions on the rights granted by the GPL". This forbids activities such as distributing of the software under a non-disclosure agreement or contract. Distributors under the GPL also grant a license for any of their patents practiced by the software, to practice those patents in GPL software.

Section three of the license requires that programs distributed as pre-compiled binaries are accompanied by a copy of the source code, a written offer to distribute the source code via the same mechanism as the pre-compiled binary or the written offer to obtain the source code that you got when you received the pre-compiled binary under the GPL.

=== Copyleft ===
{{main|Copyleft}}
The GPL does not give the licensee unlimited redistribution rights. The right to redistribute is granted only if the distribution is licensed under the terms of the GPL and includes, or unconditionally offers to include at the moment of distribution, the [[source code]].

This requirement is known as copyleft. It earns its legal power from the use of [[copyright]] on software programs. Because a GPL work is copyrighted, a licensee has no right to modify or redistribute it (barring [[fair use]]), except under the terms of the license. One is only required to adhere to the terms of the GPL if one wishes to exercise rights normally restricted by copyright law, such as redistribution. Conversely, if one distributes copies of the work without abiding by the terms of the GPL (for instance, by keeping the source code secret), he or she can be [[lawsuit|sued]] by the original author under copyright law.

Copyleft thus uses copyright law to accomplish the opposite of its usual purpose: instead of imposing restrictions, it grants rights to other people, in a way that ensures the rights cannot subsequently be taken away. This is the reason the GPL has been described as a "copyright [[Hack (technology slang)|hack]]". It also ensures that unlimited redistribution rights are not granted, should any legal flaw (or "[[computer bug|bug]]") be found in the copyleft statement.

Many distributors of GPLed programs bundle the source code with the [[executable]]s. An alternative method of satisfying the copyleft is to provide a written offer to provide the source code on a physical medium (such as a CD) upon request. In practice, many GPLed programs are distributed over the [[Internet]], and the source code is made available over [[File Transfer Protocol|FTP]]. For Internet distribution, this complies with the license.

Copyleft only applies when a person seeks to redistribute the program. One is allowed to make private modified versions, without any obligation to divulge the modifications as long as the modified software is not distributed to anyone else. Note that the copyleft only applies to the software and not to its output (unless that output is itself a derivative work of the program); for example, a public web portal running a modified derivative of a GPLed [[content management system]] is not required to distribute its changes to the underlying software.

==Licensing and contractual issues==
The GPL was designed as a [[license]], rather than a [[contract]].<ref>{{cite web
|url=http://www.gnu.org/philosophy/no-ip-ethos.html
|title=Essay by Stallman explaining why a license is more suitable than a contract
|}}</ref><ref>{{cite web
|url=http://fsfeurope.org/projects/gplv3/barcelona-moglen-transcript.en.html#q7-a-contract
|title=Eben Moglen explaining why the GPL is a licence and why it matters
|}}</ref> In some [[Common Law]] jurisdictions, the legal distinction between a license and a contract is an important one: contracts are enforceable by [[contract law]], whereas licences are enforced under [[copyright law]]. However, this distinction is not useful in the many jurisdictions where there are no differences between contracts and licenses, such as [[Civil law (legal system)|Civil Law]] systems.<ref>
{{cite journal
| last = Guadamuz-Gonzalez
| first = Andres
| title = Viral contracts or unenforceable documents? Contractual validity of copyleft licenses
| journal = European Intellectual Property Review
| volume = 26
| issue = 8
| pages = 331-339
| date = [[2004]]
| url = http://papers.ssrn.com/sol3/papers.cfm?abstract_id=569101}}
</ref>

Those who do not abide by or agree to the GPL's terms and conditions do not have permission, under copyright law, to copy or distribute GPL licensed software or derivative works. However, they may still use the software however they like.

== Copyright holders ==
The text of the GPL is itself copyrighted, and the copyright is held by the [[Free Software Foundation]] (FSF). However, the FSF does not hold the copyright for a work released under the GPL, unless an author explicitly assigns copyrights to the FSF (which seldom happens except for programs that are part of the [[GNU]] project). Only the individual copyright holders have the authority to sue when a license violation takes place.

The FSF permits people to create new licenses based on the GPL, as long as the derived licenses do not use the GPL preamble without permission. This is discouraged, however, since such a license is generally incompatible with the GPL.<ref>{{cite web
|url=http://www.fsf.org/licensing/licenses/gpl-faq.html#ModifyGPL
|title=GPL FAQ: Can I modify the GPL and make a modified license?
|}}</ref> (See the [http://www.fsf.org/licenses/gpl-faq.html#ModifyGPL GPL FAQ] for more information.)

Other licenses created by the GNU project include the [[GNU Lesser General Public License]] and the [[GNU Free Documentation License]].

== The GPL in court ==
A key dispute related to the GPL is whether or not non-GPL software can [[library linking|dynamically link]] to GPL libraries. The GPL is clear in requiring that all [[derivative work]]s of GPLed code must themselves be GPLed. However, it is not clear whether an executable that dynamically links to a GPL code should be considered a derivative work. The free/open-source software community is split on this issue. The FSF asserts that such an executable is indeed a derivative work if the executable and GPL code "make function calls to each other and share data structures,"<ref>[http://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF Can I apply the GPL when writing a plug-in for a non-free program?], GPL FAQ, Free Software Foundation.</ref> with others agreeing,<ref>Jerry Epplin, [http://www.linuxdevices.com/articles/AT9161119242.html Using GPL software in embedded applications], ''LinuxDevices.com'' (4 March 2001).</ref> while some (e.g. [[Linus Torvalds]]) agree that dynamic linking can create derived works but disagree over the circumstances.<ref>Linus Torvalds, [http://lkml.org/lkml/2006/12/17/79 GPL only modules], ''linux-kernel'' mailing list (17 December 2006).</ref> On the other hand, some experts have argued that the question is still open: one [[Novell]] lawyer has written that dynamic linking not being derivative "makes sense" but is not "clear-cut"<ref>Matt Asay, [http://www.novell.com/coolsolutions/feature/1532.html The GPL: Understanding the License that Governs Linux], ''Novel Cool Solutions Feature'' (16 Jan. 2004).</ref> and [[Lawrence Rosen]] has claimed that a court of law would "probably" exclude dynamic linking from derivative works although "there are also good arguments" on the other side and "the outcome is not clear"<ref>Lawrence Rosen, [http://www.linuxjournal.com/article/6366 Derivative Works], ''Linux Journal'' (1 Jan 2003).</ref> (on a later occasion, he argued that "market-based" factors are more important than the linking technique<ref>Lawrence Rosen, [http://www.rosenlaw.com/lj19.htm Derivative Works], ''rosenlaw.com'' (25 May 2004)</ref>). This is ultimately a question not of the GPL ''per se'', but of how copyright law defines derivative works. In ''[[Galoob v. Nintendo]]'' the [[Ninth Circuit Court of Appeals]] defined a derivative work as having "'form' or permanence" and noted that "the infringing work must incorporate a portion of the copyrighted work in some form," but there have been no clear court decisions to resolve this particular conflict.

Since there is no record of anyone circumventing the GPL by dynamic linking and contesting when threatened with lawsuits by the copyright holder, the restriction appears ''[[de facto]]'' enforceable even if not yet proven ''[[de jure]]''.

In 2002, MySQL AB sued Progress NuSphere for copyright and trademark infringement in [[U.S. District Court for the District of Massachusetts|United States district court]]. NuSphere had allegedly violated MySQL's copyright by linking code for the Gemini table type into the MySQL server. After a preliminary hearing before Judge [[Patti Saris]] on [[February 27]], [[2002]], the parties entered settlement talks and eventually settled. At the hearing, Judge Saris "saw no reason" that the GPL would not be enforceable.<ref>See ''Progress Software Corporation v. MySQL AB'', 195 F. Supp. 2d 328 (D. Mass. 2002), on defendant's motion for preliminary injunction.</ref>

In August 2003, the [[SCO Group]] stated that they believed the GPL to have no legal validity, and that they intended to take up lawsuits over sections of code supposedly copied from SCO Unix into the [[Linux kernel]]. This was a problematic stand for them, as they had distributed Linux and other GPLed code in their [[Caldera OpenLinux]] distribution, and there is little evidence that they had any legal right to do so except under the terms of the GPL. For more information, see [[SCO-Linux controversies]] and [[SCO v. IBM]].

In April 2004 the [[netfilter/iptables]] project was granted a preliminary [[injunction]] against Sitecom Germany by [[Munich]] District Court after Sitecom refused to desist from distributing Netfilter's GPLed software, allegedly in violation of the terms of the GPL. On July 2004 , the German court confirmed this injunction as a final ruling against Sitecom. <ref>[http://www.groklaw.net/article.php?story=20040725150736471 Harald Welte vs. Sitecom, final order, translated from German by Jens Maurer]</ref> The court's justification for its decision exactly mirrored the predictions given earlier by the FSF's [[Eben Moglen]]:

: ''Defendant has infringed on the copyright of plaintiff by offering the software 'netfilter/iptables' for download and by advertising its distribution, without adhering to the license conditions of the GPL. Said actions would only be permissible if defendant had a license grant... This is independent of the questions whether the licensing conditions of the GPL have been effectively agreed upon between plaintiff and defendant or not. If the GPL were not agreed upon by the parties, defendant would notwithstanding lack the necessary rights to copy, distribute, and make the software 'netfilter/iptables' publicly available.''

This ruling was important because it was the first time that a court had confirmed that violating terms of the GPL was an act of copyright violation. However, the case was not as crucial a test for the GPL as some have concluded. In the case, the enforceability of GPL itself was not under attack. Instead, the court was merely attempting to discern if the license itself was in effect.

In May of [[2005]], [[Wallace versus International Business Machines et al|Daniel Wallace]] filed suit against the [[Free Software Foundation]] (FSF) in the [[U.S. District Court for the Southern District of Indiana|Southern District of Indiana]], contending that the GPL is an illegal attempt to fix prices at zero. The suit was dismissed in March 2006, on the grounds that Wallace had failed to state a valid anti-trust claim; the court noted that "the GPL encourages, rather than discourages, free competition and the distribution of computer operating systems, the benefits of which directly pass to consumers."<ref name="groklawwallacevsfsfdismiss">[http://www.groklaw.net/pdf/WallaceFSFGrantingDismiss.pdf Dismissal] of Wallace v. FSF. From [http://www.groklaw.net/article.php?story=20060320201540127 this article] on Groklaw.</ref> Wallace was denied the possibility of further amending his complaint, and was ordered to pay the FSF's legal expenses.

On September 8, 2005, Seoul Central District Court ruled that GPL has no legal relevance concerning the case dealing with [[trade secret]] derived from GPL-licensed work.<ref>[http://korea.gnu.org/gv/sentence.html Seoul Central District Court ruling (?) (in Korean)]</ref> Defendants argued that since it is impossible to maintain trade secret while being compliant with GPL and distributing the work, they aren't in breach of trade secret. This argument was considered without ground.

On September 6, 2006, the [[gpl-violations.org]] project prevailed in court litigation against D-Link Germany GmbH regarding D-Link's alleged inappropriate and copyright infringing use of parts of the Linux Operating System Kernel.<ref>[http://gpl-violations.org/news/20060922-dlink-judgement_frankfurt.html http://gpl-violations.org/news/20060922-dlink-judgement_frankfurt.html]</ref> The judgment finally provided the on-record, legal precedent that the GPL is valid and legally binding, and that it will stand up in German court.<ref>[http://www.jbb.de/urteil_lg_muenchen_gpl.pdf D-Link Judgement]</ref>

== Compatibility and multi-licensing==
Many of the most common free software licenses, such as the original [[MIT License|MIT/X license]], the [[BSD license]] (in its current 3-clause form), and the [[GNU Lesser General Public License|LGPL]], are "GPL-[[License compatibility|compatible]]". That is, their code can be combined with a program under the GPL without conflict (the new combination would have the GPL applied to the whole). However, some free/open source software licenses are not GPL-compatible. Many GPL proponents have strongly advocated that free/open source software developers use only GPL-compatible licenses, because doing otherwise makes it difficult to reuse software in larger wholes. Note that this issue only arises in concurrent use of licenses which impose conditions on their manner of combination. Some licenses, such as the BSD license, impose no conditions on the manner of their combination.

Also see the [[list of FSF approved software licenses]] for examples of compatible and incompatible licenses.

A number of businesses use [[dual-licensing]] to distribute a GPL version and sell a [[proprietary software|proprietary]] license to companies wishing to combine the package with proprietary code, using dynamically linking or not. Examples of such companies include [[MySQL AB]], [[Trolltech]] ([[Qt (toolkit)|Qt toolkit]]), [[Namesys]] ([[ReiserFS]]) and [[Red Hat]] ([[Cygwin]]).

==Criticism==

In [[2001]] [[Microsoft]] [[CEO]] [[Steve Ballmer]] referred to Linux as "a cancer that attaches itself in an intellectual property sense to everything it touches."<ref>{{cite news
| first=Dave
| last=Newbart
| pages=
| title=Microsoft CEO takes launch break with the Sun-Times
| date=June 1, 2001
| publisher=Chicago Sun-Times
| url=http://web.archive.org/web/20010615205548/http://suntimes.com/output/tech/cst-fin-micro01.html
}}(Internet archive link)</ref> Critics of Microsoft claim that the real reason Microsoft dislikes the GPL is that the GPL resists proprietary vendors' attempts to "[[embrace, extend and extinguish]]".<ref>{{cite news
|url=http://www.economist.com/displayStory.cfm?Story_ID=298112
|title=Deadly embrace|publisher=The Economist
|date=[[2000-03-30]]
|accessdate=2006-03-31
}}</ref> Microsoft has released [[Microsoft Windows Services for UNIX]] which contains GPL-licensed code. In response to Microsoft's attacks on the GPL, several prominent Free Software developers and advocates released a joint statement supporting it. <ref>[http://www.perens.com/Articles/StandTogether.html Free Software Leaders Stand Together]</ref>

The GPL has been described as being [[Copyleft#Is copyleft .22viral.22.3F|"viral"]] by many of its critics, because the GPL terms require that all modified versions of the original software, or other software that [[GPL linking exception|links]] with the original GPL software must in turn be licensed under the GPL.<ref>"[http://www.microsoft.com/presspass/exec/craig/05-03sharedsource.mspx Speech Transcript - Craig Mundie, The New York University Stern School of Business]", ''Prepared Text of Remarks by Craig Mundie'', Microsoft Senior Vice President, The Commercial Software Model The New York University Stern School of Business May 3, 2001</ref> This is part of a [[BSD and GPL licensing|philosophical difference]] between the GPL and permissive free software licenses such as the [[BSD licenses|BSD-style licenses]], which do not put this requirement on modified versions. While proponents of the GPL believe that free software should ensure that its freedoms are preserved all the way from the developer to the user, others believe that intermediaries between the developer and the user should be free to redistribute the software as non-free software.

Whilst the GPL does allow commercial sale of GPL software it effectively fixes the price at zero since the purchasers may redistribute the software and its source code for free. Such price-fixing can be seen to inhibit commercial innovation or development by those wishing to retain their intellectual property - development is repeatedly forced to start from scratch since free software ultimately succumbs to the GPL. Microsoft has been known include anti-GPL license terms in their open source software<ref>http://www.theregister.co.uk/2002/04/17/microsoft_antigpl_fine_print_threatens/</ref> to combat this and retain their own license on the property.

In addition, the [[FreeBSD]] project has stated that "a less publicized and unintended use of the GPL is that it is very favorable to large companies that want to undercut software companies. In other words, the GPL is well suited for use as a marketing weapon, potentially reducing overall economic benefit and contributing to monopolistic behavior".<ref>[http://www.freebsd.org/doc/en_US.ISO8859-1/articles/bsdl-gpl/gpl-advantages.html GPL Advantages and Disadvantages]</ref>

The GPL has no [[Indemnity|indemnification]] clause explicitly protecting maintainers and developers from litigation resulting from unscrupulous contribution. (If a developer submits existing patented or copyright work to a GPL project claiming it as their own contribution, all the project maintainers and even other developers can be held legally responsible for damages to the copyright or patent holder.) Lack of indemnification is one criticism that lead Mozilla to create the [[Mozilla Public License]] rather than use the GPL or LGPL.{{Fact|date=October 2007}}

Some have also argued that the GPL could, and should, be shorter.<ref>{{cite web
|url=http://radar.oreilly.com/archives/2007/05/gplv3_clarity_a.html
|author=Allison Randal
|title=GPLv3, Clarity and Simplicity
|}}</ref>

==Common misconceptions==

; "If you use code licensed under the GPL, you have to release your program's source code no matter what." : The GPL does not actually ''force'' copyright owners to do anything with code simply for owning, using, or privately modifying it. The requirement to distribute source code only arises if the software is "distributed" to third parties.<ref>[http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic]</ref> If the resulting software is kept only for use by the modifier, no disclosure of source code is required. The GPL is automatically revoked upon any violation of its terms, but copyright owners of works licensed with the GPL ''are'' free to negotiate alternate terms with authors of derived works. Independent software consultant Ted Roche, among others, has noted that dual-licensing is becoming more common.<ref>Roche makes the point in [http://www.tedroche.com/Present/VFPOOoAutomation.htm FoxTalk], May 2003. Another consultant, Rich Voder, also makes the point in [http://www.mironov.com/articles/open_source_tree_museums/ Open Source: Tree Museums], Fri 12.30.2005.</ref> This is where software licensed under the GPL can be made available under a [[proprietary software]] license for a fee, allowing others to create derived works without licensing them under the GPL. This has long been the business model of [[MySQL AB]].
; "Software licensed under the GPL must be given away for free, it cannot be sold.": Technically untrue. The GPL expressly permits one to sell copies of GPL-covered works<ref>[http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney GPL FAQ: Does the GPL Allow Money?]</ref> and charge a download fee for them <ref>[http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowDownloadFee GPL FAQ: Does the GPL Allow a Download Fee?]</ref> - though there is nothing to prevent the first customer from redistributing the software themselves for free or on their own terms. Purchasing rather than downloading may make sense from a convenience standpoint, but it does not change either the purchaser's or vendor's rights or responsibilities under the GPL. In fact, licenses that only allow non-commercial distribution are automatically incompatible with the GPL.
; "Any software created with GPL tools must be released under the GPL.": The program must be GPL only if it includes GPL source code or it is linked with a GPL library. For example, using [[GNU Compiler Collection|gcc]] to compile proprietary software is allowed.

== See also ==
{{portal|Free software|Free Software Portal Logo.svg}}

* [[Dual license|Dual licensing]]
* [[GNU Lesser General Public License]]
* [[List of software licenses]]
* [[Permissive and copyleft licences]]

== References ==
{{reflist|2}}

== External links ==
{{Wikibooks|FOSS Licensing}}

* [http://www.netrino.com/Articles/OpenSource/ A quick guide to the licensing terminology in: Open Source Glossary]
* [http://www.sapnakumar.org/EnfGPL.pdf A paper on enforcing the GPL]
* [http://www.perens.com/Articles/StandTogether.html Free Software Leaders Stand Together], a joint statement in support of the GPL
* [http://www.gnu.org/licenses/gpl-faq.html Frequently Asked Questions about the GPL]
* [http://www.dwheeler.com/blog/2006/09/01/#gpl-bsd GPL, BSD, and NetBSD - why the GPL rocketed Linux to success] by David A. Wheeler
* [http://www.gnu.org/licenses/old-licenses/gpl-1.0.txt GNU General Public License v1.0] - This version is [[deprecation|deprecated]] by the FSF.
* [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt GNU General Public License v2.0] - This version is [[deprecation|deprecated]] by the FSF but still widely accepted.
* [http://www.gnu.org/licenses/gpl-3.0.txt GNU General Public License v3.0]
* [http://www.rattlesnake.com/software-law/GNU-GPL-and-Commentaries.html GNU General Public License and Commentaries] - Edited by [[Robert Chassell]].
* [http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License v2.1]
* [http://www.free-soft.org/gpl_history/ History of the GPL]
* [http://gpl3.palamida.com Information Site Tracking Rate of GPL v3 License Adoption]
* [http://www.netrino.com/Articles/LinuxLaw/ Linux and the Law]
* [http://fsfe.org/transcripts#licences List of presentation transcripts about the GPL and free software licences]
* [http://www.dwheeler.com/essays/gpl-compatible.html Make Your Open Source Software GPL-Compatible. Or Else.] (David A. Wheeler, [[7 April]] [[2004]]) &mdash; why a GPL-compatible license is important to the health of a project
* [http://www.free-soft.org/gpl_history/emacs_gpl.html The Emacs General Public Licence], a February 1988 version, a direct predecessor of the GNU GPL

{{GNU}}

[[Category:Computer law]]
[[Category:Free content licenses]]
[[Category:Free software licenses]]
[[Category:GNU project]]
[[Category:Open source licenses]]
[[Category:Copyleft licensing]]

[[af:GNU Algemene Publieke Lisensie]]
[[ar:رخصة جنو العمومية]]
[[bg:GNU General Public License]]
[[ca:GPL]]
[[cs:GNU General Public License]]
[[cy:Trwydded Gyhoeddus Gyffredinol GNU]]
[[da:GNU General Public License]]
[[de:GNU General Public License]]
[[et:GNU GPL]]
[[el:GNU General Public License]]
[[es:GNU GPL]]
[[eo:GPL]]
[[eu:GNU General Public License]]
[[fa:اجازه‌نامه عمومی همگانی گنو]]
[[fr:Licence publique générale GNU]]
[[gl:General Public License]]
[[ko:GNU 일반 공중 사용 허가서]]
[[ilo:GPL]]
[[id:Lisensi Publik Umum GNU]]
[[ia:Wikipedia:Licentia Public General de GNU]]
[[it:GNU General Public License]]
[[he:הרישיון הציבורי הכללי של גנו]]
[[ka:GNU General Public License]]
[[ku:Wîkîpediya:Lîsansa Gelempera Giştî ya GNU]]
[[lt:GNU GPL]]
[[hu:GNU General Public License]]
[[ml:ഗ്നൂ സാര്‍വ്വജനിക അനുവാദപത്രം]]
[[ms:Lesen Awam Am GNU]]
[[nl:GNU General Public License]]
[[ja:GNU General Public License]]
[[no:GNU General Public License]]
[[nn:GNU General Public License]]
[[pl:GNU General Public License]]
[[pt:GNU General Public License]]
[[ro:GNU GPL]]
[[ru:GNU General Public License]]
[[simple:General Public License]]
[[sk:GNU General Public License]]
[[sl:GNU General Public License]]
[[sr:ГНУ-ова општа јавна лиценца]]
[[fi:GNU GPL]]
[[sv:GNU General Public License]]
[[tl:GNU General Public License]]
[[th:GNU General Public License]]
[[vi:Giấy phép Công cộng GNU]]
[[tr:GNU Genel Kamu Lisansı]]
[[uk:GNU General Public License]]
[[zh:GNU通用公共许可证]]

Revision as of 13:31, 21 November 2007

GNU General Public License
The GNU logo
AuthorFree Software Foundation
Latest version3
PublisherFree Software Foundation, Inc.
Published29 June 2007
Debian FSG compatibleYes
FSF approvedYes
OSI approvedYes
GPL compatibleYes
CopyleftYes
Linking from code with a different licenceNo
Websitewww.gnu.org/licenses/gpl.html Edit this on Wikidata

The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license, originally written by Richard Stallman for the GNU project. It is the license used by the Linux kernel. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft. Under this philosophy, the GPL is said to grant the recipients of a computer program the rights of the free software definition and uses copyleft to ensure the freedoms are preserved, even when the work is changed or added to. This is in distinction to permissive free software licences, of which the BSD licenses are the standard examples.

The GNU Lesser General Public License (LGPL) is a modified, more permissive, version of the GPL, intended for some software libraries. There is also a GNU Free Documentation License, which was originally intended for use with documentation for GNU software, but has also been adopted for other uses, such as the Wikipedia project.

History

The GPL was written by Richard Stallman in 1989 for use with programs released as part of the GNU project. The original GPL was based on a unification of similar licenses used for early versions of GNU Emacs, the GNU Debugger and the GNU Compiler Collection. These licenses contained similar provisions to the modern GPL, but were specific to each program, rendering them incompatible, despite being the same license.[1] Stallman's goal was to produce one license that could be used for any project, thus making it possible for many projects to share code.

An important vote of confidence in the GPL came from Linus Torvalds' adoption of the license for the Linux kernel in 1992, switching from an earlier license that prohibited commercial distribution.

As of August 2007, the GPL accounted for nearly 65% of the 43,442 free software projects listed on Freshmeat,[2] and as of January 2006, about 68% of the projects listed on SourceForge.net.[3] Similarly, a 2001 survey of Red Hat Linux 7.1 found that 50% of the source code was licensed under the GPL[4] and a 1997 survey of MetaLab, then the largest free software archive, showed that the GPL accounted for about half of the licenses used. One survey of a large repository of open-source software reported that in July 1997, about half the software packages with explicit license terms used the GPL.[5] Prominent free software programs licensed under the GPL include the Linux kernel and the GNU Compiler Collection (GCC). Some other free software programs are dual-licensed under multiple licenses, often with one of the licenses being the GPL.

Some observers believe that the strong copyleft provided by the GPL was crucial to the success of Linux, giving the programmers who contributed to it the confidence that their work would benefit the whole world and remain free, rather than being exploited by software companies that would not have to give anything back to the community.[6]

The second version of the license, version 2, was released in 1991. Over the following 15 years, some members of the FOSS (Free and Open Source Software) community came to believe that some software and hardware vendors were finding loopholes in the GPL, allowing GPL-licensed software to be exploited in ways that were contrary to the intentions of the programmers. These concerns included tivoization (the inclusion of GPL-licensed software in hardware that will refuse to run modified versions of it); the use of unpublished, modified versions of GPL software behind web interfaces; and patent deals between Microsoft and Linux and Unix distributors that may represent an attempt to use patents as a weapon against competition from Linux.

Version 3 was developed to attempt to address these concerns. It was officially released on June 29, 2007.

Versions

Version 1

Version 1 of the GNU GPL, released in January 1989, prevented what were then the two main ways that software distributors restricted the freedoms that define free software. The first problem was that distributors may publish binary files only – executable, but not readable or modifiable by humans. To prevent this, GPLv1 said that any vendor distributing binaries must also make the human readable source code available under the same licensing terms.

The second problem was the distributors might add additional restrictions, either by adding restrictions to the license, or by combining the software with other software which had other restrictions on its distribution. If this was done, then the union of the two sets of restrictions would apply to the combined work, thus unacceptable restrictions could be added. To prevent this, GPLv1 said that modified versions, as a whole, had to be distributed under the terms in GPLv1. Therefore, software distributed under the terms of GPLv1 could be combined with software under more permissive terms, as this would not change the terms under which the whole could be distributed, but software distributed under GPLv1 could not be combined with software distributed under a more restrictive license, as this would conflict with the requirement that the whole be distributable under the terms of GPLv1.

Version 2

According to Richard Stallman, the major change in GPLv2 was the "Liberty or Death" clause, as he calls it - Section 7.[7] This section says that if someone has restrictions imposed that prevent him or her from distributing GPL-covered software in a way that respects other users' freedom (for example, if a legal ruling states that he or she can only distribute the software in binary form), he or she cannot distribute it at all.

By 1990, it was becoming apparent that a less restrictive license would be strategically useful for some software libraries; when version 2 of the GPL (GPLv2) was released in June 1991, therefore, a second license - the Library General Public License (LGPL) was introduced at the same time and numbered with version 2 to show that both were complementary. The version numbers diverged in 1999 when version 2.1 of the LGPL was released, which renamed it the GNU Lesser General Public License to reflect its place in the GNU philosophy.

Version 3

Version 3 of the GNU GPL, or GPLv3, was released on June 29, 2007 after a nearly two-year public comment process on earlier drafts. Compared to version 2, GPLv3 contained expanded efforts to address software patents, hardware restrictions on software modification ("tivoization"), compatibility [citation needed] with other free software licenses, and internationalization, as well as many other changes involving such issues as how license violations are handled and how additional permissions can be granted by the copyright holder.

In late 2005, the Free Software Foundation (FSF) announced work on version 3 of the GPL (GPLv3). On January 16, 2006, the first "discussion draft" of GPLv3 was published, and a public consultation began which lasted for approximately a year and a half. The FSF officially released the final version of GPLv3 on June 29, 2007; see [5] for the full text.

GPLv3 was written by Richard Stallman, with legal counsel from Eben Moglen and Software Freedom Law Center.[8]

Stallman's summary of important changes proposed in the first draft included handling software patent issues, free software license compatibility, the definition of "source code", and tivoization.[8] Other notable changes include allowing authors to add certain additional restrictions and requirements to their contributions.

One of those new optional restrictions, sometimes referred to as the Affero clause, is intended to plug a web-publishing loophole; the permitting of this optional restriction is meant to make it permitted to modify GPLv3 to be compatible with the Affero General Public License.

The public consultation process was coordinated by the Free Software Foundation with assistance from Software Freedom Law Center, Free Software Foundation Europe, and other free software groups. Comments were collected from the public via the gplv3.fsf.org web portal. That portal runs purpose-written software called stet. These comments were passed to four committees comprising approximately 130 people, including supporters and detractors of FSF's goals. Those committees researched the comments submitted by the public and passed their summaries to Stallman for a decision on what the license would do.

Unofficial diffs between version 2 and the v3 draft 1 were released by Groklaw.[9].

During the public consultation process, 1,000 comments were submitted for the first draft, and, as of March 2007, 681 comments had been submitted for the second draft. Diffs between draft 1 and draft 2 were made available by FSF[10] and by FSFE.[11]

A third draft was released on March 28, 2007[12]. This draft included language intended to prevent patent cross-licenses like the controversial Microsoft-Novell patent agreement and restricts the anti-tivoization clauses to the legal definition of a "User" or "consumer product." It also explicitly removed the section on "Geographical Limitations" that was planned to be removed in earlier drafts, but was in the drafts nonetheless. An unofficial diff can be found here. Notably, the final discussion draft[13] of the GPLv3, released on May 31, 2007, introduced Apache Software License compatibility, clarified the role of outside contractors, and while grandfathering the Microsoft-Novell agreement, the sixth paragraph of section 11 requires that "You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license [...]", which should make future deals of this form ineffective. The license is also meant to require Microsoft to extend the patent licenses it grants to Novell customers for the use of GPLv3 software to all users of that GPLv3 software; this is possible only if Microsoft is legally a "conveyor" of the GPLv3 software.[14][15]

Others, notably some high-profile developers of the Linux kernel, commented to the mass media and made public statements about their objections to parts of discussion drafts 1 and 2.[16].

Terms and conditions

The terms and conditions of the GPL are available to anybody receiving a copy of the work that has a GPL applied to it ("the licensee"). Any licensee who adheres to the terms and conditions is given permission to modify the work, as well as to copy and redistribute the work or any derivative version. The licensee is allowed to charge a fee for this service, or do this free of charge. This latter point distinguishes the GPL from software licenses that prohibit commercial redistribution. The FSF argues that free software should not place restrictions on commercial use,[17] and the GPL explicitly states that GPL works may be sold at any price.

The GPL additionally states that a distributor may not impose "further restrictions on the rights granted by the GPL". This forbids activities such as distributing of the software under a non-disclosure agreement or contract. Distributors under the GPL also grant a license for any of their patents practiced by the software, to practice those patents in GPL software.

Section three of the license requires that programs distributed as pre-compiled binaries are accompanied by a copy of the source code, a written offer to distribute the source code via the same mechanism as the pre-compiled binary or the written offer to obtain the source code that you got when you received the pre-compiled binary under the GPL.

Copyleft

The GPL does not give the licensee unlimited redistribution rights. The right to redistribute is granted only if the distribution is licensed under the terms of the GPL and includes, or unconditionally offers to include at the moment of distribution, the source code.

This requirement is known as copyleft. It earns its legal power from the use of copyright on software programs. Because a GPL work is copyrighted, a licensee has no right to modify or redistribute it (barring fair use), except under the terms of the license. One is only required to adhere to the terms of the GPL if one wishes to exercise rights normally restricted by copyright law, such as redistribution. Conversely, if one distributes copies of the work without abiding by the terms of the GPL (for instance, by keeping the source code secret), he or she can be sued by the original author under copyright law.

Copyleft thus uses copyright law to accomplish the opposite of its usual purpose: instead of imposing restrictions, it grants rights to other people, in a way that ensures the rights cannot subsequently be taken away. This is the reason the GPL has been described as a "copyright hack". It also ensures that unlimited redistribution rights are not granted, should any legal flaw (or "bug") be found in the copyleft statement.

Many distributors of GPLed programs bundle the source code with the executables. An alternative method of satisfying the copyleft is to provide a written offer to provide the source code on a physical medium (such as a CD) upon request. In practice, many GPLed programs are distributed over the Internet, and the source code is made available over FTP. For Internet distribution, this complies with the license.

Copyleft only applies when a person seeks to redistribute the program. One is allowed to make private modified versions, without any obligation to divulge the modifications as long as the modified software is not distributed to anyone else. Note that the copyleft only applies to the software and not to its output (unless that output is itself a derivative work of the program); for example, a public web portal running a modified derivative of a GPLed content management system is not required to distribute its changes to the underlying software.

Licensing and contractual issues

The GPL was designed as a license, rather than a contract.[18][19] In some Common Law jurisdictions, the legal distinction between a license and a contract is an important one: contracts are enforceable by contract law, whereas licences are enforced under copyright law. However, this distinction is not useful in the many jurisdictions where there are no differences between contracts and licenses, such as Civil Law systems.[20]

Those who do not abide by or agree to the GPL's terms and conditions do not have permission, under copyright law, to copy or distribute GPL licensed software or derivative works. However, they may still use the software however they like.

The text of the GPL is itself copyrighted, and the copyright is held by the Free Software Foundation (FSF). However, the FSF does not hold the copyright for a work released under the GPL, unless an author explicitly assigns copyrights to the FSF (which seldom happens except for programs that are part of the GNU project). Only the individual copyright holders have the authority to sue when a license violation takes place.

The FSF permits people to create new licenses based on the GPL, as long as the derived licenses do not use the GPL preamble without permission. This is discouraged, however, since such a license is generally incompatible with the GPL.[21] (See the GPL FAQ for more information.)

Other licenses created by the GNU project include the GNU Lesser General Public License and the GNU Free Documentation License.

The GPL in court

A key dispute related to the GPL is whether or not non-GPL software can dynamically link to GPL libraries. The GPL is clear in requiring that all derivative works of GPLed code must themselves be GPLed. However, it is not clear whether an executable that dynamically links to a GPL code should be considered a derivative work. The free/open-source software community is split on this issue. The FSF asserts that such an executable is indeed a derivative work if the executable and GPL code "make function calls to each other and share data structures,"[22] with others agreeing,[23] while some (e.g. Linus Torvalds) agree that dynamic linking can create derived works but disagree over the circumstances.[24] On the other hand, some experts have argued that the question is still open: one Novell lawyer has written that dynamic linking not being derivative "makes sense" but is not "clear-cut"[25] and Lawrence Rosen has claimed that a court of law would "probably" exclude dynamic linking from derivative works although "there are also good arguments" on the other side and "the outcome is not clear"[26] (on a later occasion, he argued that "market-based" factors are more important than the linking technique[27]). This is ultimately a question not of the GPL per se, but of how copyright law defines derivative works. In Galoob v. Nintendo the Ninth Circuit Court of Appeals defined a derivative work as having "'form' or permanence" and noted that "the infringing work must incorporate a portion of the copyrighted work in some form," but there have been no clear court decisions to resolve this particular conflict.

Since there is no record of anyone circumventing the GPL by dynamic linking and contesting when threatened with lawsuits by the copyright holder, the restriction appears de facto enforceable even if not yet proven de jure.

In 2002, MySQL AB sued Progress NuSphere for copyright and trademark infringement in United States district court. NuSphere had allegedly violated MySQL's copyright by linking code for the Gemini table type into the MySQL server. After a preliminary hearing before Judge Patti Saris on February 27, 2002, the parties entered settlement talks and eventually settled. At the hearing, Judge Saris "saw no reason" that the GPL would not be enforceable.[28]

In August 2003, the SCO Group stated that they believed the GPL to have no legal validity, and that they intended to take up lawsuits over sections of code supposedly copied from SCO Unix into the Linux kernel. This was a problematic stand for them, as they had distributed Linux and other GPLed code in their Caldera OpenLinux distribution, and there is little evidence that they had any legal right to do so except under the terms of the GPL. For more information, see SCO-Linux controversies and SCO v. IBM.

In April 2004 the netfilter/iptables project was granted a preliminary injunction against Sitecom Germany by Munich District Court after Sitecom refused to desist from distributing Netfilter's GPLed software, allegedly in violation of the terms of the GPL. On July 2004 , the German court confirmed this injunction as a final ruling against Sitecom. [29] The court's justification for its decision exactly mirrored the predictions given earlier by the FSF's Eben Moglen:

Defendant has infringed on the copyright of plaintiff by offering the software 'netfilter/iptables' for download and by advertising its distribution, without adhering to the license conditions of the GPL. Said actions would only be permissible if defendant had a license grant... This is independent of the questions whether the licensing conditions of the GPL have been effectively agreed upon between plaintiff and defendant or not. If the GPL were not agreed upon by the parties, defendant would notwithstanding lack the necessary rights to copy, distribute, and make the software 'netfilter/iptables' publicly available.

This ruling was important because it was the first time that a court had confirmed that violating terms of the GPL was an act of copyright violation. However, the case was not as crucial a test for the GPL as some have concluded. In the case, the enforceability of GPL itself was not under attack. Instead, the court was merely attempting to discern if the license itself was in effect.

In May of 2005, Daniel Wallace filed suit against the Free Software Foundation (FSF) in the Southern District of Indiana, contending that the GPL is an illegal attempt to fix prices at zero. The suit was dismissed in March 2006, on the grounds that Wallace had failed to state a valid anti-trust claim; the court noted that "the GPL encourages, rather than discourages, free competition and the distribution of computer operating systems, the benefits of which directly pass to consumers."[30] Wallace was denied the possibility of further amending his complaint, and was ordered to pay the FSF's legal expenses.

On September 8, 2005, Seoul Central District Court ruled that GPL has no legal relevance concerning the case dealing with trade secret derived from GPL-licensed work.[31] Defendants argued that since it is impossible to maintain trade secret while being compliant with GPL and distributing the work, they aren't in breach of trade secret. This argument was considered without ground.

On September 6, 2006, the gpl-violations.org project prevailed in court litigation against D-Link Germany GmbH regarding D-Link's alleged inappropriate and copyright infringing use of parts of the Linux Operating System Kernel.[32] The judgment finally provided the on-record, legal precedent that the GPL is valid and legally binding, and that it will stand up in German court.[33]

Compatibility and multi-licensing

Many of the most common free software licenses, such as the original MIT/X license, the BSD license (in its current 3-clause form), and the LGPL, are "GPL-compatible". That is, their code can be combined with a program under the GPL without conflict (the new combination would have the GPL applied to the whole). However, some free/open source software licenses are not GPL-compatible. Many GPL proponents have strongly advocated that free/open source software developers use only GPL-compatible licenses, because doing otherwise makes it difficult to reuse software in larger wholes. Note that this issue only arises in concurrent use of licenses which impose conditions on their manner of combination. Some licenses, such as the BSD license, impose no conditions on the manner of their combination.

Also see the list of FSF approved software licenses for examples of compatible and incompatible licenses.

A number of businesses use dual-licensing to distribute a GPL version and sell a proprietary license to companies wishing to combine the package with proprietary code, using dynamically linking or not. Examples of such companies include MySQL AB, Trolltech (Qt toolkit), Namesys (ReiserFS) and Red Hat (Cygwin).

Criticism

In 2001 Microsoft CEO Steve Ballmer referred to Linux as "a cancer that attaches itself in an intellectual property sense to everything it touches."[34] Critics of Microsoft claim that the real reason Microsoft dislikes the GPL is that the GPL resists proprietary vendors' attempts to "embrace, extend and extinguish".[35] Microsoft has released Microsoft Windows Services for UNIX which contains GPL-licensed code. In response to Microsoft's attacks on the GPL, several prominent Free Software developers and advocates released a joint statement supporting it. [36]

The GPL has been described as being "viral" by many of its critics, because the GPL terms require that all modified versions of the original software, or other software that links with the original GPL software must in turn be licensed under the GPL.[37] This is part of a philosophical difference between the GPL and permissive free software licenses such as the BSD-style licenses, which do not put this requirement on modified versions. While proponents of the GPL believe that free software should ensure that its freedoms are preserved all the way from the developer to the user, others believe that intermediaries between the developer and the user should be free to redistribute the software as non-free software.

Whilst the GPL does allow commercial sale of GPL software it effectively fixes the price at zero since the purchasers may redistribute the software and its source code for free. Such price-fixing can be seen to inhibit commercial innovation or development by those wishing to retain their intellectual property - development is repeatedly forced to start from scratch since free software ultimately succumbs to the GPL. Microsoft has been known include anti-GPL license terms in their open source software[38] to combat this and retain their own license on the property.

In addition, the FreeBSD project has stated that "a less publicized and unintended use of the GPL is that it is very favorable to large companies that want to undercut software companies. In other words, the GPL is well suited for use as a marketing weapon, potentially reducing overall economic benefit and contributing to monopolistic behavior".[39]

The GPL has no indemnification clause explicitly protecting maintainers and developers from litigation resulting from unscrupulous contribution. (If a developer submits existing patented or copyright work to a GPL project claiming it as their own contribution, all the project maintainers and even other developers can be held legally responsible for damages to the copyright or patent holder.) Lack of indemnification is one criticism that lead Mozilla to create the Mozilla Public License rather than use the GPL or LGPL.[citation needed]

Some have also argued that the GPL could, and should, be shorter.[40]

Common misconceptions

"If you use code licensed under the GPL, you have to release your program's source code no matter what."
The GPL does not actually force copyright owners to do anything with code simply for owning, using, or privately modifying it. The requirement to distribute source code only arises if the software is "distributed" to third parties.[41] If the resulting software is kept only for use by the modifier, no disclosure of source code is required. The GPL is automatically revoked upon any violation of its terms, but copyright owners of works licensed with the GPL are free to negotiate alternate terms with authors of derived works. Independent software consultant Ted Roche, among others, has noted that dual-licensing is becoming more common.[42] This is where software licensed under the GPL can be made available under a proprietary software license for a fee, allowing others to create derived works without licensing them under the GPL. This has long been the business model of MySQL AB.
"Software licensed under the GPL must be given away for free, it cannot be sold."
Technically untrue. The GPL expressly permits one to sell copies of GPL-covered works[43] and charge a download fee for them [44] - though there is nothing to prevent the first customer from redistributing the software themselves for free or on their own terms. Purchasing rather than downloading may make sense from a convenience standpoint, but it does not change either the purchaser's or vendor's rights or responsibilities under the GPL. In fact, licenses that only allow non-commercial distribution are automatically incompatible with the GPL.
"Any software created with GPL tools must be released under the GPL."
The program must be GPL only if it includes GPL source code or it is linked with a GPL library. For example, using gcc to compile proprietary software is allowed.

See also

References

  1. ^ Presentation by Richard Stallman, made on April 21, 2006, at the second international GPLv3 conference, held in Porto Alegre. Direct link to the section about the prehistory of the GPL.
  2. ^ "Freshmeat's statistics page". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  3. ^ http://www.dwheeler.com/frozen/sourceforge-stats-20031110.html
  4. ^ David A. Wheeler. "Estimating Linux's Size". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  5. ^ Eric S. Raymond’s "Homesteading the Noosphere," referenced in Make Your Open Source Software GPL-Compatible. Or Else By David A. Wheeler
  6. ^ "why the GPL rocketed Linux to success". So while the BSDs have lost energy every time a company gets involved, the GPL'ed programs gain every time a company gets involved. {{cite web}}: Cite has empty unknown parameter: |1= (help)
  7. ^ Presentation by Richard Stallman, made on April 21 2006, at the second international GPLv3 conference, held in Porto Alegre. Direct link to the section about the "Liberty or Death" clause.
  8. ^ a b Presentation by Richard Stallman on February 25, 2006 in Brussels, Belgium - the first day of that year's FOSDEM conference.
  9. ^ At Your Request, the GPLv2-GPL3 Chart
  10. ^ http://gplv3.fsf.org/gpl3-dd1to2-markup-rationale.pdf
  11. ^ http://www.fsfeurope.org/projects/gplv3/diff-draft1-draft2.en.html
  12. ^ [1]
  13. ^ [2] Final Discussion Draft, accessed June 4, 2007
  14. ^ [3] GPLv3 FAQ, accessed June 4, 2007. This is from the FAQ instead of the license, for readability purposes.
  15. ^ [4] Fourth Discussion Draft Rationale, accessed June 4, 2007.
  16. ^ Kernel developers' position on GPLv3 -- http://lwn.net/Articles/200422/, accessed June 4, 2007
  17. ^ "Selling Free Software". Free Software Foundation.
  18. ^ "Essay by Stallman explaining why a license is more suitable than a contract". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  19. ^ "Eben Moglen explaining why the GPL is a licence and why it matters". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  20. ^ Guadamuz-Gonzalez, Andres (2004). "Viral contracts or unenforceable documents? Contractual validity of copyleft licenses". European Intellectual Property Review. 26 (8): 331–339. {{cite journal}}: Check date values in: |date= (help)
  21. ^ "GPL FAQ: Can I modify the GPL and make a modified license?". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  22. ^ Can I apply the GPL when writing a plug-in for a non-free program?, GPL FAQ, Free Software Foundation.
  23. ^ Jerry Epplin, Using GPL software in embedded applications, LinuxDevices.com (4 March 2001).
  24. ^ Linus Torvalds, GPL only modules, linux-kernel mailing list (17 December 2006).
  25. ^ Matt Asay, The GPL: Understanding the License that Governs Linux, Novel Cool Solutions Feature (16 Jan. 2004).
  26. ^ Lawrence Rosen, Derivative Works, Linux Journal (1 Jan 2003).
  27. ^ Lawrence Rosen, Derivative Works, rosenlaw.com (25 May 2004)
  28. ^ See Progress Software Corporation v. MySQL AB, 195 F. Supp. 2d 328 (D. Mass. 2002), on defendant's motion for preliminary injunction.
  29. ^ Harald Welte vs. Sitecom, final order, translated from German by Jens Maurer
  30. ^ Dismissal of Wallace v. FSF. From this article on Groklaw.
  31. ^ Seoul Central District Court ruling (?) (in Korean)
  32. ^ http://gpl-violations.org/news/20060922-dlink-judgement_frankfurt.html
  33. ^ D-Link Judgement
  34. ^ Newbart, Dave (June 1, 2001). "Microsoft CEO takes launch break with the Sun-Times". Chicago Sun-Times.(Internet archive link)
  35. ^ "Deadly embrace". The Economist. 2000-03-30. Retrieved 2006-03-31. {{cite news}}: Check date values in: |date= (help)
  36. ^ Free Software Leaders Stand Together
  37. ^ "Speech Transcript - Craig Mundie, The New York University Stern School of Business", Prepared Text of Remarks by Craig Mundie, Microsoft Senior Vice President, The Commercial Software Model The New York University Stern School of Business May 3, 2001
  38. ^ http://www.theregister.co.uk/2002/04/17/microsoft_antigpl_fine_print_threatens/
  39. ^ GPL Advantages and Disadvantages
  40. ^ Allison Randal. "GPLv3, Clarity and Simplicity". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  41. ^ http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic
  42. ^ Roche makes the point in FoxTalk, May 2003. Another consultant, Rich Voder, also makes the point in Open Source: Tree Museums, Fri 12.30.2005.
  43. ^ GPL FAQ: Does the GPL Allow Money?
  44. ^ GPL FAQ: Does the GPL Allow a Download Fee?