... 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-...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
(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..)
That said, I'd be interested to see what the solution was.
Then could you explain what this commit is:
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.
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.
There is no legal precedent suggesting that was actually necessary either. Or are you aware of a court case
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?
The only case where you cannot distribute ZFS is if you link it into the vmlinux binary that your bootloader loads. In that case, it is no longer a LKM and you can claim the binary is a derived work of Linux. That is what I believe shmeri meant.
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.
See: http://open-zfs.org/wiki/FAQ#Do_you_plan_to_release_OpenZFS_...