Two views of ZFS's GPL-incompatibility and the Linux kernel

January 13, 2019

As part of a thread on linux-kernel where ZFS on Linux's problem with a recent Linux kernel change in exported symbols was brought up, Greg Kroah-Hartman wrote in part in this message:

My tolerance for ZFS is pretty non-existant. Sun explicitly did not want their code to work on Linux, so why would we do extra work to get their code to work properly?

If one frames the issue this way, my answer would be that in today's world, Sun (now Oracle) is no longer at all involved in what is affected here. It stopped being 'Sun's code' years ago, when Oracle Solaris and OpenSolaris split apart, and it's now in practice the code of the people who use ZFS on Linux, with a side digression into FreeBSD and Illumos. The people affected by ZoL not working are completely disconnected from Oracle, and anything the Linux kernel does to make ZoL work will not help Oracle more than a tiny fraction.

In short, the reason to do extra work here is that the people affected are Linux users who are using their best option for a good modern filesystem, not giant corporations taking advantage of Linux.

(I suspect that the kernel developers are not happy that people would much rather use ZFS on Linux than Btrfs, but I assure them that it is still true. I am not at all interested in participating in a great experiment to make Btrfs sufficiently stable, reliable, and featureful, and I am especially not interested in having work participate in this for our new fileservers.)

However, there is a different way to frame this issue. If you take it as given that Sun did not want their code to be used with Linux (and Oracle has given no sign of feeling otherwise), then fundamental social respect for the original copyright holder and license means respecting their choice. If Sun didn't want ZFS to work on Linux, it's hostile to them for the kernel community to go to extra work to enable it to work on Linux. If people outside the kernel community hack it up so that it works anyway, that's one thing. But if the kernel community goes out of its way to enable these hacks, well, then the kernel community becomes involved and is violating the golden rule as applied to software licenses.

As a result, I can reluctantly and unhappily support or at least accept 'no extra work for ZFS' as a matter of principle for Linux kernel development. But if your concern is not principle but practical effects, then I think you are mistaken.

(And if Oracle actually wanted to take advantage of the Linux kernel for ZFS, they could easily do so. Whether they ever will or not is something I have no idea about, although I can speculate wildly and their relicensing of DTrace is potentially suggestive.)


Comments on this page:

At this point it feels like we should introduce a Year Of Btrfs Becoming Stable to accompany the Year Of Linux On The Desktop. Neither of them look like they’ll ever happen.

When btrfs was new I was really excited for it. It took a long time for my excitement to wane but eventually I settled into a sort of patient expectation. But it has taken long enough for me to switch OSes a couple times in the meantime and somewhere in there I simply lost interest. It no longer feels like it will ever get there.

As to Sun/Oracle no longer being in the driver’s seat, that should be evident from ZOL becoming the upstream for the other ZFS ports…

Re: Greg K-H: Sun ceased to exist how many years ago now? Talk about hold a fsck'ing grudge.

You're holding back better integration of one of the best file systems currently available because of a perceived slight from over a decade ago? And where exactly did he get the idea that Sun didn't want ZFS in Linux? Is it the CDDL myth again?

Simon Phipps and Bryan Cantrill have been trying to set the record straight for many years now:

Also: why don't we just ask the people who actually wrote ZFS what they wanted? We're not talking about the ancient past: Jeff Bonwick, Bill Moore, and Matthew Ahrens are still kicking around.

Written on 13 January 2019.
« The risk that comes from ZFS on Linux not being GPL-compatible
Why your fresh new memory pages are zero-filled »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Jan 13 23:50:46 2019
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.