On June 29, 2007, the Free Software Foundation ("FSF") published version 3 of the GNU General Public License ("GPLv3"). GPLv3 is a complete rewrite of version 2 of the GPL ("GPLv2"), which is the most popular "open source" or "free software" license. Spanning fourteen pages in length, GPLv3 requires careful review and consideration by companies deciding whether to adopt GPLv3 for their own code or whether to use or distribute code covered by GPLv3.

After several weeks since publication, the level of adoption of GPLv3 is still evolving, and its ultimate impact remains to be seen. As of July 23, 2007, 212 GPLv2 projects had converted to GPLv3, in contrast to 2,837 projects that continue to be licensed under GPLv2, according to software risk management solutions provider Palamida, Inc., and important projects, such as the Linux kernel, appear unlikely to adopt GPLv3 any time soon. While the circumstances of each company and project should dictate decisions about GPLv3, this Alert identifies several key points of consideration. It is not a substitute for reading the license, and it paraphrases important provisions in order to succinctly illustrate these points.

Clarity Of Terms

Despite GPLv3’s length, the clarity of language and internal consistency in the license have improved over GPLv2. This should make it easier for counsel to advise their clients about the meaning of GPLv3. However, in its efforts to internationalize GPLv3, the FSF created new terminology different from the language of U.S. copyright law. Three terms defined in Section 0 and quoted below are especially relevant to the discussion in this Alert:

  • Modify. "To ‘modify’ a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work."
  • Propagate. "To ‘propagate’ a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), and making available to the public, and in some countries other activities as well."
  • Convey. "To ‘convey’ a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying."

Free, Copyleft Software License

GPLv3’s basic intent remains the same as GPLv2: providing a free software license with strong copyleft features. Simply put, copyleft under GPLv3 means that if a licensee modifies and conveys GPLv3 code, then the licensee must release the source code for the modified version. The principal copyleft terms of GPLv3 are found in Sections 5 and 6. Interpretation issues in GPLv2 regarding linking, plug-ins, and other forms of software interoperation largely remain under GPLv3.

Software Patents

GPLv3 deals with patents in greater detail than GPLv2. Two provisions in particular, found in Sections 10 and 11, are likely to be especially relevant to most licensees.

First, if the licensee conveys a copy of GPL-covered work as a distributor, then the licensee must not assert any patents infringed by the code the licensee conveys. The licensee may neither impose a patent royalty nor initiate patent infringement litigation. This provision is functionally very similar to "patent retaliation" clauses in other popular licenses such as the Apache 2.0 License and Mozilla Public License. If the licensee asserts patent rights in violation of the clause, the licensee’s rights under GPLv3 are subject to termination.

The second provision requires more from the licensee, although it applies in narrower circumstances. If the licensee modifies GPLv3 code and conveys the modified version as a contributor, then the licensee grants a nonexclusive, worldwide, royalty-free patent license to all of the licensee’s essential patents claims in the entire modified version as a whole. The licensee’s "essential patent claims" under GPLv3 do not include claims the licensee does not own and control, claims not infringed by making, using, or selling the program, or claims that would only become infringed by further modification of the program. However, it is not entirely clear under GPLv3 whether these essential patent claims include licensed claims for which the licensee owes a royalty for sublicensing.

Additional Terms And Affero GPL

One new feature of GPLv3 is the ability under Section 7 for licensees to add additional permissions and certain enumerated types of additional restrictions for code they convey. This provision will be useful for projects releasing their own code under GPLv3 and will help mitigate some license compatibility issues. The additional restrictions permitted under Section 7 are limited to the following:

  • Disclaiming warranty or limiting liability differently than the text of GPLv3
  • Requiring preservation of specified reasonable legal notices or author attributions
  • Prohibiting misrepresentation of material’s origin
  • Limiting use of names of licensors and authors for publicity purposes
  • Declining to grant trademark licenses; and
  • Requiring indemnification of licensors and authors by conveyors who add contractual assumptions of liability

One question during the drafting process of GPLv3 was whether it would close the "ASP loophole" under GPLv2, which allows licensees who create modified versions of GPL code to provide access to the modified versions as an online service without releasing the source code of those modified versions. GPLv3 ultimately did not modify this feature of GPLv2, as conveying does not include the mere execution of the code. However, GPLv3 does include a clause for compatibility of GPLv3 with the Affero General Public License ("AGPLv3"). AGPLv3 is still in draft form, but like the current version of the Affero GPL, its purpose is to impose copyleft on modified versions made available for use over a network. Section 13 of GPLv3 gives express permission to link or combine any GPLv3-covered work with a work licensed under AGPLv3 into a single combined work, and to convey the resulting work. GPLv3 will continue applying to the relevant part of the combined work, while AGPLv3’s special requirements will apply to the combination as such.

Anti-DRM Provisions

Some of the most controversial provisions of GPLv3 during the drafting process were those dealing with digital rights management ("DRM") and controls on installing modified software on hardware products. The FSF is opposed to DRM and these controls on philosophical grounds, and it has included provisions in GPLv3 making it difficult or impossible for licensees to employ these technologies while utilizing GPLv3 code. In practice, these provisions will have significant impacts on some licensees but will be irrelevant to many.

First, GPLv3 states in Section 3 that a work covered by GPLv3 will not be part of an "effective technological measure" under the U.S. Digital Millennium Copyright Act or similar laws in other countries. This results in a waiver by GPLv3 licensors of the protections against DRM circumvention contained in the Digital Millennium Copyright Act of 1998.

Second, GPLv3 contains provisions aimed at companies that sell consumer products with technological restrictions on installing modified copies of the GPLv3 code they contain. The provisions are somewhat dense and require careful review, but essentially licensees who convey GPLv3-covered code in a "User Product" (as defined) must include "Installation Information" (as defined) to enable the recipient to install and execute modified versions of the GPLv3 code that is provided with the product.

Addressing The Microsoft/Novell Deal

GPLv3 contains another major provision driven by the FSF’s philosophical goals. Microsoft alleges that Linux operating system infringes 235 of its patents. Under GPLv2, a licensee who received a patent license from a third party covering GPL code and distributed that code would have to extend the license royalty-free to all recipients of the code. Microsoft and Linux distributor Novell structured a deal designed to avoid this GPLv2 feature, under which: Novell Linux customers receive a covenant not to sue directly from Microsoft, the parties agreed to make certain payments to one another, and Microsoft has the right to distribute "coupons" redeemable for Novell Linux support.

In GPLv3, the FSF included several provisions designed to thwart the Microsoft/Novell transaction and other similar deals. GPLv3 includes a provision in Section 11 providing that if a patent holder (such as Microsoft) distributes GPLv3 code but only grants a patent license to some of the parties receiving the covered work, then the discriminatory patent promise is automatically extended to all recipients of the covered work. The effectiveness of this provision would appear to rest on whether or not Microsoft’s distribution of coupons under the Microsoft/Novell deal would constitute a distribution or other infringement under copyright law for which Microsoft would need a license under the GPL. Not surprisingly, Microsoft has contested this notion, but has also taken steps to restrict its actions to code covered only by GPLv2. Section 11 also provides that a GPLv3 licensee (such as Novell) terminates its license rights if it enters into royalty-like deals akin to the Microsoft/Novell deal, unless it entered into the deal before March 28, 2007. The Microsoft/Novell deal was concluded prior to this date, so this paragraph of Section 11 does not apply to that transaction.

Time will tell how widely GPLv3 will be adopted by licensors, but already several important projects are licensed under GPLv3, and we expect that it will gradually grow in importance. This alert identifies several key aspects of the license for consideration, and application in particular circumstances will surely raise others. The attorneys at Cooley Godward Kronish have broad experience advising clients about open source licensing models, including license selection as well as license-compliance and compatibility issues.

The content of this article is intended to provide a general guide to the subject matter. Specialist advice should be sought about your specific circumstances.