Open-source developer Parallels finally released the source code for the Wine software used by Parallels Desktop 3.0 on Monday - but only after weeks of prodding by Wine developers and negative publicity on the IT forum Slashdot.
Companies that flout open source licensing rules face having their products taken off the market, although such matters don't often reach the courts.
Developers from the Wine project revealed over the weekend that SWsoft-owned Parallels was playing hard-to-get where it came to the Wine code built into Parallels Desktop 3.0, the Windows-on-Mac virtualisation software released a month ago.
Parallels Desktop takes advantage of the Intel platform of newer Macs to allow Mac OS X users to run Windows and Mac applications simultaneously. The software is giving virtualisation market leader VMware a run for its money, as it competes directly with VMware's Fusion.
Among the new features of Parallels Desktop 3.0 is support for hardware-accelerated 3D graphics, a feature supported by the use of several libraries from the open source Wine project. Wine aims to allow Windows applications to run on Linux desktops, and has been incorporated into a number of other commercial applications, such as CodeWeavers' CrossOver Office.
Wine is licensed under the LGPL - a "light" form of the GNU General Public License (GPL) aimed at libraries and other software. Unlike the GPL, the LGPL is a "permissive" licence - it allows software to, in certain cases, use LGPL-covered programs or libraries without themselves being covered by an open source licence.
However, unlike some other "permissive" licences, such as the BSD licence, the LGPL does place certain obligations on companies that make use of LGPL-covered code - among those obligations being to make any modified LGPL-covered code available for redistribution.
The idea is that if the LGPL code has been altered, users will get access to any changes.
Show me the code
Wine developers first said they became aware that Parallels Desktop 3.0 was using Wine code at the beginning of June, a week before the program's official release. Parallels' program contains four components from Wine, according to Wine developers, something acknowledged by Parallels.
On a user forum, a Parallels forum administrator disclosed that the Desktop software uses "modified" Wine code.
Unfortunately, getting access to the source code in question wasn't easy, with Wine developers recording a number of requests for the code. In early June, a Parallels representative said the code would be released in "one or two days," as soon as it was "packaged for delivery."
Several other requests for the code were made, but the only response was that Parallels was awaiting "legal department approval," according to Wine developer Stefan Dösinger.
Dösinger created a web page to track the issue, but made it clear that it isn't yet a matter of starting "legal action or a publicity campaign."
It was only after the matter was raised on Slashdot over the weekend, amid howls of protest from open source aficionados, that the delays vanished, as if by magic.
Parallels released the code in question to Wine on Monday, at the same time as the company released a statement to Techworld saying the code would be made available to anyone else who requested it.
"Parallels Desktop is in full compliance with the Wine licence," the spokesman added. "We have checked our usage of the code and believe that we have in no way violated the licence."
Dösinger said he had received the files and made them available himself for redistribution, via the Wine site.
"What is yet to be verified is if these are the sources used to build the libraries shipped in Parallels Desktop for Mac," Dösinger said.
Licensing compliance is a serious issue for software developers. If Parallels were found to be seriously amiss in making its modified LGPL code available, Wine developers could, for example, request that a court block Parallels from distributing the software on the grounds that it contains code in violation of the licence.
In 2005, for instance, gpl-violations.org founder Harald Welte obtained a court injunction against security software maker Fortinet banning the company from distributing its products until it complied with GPL provisions. As a result, the company agreed to make some of its source code available.
On the other hand, some companies have been lax about redistributing modified open source code without the matter ever quite reaching the courts.
Some users have complained that SWsoft itself - which owns Parallels - has a less than stellar track record where it comes to making available the modified open source packages provided by SWsoft with its server management software Plesk.
One user, claiming to work for a firm that makes heavy use of Plesk, wrote anonymously on Slashdot: "I really think SWSoft have pushed their luck for too long already. It's about time they either became compliant and released ALL of the code they were meant to - or they should be punished legally."