Software Freedom Conservancy: Distributing Linux With ZFS Is Illegal (phoronix.com)
LichtSpektren writes: Phoronix reports that Bradley M. Kuhn and Karen M. Sandler at the Software Freedom Conservancy (SFS) have posted a blog post today arguing that Canonical's plan to distribute Ubuntu 16.04 LTS "Xenial Xerus" with support for the ZFS file system violates the Linux kernel's GPLv2 license.
On February 18, Dustin Kirkland at Canonical wrote on his blog: "We at Canonical have conducted a legal review, including discussion with the industry's leading software freedom legal counsel, of the licenses that apply to the Linux kernel and to ZFS. And in doing so, we have concluded that we are acting within the rights granted and in compliance with their terms of both of those licenses...The CDDL cannot apply to the Linux kernel because zfs.ko is a self-contained file system module — the kernel itself is quite obviously not a derivative work of this new file system. And zfs.ko, as a self-contained file system module, is clearly not a derivative work of the Linux kernel but rather quite obviously a derivative work of OpenZFS and OpenSolaris. Equivalent exceptions have existed for many years, for various other stand alone, self-contained, non-GPL kernel modules. Our conclusion is good for Ubuntu users, good for Linux, and good for all of free and open source software."
The SFS's blog post of today states: "We are sympathetic to Canonical's frustration in this desire to easily support more features for their users. However, as set out below, we have concluded that their distribution of zfs.ko violates the GPL."
On February 18, Dustin Kirkland at Canonical wrote on his blog: "We at Canonical have conducted a legal review, including discussion with the industry's leading software freedom legal counsel, of the licenses that apply to the Linux kernel and to ZFS. And in doing so, we have concluded that we are acting within the rights granted and in compliance with their terms of both of those licenses...The CDDL cannot apply to the Linux kernel because zfs.ko is a self-contained file system module — the kernel itself is quite obviously not a derivative work of this new file system. And zfs.ko, as a self-contained file system module, is clearly not a derivative work of the Linux kernel but rather quite obviously a derivative work of OpenZFS and OpenSolaris. Equivalent exceptions have existed for many years, for various other stand alone, self-contained, non-GPL kernel modules. Our conclusion is good for Ubuntu users, good for Linux, and good for all of free and open source software."
The SFS's blog post of today states: "We are sympathetic to Canonical's frustration in this desire to easily support more features for their users. However, as set out below, we have concluded that their distribution of zfs.ko violates the GPL."
As usual, it has less to do with the specific example as it has to do with precedents that may not be desirable. It seems like if you release these two things "separately", then nothing is wrong. However by including this other binary with this problematic license as part of a single distribution you are "apparently" breaking the terms of the GPLv2 which requires the distribution be under GPLv2.
Hairs can be split about what a "distrubution" is. I can add ZFS to my own system and not be wrong. Why cannot a script add ZFS to my system for me during install? When does it become a "distribution", given that most of us don't install from optical media anymore, and frequently download bits and pieces as we need them for our system anyway. I'm trying to see the evil here that this narrowly avoids, but I don't yet...provided the terms of the various pieces of software are still met on their own.
Oracle has been looking to profit form the free labor from open source software advocates ever since it was losing clients to MySQL which they later purchased. The original developers were so concerned they created MariaDB. And from this LibreOffice sprung to protect "OpenOffice" and after realizing Oracle was never going to make money on OO They give it to the Apache Foundation. Oracle has not had a history of playing nice with the open source community and their development on MySQL and related products has not exactly been dedicated. Suspect they are only doing it because it was a condition for the EU to allow the European portion of the take over of Sun Microsystems. Why hasn't Oracle just put put ZFS as a fully open GPL2 compliant code for all to use and improve? Probably, like OpenOffice, to see if they can exploit it to their benefit in some way, which could even sabotage Linux (or at least Ubuntu). Debian has the right idea in distributing the source only of ZFS. We'll see where this goes but I think The Software Freedom Conservancy is in the right, and in cases like this far better to err on the side of caution. If everyone lobbied Oracle, we could get a proper and compatible ZFS license that oracle couldn't do a poison pill or "about face" on later. Why not give that a try.
"Imagination is more important than knowledge" - Einstein
But the joke here is that it's not Oracle who would sue. It would have to be the Linux Foundation (or some copyright holder of the Linux kernel), because it's not the CDDL that's imposing itself on the Linux kernel. It's the other way around.
It's not like Stallman makes no sense. Imagine 2 societies. Society A in which you are free to enter into any contract want, and society B which is exactly like Society A except that contracts that involve slavery are not legal. Which society has more freedom?
Society A provides the additional freedom to to sell oneself into slavery, so society A is more free.
Society B lacks the freedom to to sell oneself into slavery, so society B is more free.
Which of these statements is true? It's just a pointless semantic debate that depends on your personal definition of a "free society". Is agreeing to use commercial software similar selling yourself into slavery? Not really, but I think it's still an appropriate analogy even if the magnitude of the consequences are not comparable.
No distro outside Solaris is safe and could open your employer to liability from an Oracle audit
I see this mistake repeated over and over in every licensing discussion on Linux and ZFS. The CDDL is not the license crying foul here, so Oracle has no standing to sue. It's the GPL that is trying to infect the CDDL'd code and the CDDL won't let it, hence the incompatibility. IOW, if anybody wanted to file suit, it'd have to come from the Linux side, not the Oracle side. I'll let you imagine the media fallout over anybody who would attempt to sue Canonical for including a piece of open source software in their distro that said zealot doesn't like (remember, the CDDL is the freer of the two).
It's definitely a mess, but so is just about anything where the GPL has been around.
As for authority and jurisdiction: the Common Law of England goes back to the twelfth century, and has been passed on to substantially all English speaking countries (I forget the exceptions). The principles of construction predate this country, and are pretty much the same through the english speaking world.
Frankly, if someone wanted to litigate this, it would be an utter mess. The unwritten changes that *did* become part of the license would be binding upon all later contributions, and attach to them. It is quite possible that different parts have different licenses--and that the whole body of the kernel couldn't be distributed together. *noone* wants to open *that* can of worms . . .(except maybe redmond :)
hawk
Also, while I'm at it, to the extent that some invited, while others tolerated, aside from introducing different licenses with the problem that that creates, leads to the issue of "estoppel"--a situation in which one cannot assert a position, even if legally entitled to do so, do to his prior actions and/or the reliance of another upon those actions. (and for those who care, estoppel is an equitable principle, not a legal principle, having come from the Chancery Courts of England).
All in all, anyone who thinks that they would like the results of the litigation is deluding himself . . .
hawk
Nope, not at all.
The Nvidia driver (nvidia.ko) lives in kernel space, and links to the kernel. It also links to a small GPL-licensed "shim" driver, because the Nvidia driver is a proprietary blob (and likely very close to their Windows driver architecturally), and the kernel changes frequently. So that they don't have to maintain a different proprietary blob version for every single kernel version out there (which would be a daunting task, given all the kernel versions and all the different subversions and variants made by all the distros), they have a single blob, and then the shim gets compiled for the kernel on the target system, and links the two.
Inter-process communication would be a disaster for something very high-performance like a 3D video driver.