ARTICLE
21 April 2006

GPL Version 3 – More Clear or More Issues?

PW
Pillsbury Winthrop Shaw Pittman

Contributor

Pillsbury Winthrop Shaw Pittman
The first draft of the long-awaited Version 3 of the GPL license ("GPL3") has been released. The draft contains numerous changes. Some changes attempt to clarify existing provisions of GPL Version 2 ("GPL2"). Others add entirely new provisions.
United States Media, Telecoms, IT, Entertainment

The first draft of the long-awaited Version 3 of the GPL license ("GPL3") has been released. The draft contains numerous changes. Some changes attempt to clarify existing provisions of GPL Version 2 ("GPL2"). Others add entirely new provisions. Some of the most significant changes relate to patents, digital rights management and compatibility among open source licenses. A summary of these and other changes is provided below, along with some observations about the potential impact of the proposed changes.1

Patents

Open source licenses are primarily based on copyright law. Yet, many open source licenses, including the GPL, include some patent provisions. The preamble to GPL3 reiterates the patent premise from GPL2. Both declare:

[E]very program is threatened constantly by software patents. We wish to avoid the special danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, the GPL makes it clear that any patent must be licensed for everyone’s free use or not licensed at all.

While the intent of this preamble is well meaning, the premise is flawed, at least in the majority of the relevant fact scenarios. The flaw with this premise is that if someone has a non-exclusive license (or cross-license) that does not impose a royalty obligation on downstream users, this does not make the program proprietary. This is further addressed below in connection with the discussion of Section 11 of GPL3. The remaining patent provisions (found primarily in Sections 2, 6, 11 and 12) address prohibitions on suing other users of the GPL program; precluding the use of patented methods of code distribution; the express grant of a patent license to others who use the program; shielding downstream users against the possible patent infringement claims from which a license protects you; and the infamous "liberty or death" clause regarding patents.

Prohibitions on Suing Other Users of a GPL Program

Section 2 of GPL3, which addresses the basic terms of the license grant, states: "This License gives unlimited permission to privately modify and run the Program, provided you do not bring suit for patent infringement against anyone for making, using or distributing their own works based on the Program." (emphasis added).

The scope of this provision appears reasonable and limited to preventing you from suing another for making, using or distributing their own works based on the Program (i.e. the Program that you are using). This would not appear to limit the licensee from suing another open source licensee for making, using or selling other products. This seemingly limited prohibition on the offensive use of patents appears reasonable and narrowly tailored to the objectives of the FSF. If you want to receive the benefits of using an open source program, you must refrain from suing others for patent infringement relating to that program, so that you do not interfere with their right to enjoy the benefits of the program as well. As detailed below in connection with Section 11, however, the scope of this license may be broader than is apparent.

No Patented Distribution Techniques

Section 6 deals with distribution of the code. This section addresses both patent and DRM aspects relating to methods of distributing GPL code. The relevant patent provisions state:

Distribution of the Corresponding Source in accord with this section must be in a format that is publicly documented, unencumbered by patents . . .

With respect to patents, this provision simply ensures that the distribution method itself is not patented. This avoids situations that would require a potential recipient of the code to use a patented method to obtain the code, thereby potentially requiring a royalty to be paid. This provision too seems quite reasonable, consistent with the objectives and narrowly tailored.

Express Grant of Patent License

Sections 11 and 12 of GPL3 are very significant provisions with respect to patents. Section 11 is new and Section 12 replaces Section 7 of GPL2. Read these provisions carefully and do not be misled by the non-legal commentary purporting to explain what they mean. These provisions contain language that could be interpreted in a way to force you to choose between distributing GPL code and foregoing the right to enforce many of your current and future patents, or foregoing the right to distribute GPL code.

Section 11, reproduced below in full, states:

11. Licensing of Patents.

When you distribute a covered work, you grant a patent license to the recipient, and to anyone that receives any version of the work, permitting, for any and all versions of the covered work, all activities allowed or contemplated by this License, such as installing, running and distributing versions of the work, and using their output. This patent license is nonexclusive, royalty-free and worldwide, and covers all patent claims you control or have the right to sublicense, at the time you distribute the covered work or in the future, that would be infringed or violated by the covered work or any reasonably contemplated use of the covered work.

If you distribute a covered work knowingly relying on a patent license, you might act to shield downstream users against the possible patent infringement claims from which your license protects you. (emphasis added)

This section has several important components. The first component is an express license by each licensee that distributes a covered work. The grant extends to any recipient to whom you distribute the covered work and anyone that receives any and all versions of the work.2 This would seem to cover modifications of the work and other works in which the covered work is included, even if the work you distribute is a very small part of a larger work with which it is combined. This seems to be limited, to some extent, by the provision that states that the license applies to the work and any reasonably contemplated use of the covered work. What constitutes a reasonably contemplated use of the work is certainly open to debate and is the type of language that likely will be clarified only when the right lawsuit comes along. Until then, it is important to understand the potential ramifications of this provision.

Suppose the covered work is a software program that performs a simple set of functions A+B. Suppose you have a patent on that set of functions. You may knowingly agree to distribute code for performing functions A+B, recognizing that you are foregoing the right to enforce that patent against any downstream users. That choice, which may be a very acceptable choice, can be made based on the relevant facts, i.e. the scope of your patents and the "simple" product to which the license is being granted.

However, suppose that you later get a patent to features C+D+E+F. This set of functions is more complex and extremely valuable and you want to keep this set of functions proprietary. Under the proposed GPL3, a very realistic fact scenario may prevent you from doing this. The scenario is this. Assume, a downstream licensee of the original code for A+B incorporates that code into a program that also performs C+D+E+F. This combined work (A+B+C+D+E+F) would likely be interpreted to be a work based on the original work (A+B).3 If so, then this combined work could be interpreted to be a version of the original work that you distributed (A+B).

So what is the problem? The problem is the requirement that the patent license applies to any subsequently modified version of the work and includes any patents owned by you at the time you distribute the covered work or in the future. The risk then is that distributing what may appear to be a simple piece of code today (A+B), may require you to grant a patent license in the future under a patent that does not yet exist for an invention that has yet to be conceived (C+D+E+F). Unlike the first example, this choice cannot be made based on known facts (the scope of the future patent and the significance of the future invention).

This example highlights a significant new consideration in whether to use open source code. Some believe it is one of the most dangerous provisions of GPL3. Unless changed, it may retard the growth in the distribution of open source software by entities that distribute both open source and proprietary programs.

Many businesses today, including some of the largest commercial software companies, are fully supportive of open source, but also have commercial products and many patents. These patent provisions of GPL3 may require a choice to be made by these companies (at least in certain product areas). Of course, this is the goal of the FSF. I take no position whether this goal is good or bad, in general or for any particular company. The main point is to understand the significance of the patent provisions of GPL3, the choice that needs to be made, and at least some scenarios that may impact your future patents.

Shielding Downstream Users

The last part of Section 11 states: "If you distribute a covered work knowingly relying on a patent license, you must act to shield downstream users against the possible patent infringement claims from which your license protects you." This language appears to be limited, but the scenarios under which the limitation apply, likely will be rare. In most cases, a company knows the patents to which it has a license and to which products the patents relate. This exception purportedly addresses situations where large companies have extensive cross-licenses and are not aware that the cross-license specifically covers an open source program. In reality, this provision may deter future cross-licenses or deter use of open source for those that have or seek cross-licenses. Certainly there will be debate about what "knowingly" relying on a patent license means, including how much knowledge will be necessary and by whom.

It is an admirable goal of the FSF to attempt to prevent one company from taking a license applicable to an open source program without protecting the entire open source community. But it is not realistic. To the extent that you have a patent license from a third party and it covers anyone to whom you distribute the work and anyone to whom the work is further distributed by others downstream of you, there is no problem. Rarely will a patent license permit this. It is rare that a patent owner would grant such a broad royalty-free license for an unlimited number of users. Thus, a potential problem arises if your license does not protect further distribution downstream of those to whom you directly distribute. The potential problem arises when you have a license or cross-license that is personal to you and not sub-licensable (as is frequently the case with such licenses). To the extent that one of those patents relates to a work that you wish to use under GPL3, this provision (alone or in combination with Section 12 addressed below) may prevent you from using the work.

This provision seems a bit harsh and unnecessary. To the extent a third party has a patent that relates to the work, whether you take a license or not does not change the fact that the third party could conceivably sue other users of the work. The existence of your license or cross-license does not change this. So it is unclear what this provision accomplishes, other than preventing you from using the GPL code. But if you refrain from using the code, others who use the code are in no better or worse position. The third party could still assert its patents against other users of the GPL code.

This provision would make sense if it was limited to situations where you took a license that created a royalty obligation on downstream users. Then, you are encumbering the open source program and acting adverse to other GPL users. That would clearly be undesirable. Additionally, it would make sense if it was applied to situations where you obtained an exclusive license that would prevent others from using the GPL code. This too would be adverse to other GPL users and undesirable. Clearly, the GPL license should prevent either of these scenarios. In those situations, you are putting other GPL users in a worse position. But, absent your creating an adverse situation for others, having a non-exclusive license or cross-license that creates no royalty obligations downstream should not prevent you from using the GPL code. Absent a change in this provision, companies that routinely cross-license (or even do it once) may have difficulty complying with a strict interpretation of these patent provisions.

Liberty or Death

Section 12, reproduced below in full, states:

12. Liberty or Death for the Program.

If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute the Program or other covered work, so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute it at all. For example, if a patent license would not permit royalty-free redistribution by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution.

It is not the purpose of this section to induce you to infringe any patents or other exclusive rights or to contest their legal validity. The sole purpose of this section is to protect the integrity of the free software distribution system. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This is essentially the old Section 7 from GPL2. There are no major changes here.

Digital Rights Management

DRM most commonly is used to refer to digital "rights" management. Consistent with its clever naming practices (like "copyleft"), GPL3 uses DRM to refer to digital "restrictions" management. The preamble to GPL3 adds a provision regarding DRM that did not exist in GPL2. It states:

Some countries have adopted laws prohibiting software that enables users to escape from Digital Restrictions Management. DRM is fundamentally incompatible with the purpose of the GPL, which is to protect users’ freedom; therefore, the GPL ensures that the software it covers will neither be subject to, nor subject other works to, digital restrictions from which escape is forbidden.

Section 3 is the main part of GPL3 that deals with DRM. It states:

3. Digital Restrictions Management.

As a free software license, this License intrinsically disfavors technical attempts to restrict users’ freedom to copy, modify, and share copyrighted works. Each of its provisions shall be interpreted in light of this specific declaration of the licensor’s intent. Regardless of any other provision of this License, no permission is given to distribute covered works that illegally invade users’ privacy, nor for modes of distribution 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: that is to say, distribution of a covered work as part of a system to generate or access certain data constitutes general permission at least for development, distribution and use, under this License, of other software capable of accessing the same data.

Section 6, which deals with distribution of the code, also is relevant. It states:

Distribution of the Corresponding Source in accord with this section must be in a format that is publicly documented . . . and must require no special password or key for unpacking, reading or copying.

These DRM restrictions have sparked significant controversy in the community. Some say these provisions are overly restrictive and unnecessary. We shall see how the debate over this issue impacts the final draft. Conceptually, they are beneficial to ensure code access.

Compatibility with Other Open Source Licenses

GPL3 attempts to create greater compatibility between the GPL and other open source licenses. Some have commented that these provisions are one way in that they benefit use of GPL3, but not other open source licenses. Many of the changes are reflected in new Section 7.

The new Section 7 states:

7. License Compatibility.

When you release a work based on the Program, you may include your own terms covering added parts for which you have, or can give, appropriate copyright permission, as long as those terms clearly permit all the activities that this License permits, or permit usage or relicensing under this License. Your terms may be written separately or may be this License plus additional written permission. If you so license your own added parts, those parts may be used separately under your terms, but the entire work remains under this License. Those who copy the work, or works based on it, must preserve your terms just as they must preserve this License, as long as any substantial portion of the parts they apply to are present.

Aside from additional permissions, your terms may add limited kinds of additional requirements on your added parts, as follows:

a) They may require the preservation of certain copyright notices, other legal notices, and/or author attributions, and may require that the origin of the parts they cover not be misrepresented, and/or that altered versions of them be marked in the source code, or marked there in specific reasonable ways, as different from the original version.

b) They may state a disclaimer of warranty and liability in terms different from those used in this License.

c) They may prohibit or limit the use for publicity purposes of specified names of contributors, and they may require that certain specified trademarks be used for publicity purposes only in the ways that are fair use under trademark law except with express permission.

d) They may require that the work contain functioning facilities that allow users to immediately obtain copies of its Complete Corresponding Source Code.

e) They may impose software patent retaliation, which means permission for use of your added parts terminates or may be terminated, wholly or partially, under stated conditions, for users closely related to any party that has filed a software patent lawsuit (i.e., a lawsuit alleging that some software infringes a patent). The conditions must limit retaliation to a subset of these two cases: 1. Lawsuits that lack the justification of retaliating against other software patent lawsuits that lack such justification. 2. Lawsuits that target part of this work, or other code that was elsewhere released together with the parts you added, the whole being under the terms used here for those parts.

No other additional conditions are permitted in your terms; therefore, no other conditions can be present on any work that uses this License. This License does not attempt to enforce your terms, or assert that they are valid or enforceable by you; it simply does not prohibit you from employing them.

When others modify the work, if they modify your parts of it, they may release such parts of their versions under this License without additional permissions, by including notice to that effect, or by deleting the notice that gives specific permissions in addition to this License. Then any broader permissions granted by your terms which are not granted by this License will not apply to their modifications, or to the modified versions of your parts resulting from their modifications. However, the specific requirements of your terms will still apply to whatever was derived from your added parts.

Unless the work also permits distribution under a previous version of this License, all the other terms included in the work under this section must be listed, together, in a central list in the work.

These changes certainly facilitate compatibility between GPL3 and some other open source licenses. But the scope of these changes does not ensure compatibility with all open source licenses.

Some Other Changes

Numerous other changes have been proposed. Many of the changes are definitional. Some relate to taking into account differences in copyright law internationally. Some relate to details regarding the code and how it is to be distributed, among other things. Some of the definitional changes are set forth below.

Definitional Changes

1. Licensed Program

A "licensed program" means any program or other work distributed under this License. The "Program" refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either modified or unmodified. Throughout this License, the term "modification" includes, without limitation, translation and extension. A "covered work" means either the Program or any work based on the Program. Each licensee is addressed as "you".

2. Propagate

To "propagate" a work means doing anything with it that requires permission under applicable copyright law, other than executing it on a computer or making private modifications. This includes copying, distribution (with or without modification), sublicensing, and in some countries other activities as well.4

3. Complete Corresponding Source Code

The "Complete Corresponding Source Code" for a work in object code form means all the source code needed to understand, adapt, modify, compile, link, install, and run the work, excluding general-purpose tools used in performing those activities but which are not part of the work. For example, this includes any scripts used to control those activities, and any shared libraries and dynamically linked subprograms that the work is designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work, and interface definition files associated with the program source files.

Complete Corresponding Source Code also includes any encryption or authorization codes necessary to install and/or execute the source code of the work, perhaps modified by you, in the recommended or principal context of use, such that its functioning in all circumstances is identical to that of the work, except as altered by your modifications. It also includes any decryption codes necessary to access or unseal the work’s output. Notwithstanding this, a code need not be included in cases where use of the work normally implies the user already has it.

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

As a special exception, the Complete Corresponding Source Code need not include a particular subunit if (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 operating system on which the executable runs or a compiler used to produce the executable 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, the implementation of which requires no patent license not already generally available for software under this License.

Permissions

Section 2 is new and addresses the topic of permissions granted under the GPL3 license. Section 2 states:

2. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the Program. The output from running it is covered by this License only if the output, given its content, constitutes a work based on the Program. This License acknowledges your rights of "fair use" or other equivalent, as provided by copyright law.

This License gives unlimited permission to privately modify and run the Program, provided you do not bring suit for patent infringement against anyone for making, using or distributing their own works based on the Program.

Propagation of covered works is permitted without limitation provided it does not enable parties other than you to make or receive copies. Propagation which does enable them to do so is permitted, as "distribution", under the conditions of sections 4-6 below.

Conclusion

Many of the proposed changes clarify certain aspects of GPL2. However, if GPL3 is finalized based on the provisions in the current draft, some new issues may arise (e.g. with respect to patents). As the community participates in the comment process, these and other issues will be considered. A final version is expected in early 2007.

Footnotes

1. For clarity, related provisions are grouped together by topic, rather than discussing the topics in the order in which they appear in the draft. Additionally, some existing provisions from GPL2 are reiterated where they are believed beneficial in understanding the changed provisions.

2. If you use the work (or modify it for internal use), but do not distribute it, the requirements of Section 11 to license others does not seem to apply. However, the provisions of Section 2 remain applicable. As discussed above, Section 2 does not prevent you from suing others for patent infringement and does not require that you grant a license. However, if you do sue another for patent infringement, your right to use and modify the covered work may be terminated.

3. A "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either modified or unmodified. (emphasis added).

4. Propagation of covered works is permitted without limitation provided it does not enable parties other than you to make or receive copies. Propagation which does enable them to do so is permitted, as "distribution," under the conditions of Sections 4-6.

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.

See More Popular Content From

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