Linux to get ZFS?

An intriguing post appeared yesterday on the blog of Jeff Bonwick, where it simply shows photos of an informal meeting between Jeff and Linus Torvalds — could it be that Linux will get ZFS soon, due to changes in licensing, or could Linus be joining the ZFS team with Sun, or something else?

It might make sense for Linux to get ZFS, as it would provide a huge user base for heavy testing of ZFS, and would make the Linux community very happy, no doubt.

After all, OpenSolaris has ZFS, Mac OS X 10.5 aka Leopard has a read-only version of ZFS (read/write version from http://zfs.macosforge.org/trac/wiki/), and FreeBSD 7.0 has ZFS too.

So it makes sense to have ZFS on Linux too.

There is already a version of ZFS available for Linux, known as the ZFS on Fuse project, but as this runs in userland, performance is reported to be less than ideal.

However, if Linux is to implement ZFS within the kernel, then either the Linux community need to make an allowance for the fact that ZFS uses a non-GPL license (CDDL), or the existing ZFS needs to be released, additionally, under the GPL license.

I will be most interested to see what happens.

Perhaps the clue is in the post title: Casablanca?

I’ll leave you with the last lines of the synopsis of the film ‘Casablanca’ from IMDB:

They disappear into the fog with one of the most memorable exit lines in movie history:
“Louis, I think this is the beginning of a beautiful friendship.”

What do you think?

See more here: Casablanca

Oh, and this little link provides a little more weight to the idea that ZFS may come to Linux one day.

And for anyone that likes to blame Sun for Linux not being able to use ZFS, read this, where it says:

Porting ZFS to Linux is complicated by the fact that the GNU General Public License, which governs the Linux kernel, prohibits linking with code under certain licenses, such as CDDL, the license ZFS is released under. One solution to this problem is to port ZFS to Linux’s FUSE system so the filesystem runs in userspace instead. A project to do this was sponsored by Google’s Summer of Code program in 2006, and is in Beta stage as of March 2008. The ZFS on FUSE project is complete. Running a file system outside the kernel on traditional Unix-like systems can have a significant performance impact. However, NTFS-3G (another file system driver built on FUSE) performs well when compared to other traditional file system drivers. This shows that excellent performance is possible with ZFS on Linux after proper optimization. Sun Microsystems has stated that a Linux port is being investigated.

So, as can be seen, it is the GPL license itself which is the reason that Linux doesn’t allow itself to use ZFS. FreeBSD and Mac OS X (read only version of ZFS currently in retail version) are already using ZFS, in addition to Solaris, of course.

For ZFS Home Fileserver articles see here: A Home Fileserver using ZFS. Alternatively, see related articles in the following categories: ZFS, Storage, Fileservers, NAS.

Join the conversation

2 Comments

  1. Well, your conclusion is wrong AFAICS. Simple fact, the GPL was there long before ZFS so it was SUN who choose to use a licence incompatible with Linux.
    Not talking about the merit, just the facts 🙂

  2. Well, you’re probably right about that. I haven’t read all of the GPL so I’m just going by what I read on the net plus wikipedia. But FreeBSD and Mac OS X are using ZFS without problems… anyway, I’m sure an amicable solution will be reached someday, perhaps sooner than we think (Casablanca).

    For myself, I had used Red Hat & Debian Linux quite a lot on my home systems too, but I said to myself: ‘I want ZFS and I’m not scared of trying a new UNIX flavour’ — so I tried Solaris, and it’s been mostly a good experience so far, so no real complaints. Of course, it’s not perfect, but then nothing is. For example, power management (suspend/resume) still doesn’t seem to work with my hardware, but hopefully it will work someday…

Leave a comment

Your email address will not be published. Required fields are marked *