Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Quite reasonable policy. Add a second line too:

> Sun explicitly did not want their code to work on Linux, so why would we do extra work to get their code to work properly?

Why would you accommodate someone who explicitly went out of their way to not accommodate you?

It took many conflicts with bcachefs developer to reach this state. Olive branch has been extended again and again...



Sun doesn't exist anymore, and while openzfs is compatible with older versions of any of Oracle's life support Solaris, it's not the same ecosystem. Yes, the same licensing issues still exist, but openzfs has been developed by LLNL for Linux ever since it was called "zfs for Linux".


If that ecosystem have changed their values/opinions on that topic, the it wouldn't be an impossible task to dual-license it with a compatible license.

(Hard and tedious work, but not impossible).


The only entity that can change of ZFS license is Oracle and they obviously wouldnt do that.


They could rewrite all the code, and then change the license. Patents might still apply (but patents are short enough that I expect if any existed they have expired). However ZFS is a lot of code that is often tricky to get right. It will be really hard to rewrite in a way that the courts don't (reasonably/correctly) say wasn't a rewrite it was just moving some lines so you can claim ownership, but it is possible. By the time anyone knows enough about zfs that they could attempt this they are also too tainted by the existing code.

So of course they won't, but it isn't impossible.


I mean, bcachefs is basically the equivalent of rewriting all that code, without explicitly trying to be a clone. Same for btrfs


And how hard it is proves that zfs didn't make a bad choice in not trying the same. (though it would be interesting if either had a goal of a clone - that is same on disk data structures. Interesting but probably a bad decision as I have no doubt there is something about zfs that they regret today - just because the project is more than 10 years old)


It's supposedly the opinion of Oracle that the CDDL is GPL-compatible and that's the reason they won't do that.


I would not rely on the non-binding opinion of a company known for deploying its lawyers in aid of revenue generation



That wasn't exactly the answer.


Yeah, I agree based in rewatching that I've either misrecalled the original material, or I got it from another source.

I agree that based on that source, it's more like "meh, we don't really care" (until they do)


Oracle didn't follow that with DTrace. They changed the license away from CDDL when they integrated it into Oracle Linux.


The whole "Sun explicitly did not want" is an invention of one person at a conference, and opposite to what other insiders say


Ok, please explain. ZFS is licensed under CDDL, which is incompatible with GPL, aka Kernel license. Sun owned copyright and could easily change license or dual license. They didn't... for reasons (likely related to Solaris).


Sun leadership wanted to license OpenSolaris under GPLv3. However, GPLv3 work was dragging on at FSF and the license was not released in time. Moreover, there was opposition from Solaris dev team due to belief that GPLv3 will lock out reuse of OpenSolaris code (especially DTrace and ZFS) in Free/Net/OpenBSD.

CDDL was a compromise choice that was seen as workable for inclusion based especially on certain older views on what code will be compatible or not, and it was unclear and possibly expected that Linux kernel will move to GPLv3 (when it finally releases) which was seen as compatible with CDDL by CDDL drafters.

Alas, Solaris source release could not wait unclear amount of time for GPLv3 to be finalized


So... as I said "Sun explicitly did not want". They chose not to license it under GPLv2 or dual license GPLv2 + GPLv3 for... reasons.

> it was unclear and possibly expected that Linux kernel will move to GPLv3

In what world? Kernel was always GPLv2 without the "or later" clause. Kernel had would tens of thousands of contributors. Linus made it quite obvious by that time kernel will not move to GPLv2 (even in 2006).

Even if I gave them benefit of the doubt, GPLv3 was released in 2007. They had years to make license change and didn't. They were sold to Oracle in 2010.


It's the other way around. It's the GPL which is incompatible with the CDDL (and many other licences).

The CDDL is actually very permissive. You can combine it with anything, including proprietary licences.


Sun is dead and the ZFS copyright transferred to Oracle who then turned it into a closed source product.

The modern OpenZFS project is not part of Oracle, it's a community fork from the last open source version. OpenZFS is what people think of when they say ZFS, it's the version with support for Linux (contributed in large part by work done at Lawrence Livermore).

The OpenZFS project still has to continue using the CDDL license that Sun originally used. The opinion of the Linux team is the CDDL is not GPL compatible, which is what prevents it from being mainlined in Linux (it should be noted not everyone shares this view, but obviously nobody wants to test it in court).

It's very frustrating when people ascribe malice to the OpenZFS team for having an incompatible license. I am sure they would happily change it to something GPL compatible if they could, but their hands are tied: since it's a derivative work of Sun's ZFS, the only one with the power to do that is Oracle, and good luck getting them to agree to that when they're still selling closed source ZFS for enterprise.


The battle for ZFS could easily now devolve to IBM and Oracle.

Making /home into a btrfs filesystem would be an opening salvo.

IBM now controls Oracle's premier OS. That is leverage.


Several large distros use btrfs for /home.


Oracle databases absolutely cannot.


Reading the kernel mailing lists wrt/ bcachefs, it looked more like a cattle prod than an olive branch to me… Kent didn't do nothing other maintainers don't do except make one filesystem that doesn't get irrecoverably corrupted on brownout.

I'm just sorry for the guy and perhaps a little bit sorry for myself that I might have to reformat my primary box at some point…

Also unrelated, but Sun was a very open source friendly company with a wide portfolio of programs licensed under GNU licenses, without some of which Linux would still be useless to the general public.

Overall, designing a good filesystem is very hard, so perhaps don't bite the hand that feeds you…?


I have no idea if you read the right parts because that's not what happened at all.

The maintainer kept pushing new features at a time when only bugfix are allowed. He also acted like a child when he got asked to follow procedures. Feel sorry for his bad listening and communication abilities.


> The maintainer kept pushing new features at a time when only bugfix are allowed.

The "new features" were recovery features for people hit by bugs. I can see where the ambiguity came from.


"accommodate" in this instance would have been accomplished by doing nothing. The Linux kernel developers actively made this change.


Doing "nothing" in this case seems to be leaving technical debt in a code.

I am not kernel developer, but less exposed API/functions is nearly always better.

The removed comment of function even starts with: Careful: __kernel_fpu_begin/end() must be called with


Not sure if the thread is about how reasonable is the policy or if it is patently untrue that things get removed.


Though it's rich coming from a kernel lacking a better filesystem of its own.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: