6 ms·
Sorry to be a downer folks, but Canonical is violating GPLv2 by merging ZFS into their kernel tree. The CDDL and GPL are incompatible. https://twitter.com/mjg
by davexunit 11y ago
Sorry to be a downer folks, but Canonical is violating GPLv2 by merging ZFS into their kernel tree. The CDDL and GPL are incompatible.
https://twitter.com/mjg59/status/700073945064611841 https://twitter.com/mjg59/status/700073945064611841
- shmerl 11y agoThey don't need to merge it into the kernel though. If it's installed as a kernel module post installation, it doesn't violate GPL.
- davexunit 11y ago>They don't need to merge it into the kernel though. Then could you explain what this commit is: http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/commit/zfs?id=b65ce14d3445e8fe69b5d59aaaf2699319714179 http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/commit... Canonical cannot ship ZFS in binary form. Kernel modules are derivative works of the kernel, and thus they must be distributed under GPLv2.
- ryao 11y agoA user editing the wiki posted incorrect information that he inferred from the use of DKMS. It happens.
- 2trill2spill 11y agoZFS is not a derivative work of the Linux kernel seeing as it was developed on Solaris and later Illumos.
- davexunit 11y agoZFS on Linux doesn't work unless it's linked against interfaces provided by Linux. This is a derivative work, and thus the combined work must be distributed under GPLv2.
- shmerl 11y agoGPL doesn't stop you from linking post installation. See http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue
- jamespo 11y agoUserland software doesn't work unless it can use system calls provided by the Linux kernel either.
- mjg59 11y agoThe kernel copyright file expressly states that using the standard system call interface does not create a derivative work. There is no such statement about in-kernel symbols.
- ryao 11y ago> The kernel copyright file expressly states that using the standard system call interface does not create a derivative work. There is no such statement about in-kernel symbols. There is no legal precedent suggesting that was actually necessary either. Or are you aware of a court case
- prutschman 11y agoThat's a good assurance that would probably estop a Linux copyright holder from later claiming that a binary using only the system call interface is an infringing derivative work. It doesn't have the power to define a binary module using an internal interface as a derivative work; that can only be done by a court interpreting copyright law in a particular jurisdiction. In the United States, different Federal Circuit courts have different views of what constitutes a derivative work in software.
- ryao 11y agoLinking does not matter for the GPL. What matters it he legal concept of a derivative work. It just so happens that linking to a dynamic library bears a strong resemblance to a derivative work. LKMs and plugins in general are an entirely different matter. GPL software that supports plugins implicitly allows proprietary software to be loaded into it. That is why the FSF had been opposed to allowing plugins in GCC for years until competition from Clang required that they become more tolerant or face irrelevance. That being said, would anyone who believes this "linking to the kernel" argument please explain what linking actually means and how it is related to the GPL when the term "link" is not even present in the GPL?
- shmerl 11y ago> Canonical cannot ship ZFS in binary form. Building kernel module on the fly when deploying ZFS is an acceptable workaround. I think that's exactly how it was planned to be used in Debian. I really have no clue what Canonical are planning though.
- StavrosK 11y agoI'm going to go out on a limb and say that Canonical were aware of this and have found a solution. That said, I'd be interested to see what the solution was.
- baldfat 11y agoNO VIOLATION! Sorry but Cannanicol has annoucned OpenZFS http://open-zfs.org/wiki/Main_Page http://open-zfs.org/wiki/Main_Page The wiki page is ZFS edited in Dec and not OpenZFS
- lobster_johnson 11y agoComment by Richard Yao, Gentoo dev and ZFS On Linux contributor [1]: ... there is no legal issue preventing the sources from being combined because neither the CDDL nor the GPL place restrictions on aggregations of source code, which is what putting ZFS into the same tree as Linux would be. Binary modules built from such a tree could be distributed with the kernel's GPL modules under what the GPL considers to be an aggregate. These concepts have passed legal review by many parties. [1] http://www.phoronix.com/forums/forum/software/general-linux-open-source/827623-ubuntu-is-planning-to-make-the-zfs-file-system-a-standard-offering?p=827628#post827628 http://www.phoronix.com/forums/forum/software/general-linux-...
- jamiesonbecker 11y ago"However, there is nothing in either license that prevents distributing it in the form of a binary module or in the form of source code." http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue Whether any loadable kernel module can be licensed under a different license than the GPL is still up for debate (even Linus says "sometimes"): http://www.tldp.org/HOWTO/Module-HOWTO/copyright.html http://www.tldp.org/HOWTO/Module-HOWTO/copyright.html (Of course, Ubuntu et al have been doing this for years e.g. with Nvidia or HBA binary blob drivers, so it does appear to be a mostly-settled issue..)
- ryao 11y agoThis was settled with the Andrew filesystem, which is a matter that I do not believe Linus considers up for debate. ZFS being a port from another system just like the Andrew filesystem is naturally in the same boat.