Linked by Thom Holwerda on Mon 7th Jun 2010 10:15 UTC, submitted by kragil
Linux Employees of Lawrence Livermore National Laboratory have ported Sun's/Oracle's ZFS natively to Linux. Linux already had a ZFS port in userspace via FUSE, since license incompatibilities between the CDDL and GPL prevent ZFS from becoming part of the Linux kernel. This project solves the licensing issue by distributing ZFS as a separate kernel module users will have to download and build for themselves.
Permalink for comment 428754
To read all comments associated with this story, please click here.
Member since:

> Correct me if I'm wrong, but isn't this still breaking the licensing terms?


> I mean, is there not still CDDL code in a GPL kernel?


And CDDL is incompatible with the GPL.

The reason it's legal is because GPL is a copyright license. Copyright is limited in scope, by constitutional law, to 'derivative works'.

"Derivative works" is a term encoded into copyright law that limits the rights of copyright owners to only items they created and items created from what they created.

That is if I write a poem and you write a poem my copyrights on my poem does not affect the copyrights on your poem.

'DUH', right?

That is what is happening here.

The code for the Linux ZFS driver is derived from Oracle's copyrighted code. The only legal grounds for using that code is under the CDDL license. So thus it's governed by the CDDL because it's derived work from the Solaris kernel.

But the process of modifying it for compatibility to the Linux kernel does NOT mean that the it's now derived from the Linux kernel. If there is no code from Linux in the Linux ZFS driver then the source code is legally distributable under the CDDL license and thus is not affected by the GPL license.

So it's legal to distribute in SOURCE CODE FORM. Its still pure CDDL licensed/derived.

Once you compile it into a kernel module, however, then the driver 'sucks in' Linux kernel code as part of the compilation process.

Thus, in binary format, because it incorporates both Linux and Solaris code then the actual finished driver will be derived from both CDDL'd and from GPL'd code.

Since they are incompatible there is no legal standing for you to redistribute it. Since they null each other out then there is no legal standing for your use of it. Hence it would be a violateion of copyright law for you to redistributed the finished binary driver.

The reason it's legal for you to USE the combined Linux/Solaris code and NOT be able to distribute it... is because the GPL only kicks in during distribution.

The GPL intentionally limits itself to situations were your distributing the code (in binary or source code format) to third parties.

As long as your only using it yourself then the GPL has ZERO affect over your usage. It's actually freer then the BSD license in this respect. You can treat it like it's public domain and combine it with whatever code you want. There is ZERO restrictions on GPL usage.



* The driver is being distributed in source code format.

* The source code format does not include any GPL'd software or Linux derived software. It's only designed to be compatible with the Linux kernel.

* So the GPL does not restrict it because it does not affect it.

* GPL only affects distribution, not usage. There are ZERO restrictions at all on usage.

* Downloading the source code and compiling it with the Linux kernel makes it legally usable, but illegally distributable.

Reply Parent Score: 4