by Swapnil Bhartiya

Software Freedom Conservancy: Canonical’s distribution of ZFS file systems violates GNU GPL

Feb 26, 2016
LinuxOpen SourceOperating Systems

ZFS will come pre-installed on Ubuntu 16.04, a move that the Software Freedom Conservancy says violates the GNU GPL license.rn

I recently started using ZFS to build my file and media server with redundancy. (I have been waiting for Btrfs, which offers the same features as ZFS, to mature, but it’s taking way too long.) I used FreeNAS for a while that comes with ZFS but I needed more control over my server, and I am kind of a ‘Linux’ guy, no offense to BSD folks. So whenDebian added ZFS support, I got increasingly excited about ZFS on Linux. I installed it on my Debian server and even wrote a tutorial. But while it’s safe to use ZFS on Linux for personal purposes, there are some serious licensing issues.

ZFS is one of many great technologies that were developed by Sun Microsystem and it’s also one of those many Sun technologies that were a licensing mess for Linux. ZFS is licensed under the Common Development and Distribution License, version 1 (CDDLv1), whereas Linux kernel is licensed under GNU GPL v2. Both are free software licenses, but are not compatible with each other. Later Oracle acquired Sun Microsystem and along with it all these great technologies and incompatible licenses.

Last week, in a surprise move, Canonical’s Dustin Kirkland announced in a blog post that ZFS will come pre-installed on Ubuntu 16.04 and will be supported by Canonical.

Since I knew there were licensing issues, I went ahead and asked Kirkland about it. (No surprises that Simon Phipps and Matthew Garrett also shared the same concerns on the same thread on Google +.)

Kirkland came back with a follow-up blog post. He said that Canonical’s legal team reviewed the licenses and concluded that “we [Canonical] are acting within the rights granted and in compliance with their terms of both of those licenses.”

He further wrote:

Our conclusion is good for Ubuntu users, good for Linux, and good for all of free and open source software.

He also stated since Canonical has already reached the conclusion, we are not interested in debating license compatibility, but of course welcome the opportunity to discuss the technology.

But not everyone thinks the matter is so cut-and-dried. Software Freedom Conservancy said in a blog post that contrary to what Canonical’s legal team concluded, Ubuntu’s distribution of zfs.ko is a violation of GNU GPL.

Bradley M. Kuhn and Karen M. Sandler of SFC wrote in a blog post:

Conservancy and the Linux copyright holders in the GPL Compliance Project for Linux Developers believe that distribution of ZFS binaries is a GPL violation and infringes Linux’s copyright. We are also concerned that it may infringe Oracle’s copyrights in ZFS. As such, we again ask Oracle to respect community norms against license proliferation and simply relicense its copyrights in ZFS under a GPLv2-compatible license.

Where things stand now

Canonical is not interested in discussing any further. They have assured thattheir paid customers have their full backing under the Ubuntu Assurance program. So if you are a Canonical customer, you are covered.

ZFS is an excellent technology and I believe Canonical is doing a great service to its users by offering such great support for ZFS. They are trying to make the lives of Linux users easier. That said, since SFC considers it a violation of GPL it may discourage many current and potential users.

There is an easy (and good) solution: Since Oracle owns ZFS they can very easily relicense it and make it compatible with Linux. This would quickly bring an end to the licensing mess and Linux users will be able to use the excellent file system that ZFS is.

Will Oracle do it?

# zpool status canonical-zfs  
   pool: canonical-zfs 
   state: DEGRADED 
   status: One or more licences are not compatible. Sufficient legal transparency missing from the pool to continue functioning in a degraded state. 
   action: Oracle should change the ZFS licence and make it compatible with GNU GPL to ensure expected redundancy.