The fact is, until Oracle chief Larry Ellison offers the software community a written assurance that his company - which owns ZFS through its purchase of Sun Microsystems in 2010 - will not sue anyone for using it, its take-up will be limited.
According to the OpenZFS GitHub repository, the platforms supported are Linux, with kernels from 3.10 to 5.9 supported, and FreeBSD, with release 12.2, stable/12 and 13.0 (HEAD) able to use the software.
ZFS was developed by Sun and is reputed to be the best filesystem available for UNIX-like systems. But due to its licensing, the take-up has been very limited.
|
Like many other technologies it developed, Sun hung on to ZFS 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 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.
Then in 2010, Oracle swallowed up Sun and became the owner of the ZFS filesystem. The company has chosen not to use ZFS in its own GNU/Linux distribution – what it calls Unbreakable Linux and which is basically Red Hat Enterprise Linux repackaged. [Oracle can do this because RHEL is released under the GPL.] Instead, Oracle uses btrfs which was developed by Chris Mason, an Oracle employee who later moved to Facebook. [SUSE Linux also uses btrfs as default while Red Hat uses ext4.]
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 licence."
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."
Thus it is not surprising that when asked about incorporating ZFS into the kernel, Linux creator Linus Torvalds had this to say: "If somebody adds a kernel module like ZFS, they are on their own. I can't maintain it, and I cannot be bound by other people's kernel changes.
"And honestly, there is no way I can merge any of the ZFS efforts until I get an official letter from Oracle that is signed by their main legal counsel or preferably by Larry Ellison himself that says that yes, it's OK to do so and treat the end result as Gold."
I asked OpenBSD chief Theo de Raadt whether he would be able to use ZFS on OpenBSD, widely reputed to be the most secure of the three BSDs. De Raadt, a man who is very economical with words, replied with a single word: "Nope."
Senior Debian developer Russell Coker was a little more forthcoming. "The persistent L2ARC is an obvious feature that was needed for a long time," he told iTWire in response to queries.
"The Zstd compression invented by Facebook is the best way of compressing things nowadays, it's generally faster while giving better compression than all other compression algorithms.
"The PAM module for encrypted home directories is interesting. Having the same code base for Linux and BSD is good."
Pointing to a feature known as device evacuation removal, Russell said: "I haven't been able to discover whether this (or equivalent) was included in the new release. I'll have to test this, it's a big deal."
Later he said: "I tried it and it doesn't include the patch that allows removing mistakenly adding devices. But it does have a change that makes it difficult to accidentally add such a device."
Asked how the average Linux user could use ZFS, he said it was not that hard and pointed to a set of training notes that he had drafted.
When iTWire asked Russell about the licensing issues mentioned by Torvalds, he responded: "The Oracle lawyers have shown no signs of disagreeing with the things people are doing with ZFS."
Despite this optimism on the part of a seasoned developer, it is easy to see why Torvalds is wary. One reason goes back to 2003, when Darl McBride, who at that time led an organisation known as SCO, sued IBM, with broad claims of intellectual property ownership of the various UNIX operating systems derivatives developed by IBM under a license originally granted by AT&T Corporation.
At that point, even Linux seemed to be under threat and the kernel project had a lot of work to do in order to get its paperwork prepared in the case of a lawsuit.
A second example was in 2005, when Larry McVoy, the owner of BitKeeper, a proprietary source code management tool, suddenly withdrew permission for its use by the Linux project. Torvalds had been using it for a while and McVoy got his knickers in a twist when he found that Andrew Tridgell, a well-known Australian free software developer and the creator of Samba, had been looking into how BitKeeper worked.
At that point, Torvalds had to really hustle, but with his talents he came up with a system known as git which he then started using to manage the Linux kernel project. Today git has grown to be software used very widely – it has been maintained by Japanese developer Junio Hamano since late 2005 and nobody talks about BitKeeper any more.
Thus, it is highly unlikely that Torvalds will take a risk with ZFS, no matter how good it is and no matter how many features it adds. As the old saying goes, once bitten, twice shy.