ARTICLE
15 August 2006

GPL3 – Round Two

PW
Pillsbury Winthrop Shaw Pittman

Contributor

Pillsbury Winthrop Shaw Pittman
Just in time for a break from the summer doldrums for the open source community, on July 27, 2006 the Free Software Foundation released the second discussion draft of GPL version 3 ("Draft 2").
United States Information Technology and Telecoms

Just in time for a break from the summer doldrums for the open source community, on July 27, 2006 the Free Software Foundation released the second discussion draft of GPL version 3 ("Draft 2"). In response to the numerous comments on the first discussion draft ("Draft 1") from all over the world, the Free Software Foundation has made considerable revisions to the initial draft. Additionally, it has released a draft of revisions to the LPGL.

This client alert will summarize some of the changes contained in these two documents. General familiarity with the changes in the first draft is assumed. However, if you need to refresh your recollection, please see our Client Alert on the Draft 1, "GPL Version 3 – More Clear or More Issues?" dated April 18, 2006 ("Prior Alert").

Introduction

As indicated in our Prior Alert, some of the most significant changes proposed in Draft 1 related to Patents, Digital Rights Management and Open Source License Compatibility. Not surprisingly, these topics each received numerous comments and the respective provisions in Draft 2 include significant changes on each of these topics. Other changes address related party transfers, sublicensing, clarification to the term "Corresponding Source," including the issues related to shared libraries and dynamic linking, charging fees for GPL software and related services, and some definitional changes. Other aspects of Draft 2 clarify other provisions of Draft 1.

Patents

One of the most significant - and needed – changes in Draft 2 relates to the patent provisions found in Sections 11 and 12. As indicated in our Prior Alert, Draft 1 contained patent provisions that seemed unworkable and went well beyond what was needed to accomplish the desired objectives. Fortunately, the patent provisions in Draft 2 were modified to take these concerns into account.

Draft 2 now introduces the concept of "Essential Patent Claims." A party's Essential Patent Claims in a work are all patent claims that the party can give permission to practice, whether already acquired or to be acquired, that would be infringed by making, using, or selling the work. In Section 11, Draft 2 grants a covenant and requires a covenant from the licensee:

You receive the Program with a covenant from each author and conveyor of the Program, and of any material, conveyed under this License, on which the Program is based, that the covenanting party will not assert (or cause others to assert) any of the party's essential patent claims in the material that the party conveyed, against you, arising from your exercise of rights under this License.

If you convey a covered work, you similarly covenant to all recipients, including recipients of works based on the covered work, not to assert any of your essential patent claims in the covered work.

If you convey a covered work, knowingly relying on a non-sublicensable patent license that is not generally available to all, you must either (1) act to shield downstream users against the possible patent infringement claims from which your license protects you, or (2) ensure that anyone can copy the Corresponding Source of the covered work, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means.

Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.

Draft 2 includes a covenant not to assert that is more reasonable in scope and more workable than the patent provisions in Draft 1. It also addresses situations where the conveying party has a non-sublicensable right that is not generally available. Specifically addressing this situation is reasonable because it could impact the freedom of downstream users to exercise their rights.

As specified in Section 2, your license to run unmodified versions of a work terminates if you bring suit on your Essential Patent Claims. Section 2 states:

This License permits you to make and run privately modified versions of the Program, or have others make and run them on your behalf. However, this permission terminates, as to all such versions, if you bring suit against anyone for patent infringement of any of your essential patent claims in any such version, for making, using, selling or otherwise conveying a work based on the Program in compliance with this License.

The revised wording in the definition of System Libraries removes the reference to patents. Draft 1 limited the system library exception to implementations that required "no patent license not generally available for the software under this License." This wording was troublesome because it was interpreted by some as imposing "an affirmative duty to investigate third party patents." See FN16 of Draft 2.

Digital Rights Management

The DRM provisions of Draft 2 change the focus from a legal one to a technical one. See FN 39 of Draft 2. Draft 1 focused on the laws related to DRM and the inconsistency with the digital rights protections afforded by these laws and the permissive rights that are at the heart of the GPL. Draft 2 keeps the newly added DRM Section (Section 3) but changes the focus to technological restrictions that are used to deny users access to install or run modified versions of software. It also requires a waiver of certain rights relating to DRM.

The Preamble to Draft 2 now states:

Some computers are designed to deny users access to install or run modified versions of the software inside them. This is fundamentally incompatible with the purpose of the GPL, which is to protect users' freedom to change the software. Therefore, the GPL ensures that the software it covers will not be restricted in this way.

Section 3 now provides:

Regardless of any other provision of this License, no permission is given for modes of conveying that deny users that run covered works the full exercise of the legal rights granted by this License.

No covered work constitutes part of an effective technological "protection" measure under section 1201 of Title 17 of the United States Code. When you convey a covered work, you waive any legal power to forbid circumvention of technical measures that include use of the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing the legal rights of third parties against the work's users.

Draft 2 also changes encryption "codes" to encryption "keys" to avoid confusion with source or object "code." Draft 2 further requires that the "key" be included with the Corresponding Source whether the key is given to the user or code generated. Footnote 26 makes clear that the user must be able to read and copy the key.

Compatibility with Other Open Source Licenses - Additional Terms

The title of Section 7 has been modified to focus on all the "additional terms" that a licensee is permitted to include in subsequent licenses rather than simply "license compatibility" issues. License compatibility issues represent only a subset of additional terms permitted.

Section 7 now requires that the complete set of additional terms be listed in "one central place in the source code." There are two types of permissible additional terms, additional permissions (addressed in Section 7a) and additional requirements (addressed in Section 7b).

Additional permissions are exceptions to one or more requirements of the GPL. Additional permissions applicable to the whole program "are treated as though they were included in" the GPL, as exceptions to its conditions. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by the GPL without regard to the additional terms.

A license document containing a clause that permits relicensing or conveying under the GPL shall be treated as a list of additional permissions, provided that the license document makes clear that no requirement in it survives such relicensing or conveying.

Additional requirements are terms that further constrain use, modification or propagation of covered works. The GPL affects only the procedure for enforcing additional requirements, and does not assert that they can be successfully enforced by the copyright holder.

Draft 2 contains a new list of permissible additional requirements. The permissible additional requirements of Draft 1 are expanded from 5 to 7 and further clarified. The new list is as follows:

  • terms that require preservation of specified reasonable legal notices or author attributions; or
  • terms that require that the origin of the material they cover not be misrepresented, or that modified versions of that material be marked in specific reasonable ways as different from the original version; or
  • warranty or liability disclaimers that differ from the disclaimers in this License; or
  • terms that prohibit or limit the use for publicity purposes of specified names of licensors or authors, or that require that certain specified trade names, trademarks, or service marks not be used for publicity purposes without express permission, other than in ways that are fair use under applicable trademark law; or
  • terms that require, if a modified version of the material they cover is a work intended to interact with users through a computer network, that those users be able to obtain copies of the Corresponding Source of the work through the same network session; or
  • terms that wholly or partially terminate, or allow termination of, permission for use of the material they cover, for a user who files a software patent lawsuit (that is, a lawsuit alleging that some software infringes a patent) not filed in retaliation or defense against the earlier filing of another software patent lawsuit, or in which the allegedly infringing software includes some of the covered material, possibly in combination with other software; or
  • terms that are precisely equivalent in type and extent to a requirement expressly stated in this License, or that deny permission for activities that are clearly not permitted, expressly or otherwise, by this License.

All other additional requirements are prohibited, including, but not limited to: attorney's fees provisions; choice of law; forum and venue clauses; arbitration clauses; mandatory contractual acceptance clauses; requirements regarding changes to the name of the work; and terms that require that conveyed copies be governed by a license other than the GPL.

These additional term provisions also relate to the new LPGL that was also released on July 27, 2006. Significantly, the LPGL has essentially been rewritten as a set of permissive exceptions to the GPL, in accordance with Section 7 of Draft 2.

Section 7c addresses terms that can be added or removed from a particular copy. It states:

When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. Some additional permissions require their own removal in certain cases when you modify the work.

Additional requirements are allowed only as stated in subsection 7b. If the Program as you received it purports to impose any other additional requirement, you may remove that requirement.

You may place additional permissions, or additional requirements as allowed by subsection 7b, on material, added by you to a covered work, for which you have or can give appropriate copyright permission.

Adding requirements not allowed by subsection 7b is a violation of this License that may lead to termination of your rights under section 8.

If you add terms to a covered work in accordance with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.

Related Party Transfers

Many in the Open Source community have questioned whether transfer of open source software, in certain situations involving related entities, constitutes a distribution. Two scenarios relate to outsourced development and acquisition of one company by another. One issue relates to whether the transfer of software from one company (e.g., a software development company) to another, pursuant to a development contract, constitutes a distribution. Another relates to whether the conveyance of open source software, pursuant to an acquisition of one company by another, constitutes a distribution.

Section 2 now includes, as a basic permission, the explicit right to have another party "make and run" privately modified versions of the program on your behalf. In other words, this draft now makes explicit that outsourcing development does not affect your rights to private use of a program. When the third-party developer transfers the code to the entity that contracted for it, this does not count as a Conveyance for purposes of determining rights under GPL.

Section 10 now clarifies the rights transferred to a successor in a "transaction transferring control of an organization." Draft 2 explicitly states:

If propagation results from a transaction transferring control of an organization, each party to that transaction who receives a copy of the work also receives a license and a right to possession of the Corresponding Source of the work from the party's predecessor in interest.

This clarifies that if GPL covered code is transferred as part of "transfer in corporate control" there is automatic licensing and right of possession and, presumably, that no conveyance has occurred.

Sublicensing

The basic permissions of Section 2 now contain an explicit prohibition against sublicensing. Given that Section 10 provides an automatic license to downstream users, the FSF believes that sublicensing is unnecessary. According to the FSF, the explicit prohibition against sublicensing further "ensures that enforcement of the GPL is always by the copyright holder." See FN 34 of Draft 2.

Shared Libraries and Dynamic Linking

Section 1 contains a significant clarification impacting the scope of the "Corresponding Source" (previously "Complete Corresponding Source Code"). Draft 1 raised concerns for being too broad and open ended in defining the associated code and programs that were covered under the license. Draft 2 attempts to clarify that the Corresponding Source includes those shared libraries files and dynamically linked subprograms that "the work is specifically designed to require."1 Footnote 20 further clarifies that this does not include libraries invoked by the work that can be readily substituted by other existing implementations. This change appears to limit the scope of programs subject to the license requirements.

Corresponding Source is defined as:

The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, except its System Libraries, and except general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes scripts used to control those activities, interface definition files associated with the program source files, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by complex data communication or control flow between those subprograms and other parts of the work.

The Corresponding Source also includes any encryption or authorization keys necessary to install and/or execute modified versions from source code in the recommended or principal context of use, such that they can implement all the same functionality in the same range of circumstances. (For instance, if the work is a DVD player and can play certain DVDs, it must be possible for modified versions to play those DVDs. If the work communicates with an online service, it must be possible for modified versions to communicate with the same online service in the same way such that the service cannot distinguish.) A key need not be included in cases where use of the work normally implies the user already has the key and can read and copy it, as in privacy applications where users generate their own keys. However, the fact that a key is generated based on the object code of the work or is present in hardware that limits its use does not alter the requirement to include it in the Corresponding Source.

The Corresponding Source may include portions which do not formally state this License as their license, but qualify under section 7 for inclusion in a work under this License.

The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.

In a further effort to simplify the term Corresponding Source, the lengthy exception which was formerly the last paragraph of Section 1 has been eliminated. In its place, Draft 2 defines "System Libraries" (as a new term) and then excludes System Libraries from the scope of the Corresponding Source.

The term "System Libraries" is defined as follows:

The "System Libraries" of an executable work include every subunit such that (a) the identical subunit is normally included as an adjunct in the distribution of either a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the object code runs, or a compiler used to produce the object code, or an object code interpreter used to run it, and (b) the subunit (aside from possible incidental extensions) serves only to enable use of the work with that system component or compiler or interpreter, or to implement a widely used or standard interface for which an implementation is available to the public in source code form.

The last paragraph of Section 6 has been added to explicitly state:

A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.

Charging Fees

Section 4 clarifies that anyone can charge a price (or no price) for any copy of a Program that they Convey. Additionally, Draft 2 adds that anyone can offer support (in addition to warranty protection provided for in Draft 1) for a fee. This change was made to make clear that that those who Convey GPL-covered software may offer commercial services for the support of that software. See Fn 42 of Draft 2.

Section 6.b has been modified to limit the price that you can charge for providing copies of the Corresponding Source to "a price no more than your reasonable cost of physically performing this conveying of the source." Draft 1 allowed you to charge up to ten times the actual cost of providing a physical copy of the object code.

Section 6.b1 specifies that if the Corresponding Source is made available for download from a networked server, it must be done at no charge.

Section 10 of Draft 1 made clear that downstream users receive a license from the original licensors. Draft 2 adds that "you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License." This provision prevents imposing a royalty or license obligation on downstream users. However, presumably this does not impact the right to charge a price for the software to those to whom you convey the software pursuant to Section 4.

Other Definitional Changes

In addition to the forgoing, Draft 2 includes other changes to definitions or terminology. Many of these are prompted by the desire to "internationalize" the terminology of the license and steer away from using copyright terminology of any particular country. For example, Draft 2 avoids the use of "derivative work," which is a term of art associated with U.S. copyright law.

Draft 2 adds a new defined term "Convey" to replace the U.S. copyright term of art "distribute" which was used in Draft 1. To "Convey" a work means any kind of propagation that enables other parties to make or receive copies, excluding sublicensing."

The definition of "Program" has been simplified. It is now defined to mean "any work of authorship" licensed under GPL 3. The notes particularly point out that the extent of the Program is defined by copyright law "and not arbitrary file boundaries."

The phrase "Based On" replaces the previous phrase work Based On "the Program" to allegedly provide a broader, more universally accepted definition. A work "Based On" another work means "any modified version, formation of which requires permission under applicable copyright law."

The phrase "modified work" replaces "Modification" (used in Draft 1) to further internationalize the language and avoid the U.S. Copyright law focus. A "modified work" includes, without limitation, versions in which material has been translated or added.

Conclusion

Draft 2 is a much improved version of GPL3 as compared with Draft 1. The openness of the process is to be credited for enabling the concerns of the open source community to be heard and for many of the concerns to be addressed.

Footnote

1. Section 5 includes a carve-out with similar language. Section 5 states, in part: "To the extent that identifiable sections of the modified work, added by you, are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you convey them as separate works, not specifically for use in combination with the Program."

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.

Mondaq uses cookies on this website. By using our website you agree to our use of cookies as set out in our Privacy Policy.

Learn More