GPLv2's Day in Court: Lessons for FOSS License Compliance
The free and/or open source software (FOSS) community has reason to celebrate, in the form of several related court opinions arising from multimillion-dollar open-source license disputes between Versata Software, Inc., Ameriprise Financial, Inc., and XimpleWare Corporation.
Despite being in existence for nearly 25 years, and despite governing an estimated 16 billion lines of code licensed pursuant to its terms, the GNU General Public License, version 2 (GPLv2) has received scant judicial attention. Even the most elementary terms of the GPLv2—and FOSS licenses more generally—have rarely been subject to judicial interpretation.
Uncertainty and legal risk loom wherever court guidance is absent or scarce. Fortunately, this situation is slowly beginning to improve for the FOSS community, thanks in large part to the three-year-long court saga involving Versata, Ameriprise, and XimpleWare, which has bestowed upon us important legal guidance regarding some key provisions of the GPLv2, including detailed discussions of the following questions:
- Does a violation of the GPLv2 give a plaintiff the right to a contractual remedy or a claim for copyright infringement?
- What does "distribution" mean under the GPLv2? In particular, does a release of GPLv2-licensed code to outside independent contractors constitute a "distribution" such that the obligations under the GPLv2 are triggered?
- Are there any consequences under the GPLv2 for the customers of infringing parties, if those customers do not distribute GPLv2-licensed code?
- Does the GPLv2 contain an express or implied patent license, such that mere "use" of GPLv2-licensed software could be deemed patent infringement?
The court's treatment of these GPLv2 issues will be addressed in turn in this article. But first, some background to the GPLv2 will help put these issues in context.
Released by the Free Software Foundation in 1991, the GPLv2 accounts for approximately half of all FOSS licenses in use today—including, most famously, the Linux operating system that powers much of the Internet and underlies the Android smartphone operating system deployed in approximately 1 billion mobile devices.
As a self-styled "copyleft" license, the GPLv2 is designed to ensure that any software licensed pursuant to its terms is freely modifiable and redistributable, and that others who receive the software are likewise free to make changes and further redistribute it.
To achieve these goals, the GPLv2 includes the following requirements (among other things):
- Copyright notices and disclaimers of warranty must be conspicuously included on each copy of the source code (§1)
- Any changes made to the code must carry notices stating that the files were changed, and the date of all changes (§2a)
- Any code created or derived from GPLv2-protected code must also be licensed as a whole at no charge under GPLv2 (§2b)
- The program must be accompanied by the complete corresponding machine-readable source code or with a written offer to give such source code to any third party, if the program is distributed (§3a–b)
Section 2(b) is the engine behind the so-called "viral" nature of the GPLv2. By virtue of this provision, if a party incorporates GPLv2-licensed code into a modified program he or she creates, the entire program (if distributed) must be licensed under the GPLv2. A common fear prevalent among commercial software vendors is that if they inadvertently include any GPLv2-licensed code in their distributed proprietary product, they will be required to license the entire product—and to make the underlying source code for their product freely available—as a result.
After twenty-plus years of dormancy, this FOSS bogeyman finally came close to materializing in the course of litigation between Versata, Ameriprise, and XimpleWare. Let's take a closer look.
The GPLv2 Has Its Day in Court
Versata sued Ameriprise in Texas state court on May 3, 2013 (the "Texas case"), alleging that Ameriprise materially breached a software license between the two parties for Versata's Distribution Channel Management (DCM) software, which Versata licenses for millions of dollars. 1
According to Versata, Ameriprise impermissibly hired third-party contractors in India to reverse-engineer the DCM software, in order to replace it with Ameriprise's homegrown substitute. Versata alleged that this action violated the parties' license agreement, and therefore Ameriprise was contractually obligated to stop using and return the DCM software to Versata.
By way of defense, Ameriprise counterclaimed that Versata incorporated XimpleWare's GPLv2-licensed source code into the DCM product, thereby "infecting" it (that is, rendering the DCM software subject to the terms of the GPLv2) and requiring Versata to make the entire DCM source code freely available to all users, including Ameriprise and its contractors.
XimpleWare develops, designs, and licenses software for extremely efficient data processing. The XimpleWare software product at issue is known as VTD-XML or VTD XML Extended, which reportedly reads and parses Extensible Markup Language (XML) code at an estimated rate 5–10 times faster than other current XML parsing programs. XimpleWare published the source code for VTD-XML in the SourceForge.net open source repository, and licensed the software under the GPLv2.
Having been made aware of the allegations by Ameriprise against Versata in the Texas case, on November 5, 2013 XimpleWare filed a federal lawsuit against Versata and Ameriprise for (among other matters) copyright infringement and breach of contract (the "Copyright case"). 2
XimpleWare claimed that Versata infringed on its copyrighted source code by including it in Versata's DCM software without obtaining a commercial license, permission for the use of XimpleWare's products, or complying with the GPLv2 license.
XimpleWare further alleged that Ameriprise distributed Versata's DCM (containing XimpleWare's VTD-XML) to thousands of Ameriprise's non-employee financial advisors without attribution to XimpleWare, XimpleWare's copyright notice, reference to XimpleWare's source code, or any offer to make the source code freely available—all violations of the GPLv2.
On the same day that it filed the Copyright case, XimpleWare also filed a patent infringement suit against Versata and Ameriprise, as well as several other Versata customers (the "Patent case"). 3
XimpleWare and Versata ultimately reached an out-of-court settlement in both cases on February 10, 2015. Despite the settlement, these cases generated a significant amount of judicial ink regarding key provisions of the GPLv2, as we will examine below.
GPLv2 violations afford both contractual and copyright remedies.
In response to Ameriprise's counterclaim that Versata breached the GPLv2, Versata argued that the claim could not be heard in state court because it was equivalent to a copyright claim, and thereby subject to preemption by the federal Copyright Act. On January 7, 2014 Ameriprise removed the case to federal court.
In ruling that Ameriprise's GPLv2-breach counterclaim was not preempted because it was seeking to protect other rights different from those protected under copyright law, the federal court found that the GPLv2 "imposes an affirmative obligation [...] to make the code of any derivative work freely available and open source" and that the "'viral' component of the GPL [to provide source code] is separate and distinct from any copyright obligation." 4
In other words, GPLv2 violations sound in both contract (the affirmative obligation to disclose source code, etc.) and copyright (the obligation not to copy, modify, or distribute unless as specifically authorized).
Because the federal court found that the GPLv2 imposes additional obligations beyond the scope of the Copyright Act, it held that Ameriprise's counterclaim was not preempted, and it sent the case back to state court.
Unfortunately for those of us waiting for some judicial precedent, the parties settled the Texas case before the court had an opportunity to decide what remedies would be imposed for GPLv2 violations. It remains to be seen whether any court will indeed compel a GPLv2 infringer to freely and publicly disclose its source code for derivative works based on GPLv2-licensed software, or whether monetary damages alone will be ordered.
Sharing code with an outside independent contractor is a GPLv2 'distribution' (maybe).
Under the GPLv2, the obligation to produce source code is only triggered if the software is "distributed" (GPLv2 §3). Unfortunately, this key license term is not defined.
The question of what constitutes a GPLv2-qualifying "distribution" was finally give some judicial consideration in the Copyright case, in response to XimpleWare's claim that Ameriprise's delivery of GPL-licensed software to its franchisees constituted a distribution for GPLv2 purposes.
Despite Ameriprise's arguments that it did not violate the terms of the GPLv2 because it merely provided the software to its financial advisors (who are independent contractors, not employees), the court in the Copyright case found that such a distribution was "outside of Ameriprise and to non-employees" and therefore covered by the GPLv2. 5
Notably, the court's ruling is consistent with the Free Software Foundation's own guidance on the matter, according to which the GPLv2 does not differentiate between outside contractors and other third parties.
Unfortunately, the distribution question is hardly settled, as the court in the Copyright case was ruling on Ameriprise's motion to dismiss and was therefore required to accept all of the allegations in the complaint as true, including XimpleWare's allegation that Ameriprise distributed DCM outside of Ameriprise. Therefore, whether and to what extent software companies can restrict their contractors from further redistribution of their GPLv2-licensed code remains an open question.
The use of GPLv2-licensed code is authorized for compliant users, even if they receive the code from a non-compliant licensee.
According to XimpleWare, the XimpleWare software that Versata provided to its other customers failed to contain the required notices, disclaimers, and accompanying source code; therefore, no GPLv2 license was ever granted, and no use by any Versata customer could achieve compliance with the GPLv2.
In support of its position, XimpleWare sought to rely on GPLv2 §4, which provides that "parties who have received copies, or rights, [...] under this License will not have their licenses terminated so long as such parties remain in full compliance."
Effectively, XimpleWare asserted that Versata was never in compliance, and therefore it would be impossible for Versata's customers to "remain in full compliance." Following XimpleWare's logic, if Versata violated the GPLv2, then any downstream receipt of GPLv2-licensed code from Versata would be void from the start.
This argument was rejected by the court in the Patent case, which noted that the GPLv2 provides that "the recipient automatically receives a license from the original licensor [and not any intermediate licensee] to copy, distribute or modify the Program" subject to the terms of the GPLv2.
Accordingly, "even if the original licensee—[here, Versata]—breaches its license for whatever reason, third-party customers of that original license retain the right to use XimpleWare's software so long as the customer does not itself breach the license by 'distributing' XimpleWare's software without satisfying [any] attendant conditions." 6
This result should not be surprising, as the raison d'être of the GPLv2 is to ensure unrestricted copying and distribution of open source software. Therefore, while one party's violation of the GPLv2 automatically terminates that party's benefits under the GPLv2, it should not (and now, according to at least this one federal court, it does not) affect the rights of the other licensees who have themselves complied with the terms of the GPLv2.
The GPLv2 contains an implied patent license: Mere 'use' does not constitute patent infringement.
In the Patent case, XimpleWare claimed that Versata's customers were liable for direct patent infringement merely as a result of using XimpleWare's software, because the GPLv2 only grants a copyright license, not a patent license.
While the GPLv2 does not expressly grant any patent rights, it does:
provide that "[activities] other than copying, distribution and modification are not covered by this License; they are outside its scope" and "[the] act of running the Program is not restricted" (GPLv2 §0).
- prohibit licensees from "[imposing] any further restrictions on the recipients' exercise of the rights granted" under the GPLv2 (GPLv2 §6).
- caution that if a licensee is unable to ensure royalty-free redistribution of GPLv2-licensed software, it "may not distribute the Program at all" (GPLv2 §7).
Therefore, the court in the Patent case held that, regardless of any actions on Versata's part, under the GPLv2 Versata's customers each "retain the right to use XimpleWare's software so long as the customer does not itself breach the license by 'distributing' XimpleWare's software." 7
The court found that direct patent infringement simply did not apply, because these defendants had an implied license under the GPLv2 for internal use.
While the unrestricted right to run GPLv2-licensed software must necessarily include an implied patent license, the court did not offer an opinion as to whether the GPLv2 provides an implied patent license for rights other than use (such as the right to make, offer for sale, or sell). We will need to wait for another court decision for resolution of this lingering issue.
The Versata/Ameriprise/XimpleWare litigation represents the first reported cases in which a commercial enterprise—versus a FOSS license-compliance advocacy group—sought enforcement of the GPLv2. In addition to injunctive relief to compel compliance, companies are now aggressively seeking monetary damages for GPLv2 violations.
These cases serve as important reminders that the particular FOSS licenses under which your software is licensed do indeed matter, and that the use of FOSS is not a free-for-all. As private enforcement in this area grows, organizations would be well advised to identify any and all FOSS included in their software products, carefully review the terms of the underlying FOSS licenses, and ensure FOSS-license compliance throughout the software development process as well as the supply and distribution chains. As Ameriprise and Versata learned, the cost for noncompliance can be quite high.
Robert McHale, Esq. is the founding Member of R | McHale Law, a full-service law firm whose corporate practice represents clients on a wide variety of IT and intellectual property law matters, including privacy and data security, copyright, trademark, licensing, and other proprietary protections.