Does a Leading Windows Environment for Mac Violate the LGPL?
The producer of Wine, an open-source, reverse-engineered set of libraries designed for running Windows applications on Unix-based systems, is raising suspicion over whether virtualization company SWsoft, which makes Parallels, is failing to uphold the terms of its open source license by not releasing the source code it already admits to having modified.
Just one month ago, SWsoft released the latest edition of its Parallels virtualization environment for Mac OS X, enabling users to install Windows or Linux and their applications, and to have those applications appear to run seamlessly on the Mac desktop. As some Parallels users discovered almost by accident -- by way of responses to their bug reports -- certain key elements of Parallels related to OpenGL and DirectX graphics transformations are handled by modified portions of the Wine open source library.
SWsoft acknowledges it's following the terms of the Lesser General Public License, version 2.1. Derived from an older GPL for libraries, the LGPL allows commercial software licensees to distribute open source libraries, or even modified versions of them, so long as they continue to distribute the source code including those modifications. (Contrary to some beliefs, the LGPL does not force a commercial software publisher to release the source code for the entire application that uses the open-source library.)
But as a tracking page published by the Wine organization indicates, it appears to have learned SWsoft was using Wine code when traces of Parallels bugs mentioned in public forum posts and observable in some screenshots matched bugs already discovered in Wine libraries.
Version 2.1 of the LGPL reads in part, "You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code."
When questioned by a Parallels user with regards to his discovery of the Wine libraries on June 8, the administrator of its forum responded, "In current implementation Parallels uses modified Wine code under LGPL license. LGPL license is not violated because Wine is absolutely separate binary (number of DLLs) installed in guest Windows and doesn't linked to any of Parallels code. It used for DirectX to OpenGL translation."
The admin then directed the user to a page from which he could request copies of the modified Wine source code. As it turned out, the user in question was Stefan Dosinger, a contributor to the Wine organization and the proprietor of the Wine page tracking the status of SWsoft's response to his requests.
After having received only automated responses from the company, last Friday Dosinger finally got an e-mail from a genuine person, who says his request now awaits "legal department approval."
"We just bought $10,000 worth of licenses from them [SWsoft]," writes a contributor to the Something Awful forums on Friday, when Dosinger's news was announced there. "We don't need this poo poo."
At issue is whether SWsoft was simply unprepared to respond to Dosinger's or anyone's requests for the modified source code, or whether it actually never intended to follow the LGPL as some open source proponents and developers contend. While the issue could arise as to whether SWsoft's modifications contain proprietary trade secrets it would not want revealed to the world, the admin of SWsoft's forums did say the modified libraries did not link back to Parallels - which would appear to thwart that argument.
As another Something Awful forum contributor wrote, "It's quite possible Parallels has made some improvements to Wine's Direct3D code, and we'd very much like to have them in Wine upstream. This is what the LGPL is all about. I suspect currently that they're either being lazy or mismanaged rather than maliciously trying to hide their code."
However, whether SWsoft intended to become a de facto supplier of upstream enhancements for Wine, may not have been in the company's plans. Bringing enhancements from commercial developers into the public stream was one of the purposes of the original Library GPL, the precursor to today's LGPL.
But since 1999, the Free Software Foundation has been encouraging developers not to use the LGPL even though it continues to be available. Instead, they want open source licensors to choose the regular GPL, for this reason: "Proprietary software developers have the advantage of money; free software developers need to make advantages for each other. Using the ordinary GPL for a library gives free software developers an advantage over proprietary developers: a library that they can use, while proprietary developers cannot use it."
BetaNews has contacted SWsoft for comment, which may yet be forthcoming.