The company is being accused of violating the GNU General Public Licence version 2, the licence under which the Linux kernel is released.
This is not the first time that Canonical and its founder Mark Shuttleworth have ended up on other side of the table as others in the community. This has been going on regularly since Ubuntu was first released in 2004.
The ZFS filesystem was developed by the late Sun Microsystems. Like many other technologies, Sun hung on to it and then released it under some kind of open licence at a time when it would make little difference to the company's future. It was released in OpenSolaris, Sun's bid to attract developer and user interest in Solaris, in 2007.
Alas, it was far too late for it to attract attention from the mass of open-source developers. (Sun also delayed opening up Java and has paid a price for that. Oracle is continuing to pay the price even today, which accounts for its increasing lack of interest in the language.)
The licence under which OpenSolaris was released — the Common Development and Distribution Licence — while satisfying the requirements of being an open licence, did not quite catch the imagination of the open source community. Making a code contribution to OpenSolaris was a bureaucratic nightmare. Even as late as 2009, Sun was in denial about its open source efforts, and acting as though everything was hunky-dory. Company apologists like the then chief open source office Simon Phipps were adept at covering up when asked direct questions about the seeming lack of direction.
|
And so, we come to the question of licensing. The GPL has a viral quality about it: one can modify the code to one's heart's content but if the finished product is distributed, then the changed source code has to be offered as well. And then there is a catch about derivatives; the source of anything that is deemed to be a derivative work of the program has to be also available under the same licence.
There are sections of the two licences that are clearly at odds with each other.
Section 2(b) of the GPLv2 says: You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
This is contradicted by section 3.4 of the CDDL which insists that people cannot apply the additional restrictions of the GPLv2: You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients rights hereunder.
Exactly how Canonical gets around that only the company knows. Shuttleworth — and indeed the head of every commercial Linux company — is desperate to have a selling point for their offering which marks them out from the rest. Given that the components of most Linux distributions are under open licences, they can be used by all and sundry.
Canonical claims that after a legal review, it is sure that there is no problem in using ZFS with the rest of its distribution. And it has as usual displayed its head-in-the-sand approach by saying, "As we have already reached the conclusion, we are not interested in debating license compatibility, but of course welcome the opportunity to discuss the technology."
That's a big f*** you to the rest of the community.
But in the case of ZFS, it is doubtful if anyone else would take the risk of using it. It would be a different case if Oracle themselves had used ZFS in their Linux distribution. Then everyone could use it without fear of lawsuits. For example, the DTrace tracing network, another piece of Sun technology, has been included in Unbreakable Linux by Oracle; hence every other Linux distribution can use the technology without fear.
Come October, it will be 12 years since Ubuntu made its debut. Despite his deep pockets, Shuttleworth would be desperate to be able to announce a profit. His pool of finance is not an endless pit, it has limits. Hence the motives behind the inclusion of ZFS are clear. But they do tend to leave a bad taste in the mouth.