LWN.net Logo

Native ZFS Port for Linux (OSNews)

OSNews is reporting that employees at the Lawrence Livermore (US) National Laboratory have ported Sun/Oracle's ZFS filesystem to Linux. The kernel module is distributed in source form to work around the licensing incompatibility between the CDDL and GPL. "Main developer Brian Behlendorf has also stated that the Lawrence Livermore National Laboratory has repeatedly urged Oracle to do something about the licensing situation so that ZFS can become a part of the kernel. 'We have been working on this for some time now and have been strongly urging Sun/Oracle to make a change to the licensing,' he explains, 'I'm sorry to say we have not yet had any luck.' [...] There's still some major work to be done, so this is not production-ready code. The ZFS Posix Layer has not been implemented yet, therefore mounting file systems is not yet possible; direct database access, however, is."
(Log in to post comments)

Native ZFS Port for Linux (OSNews)

Posted Jun 7, 2010 19:20 UTC (Mon) by trasz (guest, #45786) [Link]

So strictly speaking, it's not even a filesystem yet? ;->

Seriously, though - AFAIK Sun was working on running the "lower layers" of ZFS under Linux for quite some time, to use it as Lustre backend. I think the ZPL is what would be hard to port, since Linux VFS is completely different from Unix (SVR4/BSD/whatever) one.

Native ZFS Port for Linux (OSNews)

Posted Jun 7, 2010 21:40 UTC (Mon) by jwb (guest, #15467) [Link]

I thought it was going the other way, and they were trying to run Lustre on Solaris. It all seemed like a fantastic waste of time to me.

Main developer Brian Behlendorf

Posted Jun 7, 2010 19:44 UTC (Mon) by BrucePerens (guest, #2510) [Link]

"Main developer Brian Behlendorf" has same name as the Apache guy, but isn't him.

So ...

Posted Jun 7, 2010 22:33 UTC (Mon) by kmself (subscriber, #11565) [Link]

... he's an imposter?

That's a pretty amusing coincidence, all the same.

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 7:26 UTC (Tue) by chithanh (guest, #52801) [Link]

I think they are barking up the wrong tree. Just because Oracle could more easily change their license than kernel folks, it doesn't mean that they should.

It is not the CDDL which forbids redistributing code linked against GPL, it is the Linux kernel's GPL which forbids this.

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 8:06 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

There is a well known assertion that CDDL was designed to be incompatible with GPL.

http://lwn.net/Articles/198171/

I don't think finding some license to blame is the right approach anyway

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 13:08 UTC (Tue) by trasz (guest, #45786) [Link]

It's a well-known _false_ assertion that came from disgruntled employee, and can be easily disproven by actually looking at the licenses.

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 14:31 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

I have looked at the licenses. It is a MPL derivative and MPL is GPL incompatible as well. Whether it was intentionally designed that way or not cannot be understood by looking at the licenses. I have heard from multiple sources (not just one employee) that it was indeed the case.

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 18:05 UTC (Tue) by shmerl (guest, #65921) [Link]

One of the Osnews commenters posted a link to an interesting video from DebConf where the author of CDDL - Danese Cooper explains some original reasoning behind incompatibility between CDDL and GPL:
http://caesar.acc.umu.se/pub/debian-meetings/2006/debconf...
Interesting, she said that the company even wanted to publish OpenSolaris under BSD license, but developers themselves didn't want that.

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 16:46 UTC (Tue) by rgmoore (✭ supporter ✭, #75) [Link]

It is not the CDDL which forbids redistributing code linked against GPL, it is the Linux kernel's GPL which forbids this.
It's the combination of licenses which causes the problem, not either license in isolation. Either license is fine by itself; it's only when you try to combine them that there's a problem.

That said, the GPL came first, and there was tons of code- including Linux- released under it at the time Sun came out with the CDDL. If Sun truly wanted its code to be GPL compatible, it was their responsibility to choose or write a GPL compatible license. That Sun didn't, and that it never bothered to change the CDDL to make it GPL compatible after having been made aware of the incompatibility, is proof that Sun didn't see the incompatibility as a bug.

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 18:27 UTC (Tue) by drag (subscriber, #31333) [Link]

Yes. And this was a _known_issue_ prior to the creation of the CDDL.

CDDL was based on the MPL. The Mozilla folks solved this problem by triple licensing the code under the MPL, GPL, and LGPL. So the license model that CDDL was based off of has a known history, problem, and resolution with the GPL.

They drafted and published the license with the full understanding that it would be incompatible. So it's hard to imagine that this was anything other then intentional or at least done with the full expectation that it would be incompatible with the GPL.

All of this is fine, it's their code and they can license it under whatever terms they want. Plus the CDDL is just fine from a free software standpoint.. it's every bit as open source and 'Free Sofware' as any other good license; including the GPL.

---------------------

However the upside (for Linux) is that the Oracle folks seem largely incompetent in their dealing with OpenSolaris and have effectively eliminated all relevance and destroyed all the progress Sun Microsystems has done since originally open sourcing it.

So it's really coming down to in between FreeBSD and Linux if people have desire to run ZFS on a open source OS. Hopefully BTRFS matures quickly so it can help put a rest to all the drama.

Pure engineering

Posted Jun 8, 2010 19:17 UTC (Tue) by man_ls (subscriber, #15091) [Link]

Yes, OpenSolaris is largely irrelevant, and it would be interesting to know exactly why: network effects, licensing or popularity must have played a role, but from a pure engineering perspective it is a nice OS which has unique features. Sun directives have trumpeted ZFS and zones as unique features, perhaps a little bit too much, but people have mostly stayed away from it.

Do you people have any ideas as to why?

Pure engineering

Posted Jun 8, 2010 19:24 UTC (Tue) by martinfick (subscriber, #4455) [Link]

Zones are hardly unique. Linux has had several container technologies for almost a decade, including linux containers which have been mainlined for quite a while now.

Trust

Posted Jun 8, 2010 21:19 UTC (Tue) by rriggs (subscriber, #11598) [Link]

Mostly it had to do with trust. Not enough developers trusted that Sun would actually foster an open source community with OpenSolaris. It would take decades of commitment to a truly open source development model to motivate the loyalty from developers that GNU, Linux or the BSDs have.

Pure engineering

Posted Jun 9, 2010 7:19 UTC (Wed) by drag (subscriber, #31333) [Link]

> Do you people have any ideas as to why?

Typical Sun BS. They were starting to do good until Oracle took over and then everything went south in a big hurry.

The development has totally gone off the deep end. Total wall off. It's worse then second class citizens of the OpenSolaris community... you may be able to contribute code if you can manage to get one of the employees to sponsor you, but otherwise your SOL.

And because of this, and other reasons, the 'OpenSolaris Community' is nothing more then a handful of users and admins that just don't really like Linux that much and FreeBSD is too hippy for them.

The evidence of this is that OpenSolaris's release is about 3-4 months late and nobody really seems to give a crap anymore.

Native ZFS Port for Linux (OSNews)

Posted Jun 8, 2010 22:40 UTC (Tue) by ballombe (subscriber, #9523) [Link]

No the CDDL is not a fine free software license. It has language that reduce the right of someone accepting the license (the choice-of-venue provision), something a fine free software license should never do.

Native ZFS Port for Linux (OSNews)

Posted Jun 9, 2010 1:05 UTC (Wed) by rgmoore (✭ supporter ✭, #75) [Link]

Ugh. That choice of venue clause is really terrible. If a contributor other than the original developer tries to sue, they are forced to sue in the venue specified by the original developer. So if Sun sets the venue as California, a contributor from Germany who discovers a violator in Indonesia would have to sue in California. That's crazy.

This points to a more general idea: a Free Software license shouldn't give special rights to the "original author". As I see it, the essential goal of Free Software is to even the balance between software creators and software users. The biggest sign of that is that users can become creators by reading and modifying the source. Reserving special rights for the original author is proprietary software thinking and undermines that ethos.

Native ZFS Port for Linux (OSNews)

Posted Jun 9, 2010 9:35 UTC (Wed) by tzafrir (subscriber, #11501) [Link]

Sadly Linus also made that very same mistake:

http://packages.debian.org/changelogs/pool/non-free/s/spa...
(The link "Copyright file" from http://packages.debian.org/sid/sparse )

Native ZFS Port for Linux (OSNews)

Posted Jun 9, 2010 11:18 UTC (Wed) by rahulsundaram (subscriber, #21946) [Link]

If choice of venue clause makes a software non-free, shouldn't all CDDL licensed software be in non-free in Debian? It doesn't seem that way. FSF doesn't consider it non-free. Just problematic.

Native ZFS Port for Linux (OSNews)

Posted Jun 9, 2010 14:42 UTC (Wed) by nybble41 (subscriber, #55106) [Link]

Even more of a mistake, I think, is that it may be impossible to satisfy the terms of that license with respect to derivative works. The venue clause requires lawsuits to be brought *only* in the *Licensor's* jurisdication--so what happens if there is more than one Licensor (original author + author of a derivative work, which must be under the same license) and they live in separate jurisdictions? You can't sue at all, since any lawsuit would violate at least one author's terms?

At least it seems to make more sense to use the Licensor's jurisdiction rather than the original author's, since the Licensor must be a party to the suit and the original author might not be (again, in the case of derivative works).

Native ZFS Port for Linux (OSNews)

Posted Jun 10, 2010 21:59 UTC (Thu) by Wol (guest, #4433) [Link]

And such a clause (in the UK) *cannot* be enforced against a person.

Under UK law, if a natural person is sued, they have choice of venue. END OF.

I'm not sure how far I've understood it, but I think say a German company suing an English person, in an English court, under California law, might prove a very interesting spectacle (that's assuming it can even be done, of course :-)

Cheers,
Wol

Native ZFS Port for Linux (OSNews)

Posted Jun 10, 2010 21:42 UTC (Thu) by jrn (subscriber, #64214) [Link]

Not an accident at all.

From <http://git.kernel.org/?p=devel/sparse/sparse.git;a=blob;f...>:

> [...] I don't want to see a GPL'd project suck in the LGPL'd front-end, and then make changes to the front end under the GPL (this is something that the LGPL expressly allows, and see the previous question for why I think it's the _only_ thing that I will not allow).

The original source was copyrighted by Transmeta Corp and is available under the X11 license. Contributions since then could require some work to relicense, though.

http://git.kernel.org/?p=linux/kernel/git/torvalds/sparse...

Native ZFS Port for Linux (OSNews)

Posted Jun 10, 2010 5:42 UTC (Thu) by trasz (guest, #45786) [Link]

No, it's not about the combination. The problem lies entirely in GPL interpretation, which makes some licenses GPL-compatible, and some not. Ever noticed that there are no such problems with other licenses? There are no CDDL-incompatible licenses, no BSD-incompatible licenses, even not whatever-license-Microsoft-uses-for-its-libraries incompatible licenses. It's all about GPL.

As for what came first - GPL was not a first Open Source license, it was just the first one that was viral and had potential for being incompatible.

Native ZFS Port for Linux (OSNews)

Posted Jun 10, 2010 6:47 UTC (Thu) by rahulsundaram (subscriber, #21946) [Link]

The more permissive licenses have less incompatibility but this is just a trade off in terms of the goals of the licenses which differ from each other. There are certainly licenses which are incompatible with CDDL. GPL isn't the only license with reciprocal clauses in it. CDDL itself is to some extend.

The fact remains that Sun well was were well aware of the GPL incompatibility of the CDDL license and they mentioned this incompatibility specifically in their submission to OSI. They either deliberately did it or choose to ignore it and thus placing the blame solely on a older and much more popular license is one sided.

Uh?

Posted Jun 8, 2010 22:21 UTC (Tue) by renox (subscriber, #23785) [Link]

Your logic is weird: it doesn't matter which license's restrict the redistribution, what matter is the creation date of the license: the GPL was created far, far earlier than the CDDL.

So it's the author of the CDDL which made a license which is incompatible with the GPL(*), not the reverse: GPL's authors don't have a time machine..

* knowingly or not.

Uh?

Posted Jun 16, 2010 8:04 UTC (Wed) by trasz (guest, #45786) [Link]

GPL authors didn't need a time machine - they made GPL in a way that is incompatible with any license which is not a subset of GPL.

CDDL authors, on the other hand, didn't have much choice - they could either license it as BSD (which means no copyleft), or GPL (which would prevent it from being used in anything but Linux), or make special exception for GPL, like e.g. Mozilla does. Except that making exception to be compatible with something that was created to be incompatible looks little weird, doesn't it?

Uh?

Posted Jun 16, 2010 8:45 UTC (Wed) by rahulsundaram (subscriber, #21946) [Link]

Sorry but that is not true. There are dozens and dozens of GPL compatible licenses and choices are not limited to BSD. If you want limited copyleft, LGPL is a valid choice.

Uh?

Posted Jun 16, 2010 9:18 UTC (Wed) by paulj (subscriber, #341) [Link]

Whether or not you want to believe that Sun vexaciously chose the CDDL with "Ensure Linux can't grab the code!" as a goal, you are leaping beyond the bounds of rationality if you ignore the fact those with knowledge of the decision have stated there were at least some other important and independent considerations.

Anyway.. Divide and conquer - except the *Nix community always manages to do this to itself, allowing others to conquer.

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds