The Software Freedom Conservancy earlier this month announced that it was funding a lawsuit filed by Linux kernel developer Christoph Hellwig against VMware in the district court of Hamburg in Germany.
The conservancy entered a grant agreement with Hellwig for the legal action. Its funding of the legal action is part of the program activity of its GPL Compliance Project for Linux Developers.
The suit alleges that VMware failed to comply with terms of the GNU General Public License version 2, or GPLv2 — the license of Linux and other free and open source software incorporated in VMware’s ESXi products.
The case stretches back to 2007, but it became more contentious when the conservancy discovered that VMware had failed to provide or offer any source code for the version of BusyBox included in VMware’s ESXi products, as required by BusyBox’s GPLv2 license.
“We were involved in this fight long before Christoff got involved,” noted Software Freedom Conservancy President Bradley M. Kuhn.
“There were times when we thought VMware was going to comply. They were working towards getting better. That is why we let it go for so long — we felt we were making progress,” he told LinuxInsider.
A Question of Interpretation
VMware has insisted that its hypervisor operating system, ESXi, does not violate GPLv2.
ESXi is an operating system that manages the hardware and software resources of the physical server. At the core of the ESXi operating system is a kernel called “vmkernel,” which provides control over those resources.
As with many other operating systems, ESXi’s vmkernel has a stable, general-purpose API, called “VMK API,” that enables device drivers and other loadable modules to perform specialized functions.
Third parties can write drivers and modules that interact directly with the vmkernel utilizing the VMK API. These drivers do not need to be Linux drivers, but in this case they are. VMware offers a compatibility alternative through a kernel module called “vmklinux.” It is loaded by the vmkernel and interfaces with the vmkernel through VMK API.
VMware offers vmklinux to third parties under the GPL and makes its source code available, the company has said.
Its operating system is not a derivative work of Linux code, and VMware complies with its obligations under the GPL, according to a response to the lawsuit posted on the VMware website.
Hellwig, the developer who brought the lawsuit, was unmoved by VMware’s response.
A Legal View
“The contours of what constitutes a GPL violation in the formation of a derivative work employing Linux code has not been decided in Germany or apparently elsewhere,” noted Raymond Van Dyke, principal of Van Dyke Law.
“On the one hand, creative expression should not be hampered by an overemphasis on protecting a small amount of free components used in a larger work,” he told LinuxInsider.
Still, the attempts by Linux and others to create a free access community should be respected, and free code should not be appropriated for commercial gain, Van Dyke added.
“In this instance, the lawsuits against them for a more technical violation appear punitive,” he observed.
“However, if significant amounts of Linux code — such as including Mr. Hellwig’s contributed code — were appropriated into a commercial product, violating the philosophy of the GPL, then the equities would shift,” Van Dyke explained. “Where is the line of demarcation? That is an open question and open to interpretation.”
VMware worked in earnest with the Software Freedom Conservancy to understand and address its concerns, the company maintained, emphasizing its respect for the FOSS community. It also expressed optimism that the issue can be resolved amicably.
The major point of contention is a workaround — a shim layer that lets VMware use the open-source code as part of its own proprietary development.
“Obviously, both sides disagree on the shim layer interpretation,” said the conservancy’s Kuhn.
For decades, developers have talked about various mechanisms of GPL obligation avoidance. VMware’s shim layer does not insulate the company from GPL obligations and allows it to keep certain code in its kernel proprietary, according to the conservancy.
Modifying technical details of a combination’s construction typically does not influence the legal analysis in a combined or derivative work scenario, the group maintained.
Rather, the Software Freedom Conservancy’s analysis of VMware’s ESXi product indicates that VMware flagrantly combined Linux code in its own kernel, citing evidence that indicates the work as a whole was developed by modifying Linux code in tandem with modifications to vmkernel in a tightly coupled manner.
The phrase “shim layer” does not have any real meaning, the conservancy argued, despite its regular use by the media. It is unlikely that any technological manipulation would change the outcome of a combined/derivative work analysis.
The case against VMware is “hung up on this most important issue,” said Kuhn. “That is what led us to this impasse.”
The shim layer argument is a question of legal analysis for the court to decide, he noted.
“A cease and desist is always a consolation prize,” remarked Kuhn. “Our goal is to get people to participate in copylefted software but do so by the rules. Our primary goal is to get VMware to comply with the GPL and release the code that is combined with the Linux code and share that with others under the GPL.”
If VMware refuses to comply with a court decision that upholds the GPL’s applicability, an injunction is a secondary possibility to pursue, he added. Damages are important to the GPL only as a ticket to pay for violating the rules.
“In this instance, it appears that VMware employed some pieces of Linux code for their EDXi product, most likely minor aspects, and the bulk of the expression here is entirely VMware’s,” noted Van Dyke.
“Perhaps this is like the definition of ‘obscenity’ by one of the U.S. Supreme Court Justices: ‘I know it when I see it,'” he quipped. “Mr. Hellwig sees his creation being used commercially. VMware feels persecuted for using a bit of free code. Now, a German jurist will make a decision sometime in the future.”