Hacker News new | ask | show | jobs
by icebraining 3254 days ago
Who is "they"?
1 comments

I guess only Oracle can change the license, since they own original ZFS now.
Oracle can't change the license alone. While Oracle is the majority copyright holder, some parts are copyrighted by other people and/or organisations. In fact, this was one of the building principles of the CDDL license.

This ZFS on Linux project mentioned in the article doesn't use the current Oracle ZFS code (which is proprietary), but rather the OpenZFS code which has had very significant changes that happened post-Oracle fork by parties other than Oracle.

Almost all of ZoL is under "CDDL 1.0 or later". Oracle could release a new version of CDDL that explicitly made the ZoL project GPL compatible.
> Oracle could release a new version of CDDL that explicitly made the ZoL project GPL compatible.

By allowing ZFS-derived works to be licensed under GPL, I suppose. I wonder if they could do it without allowing for a GPL fork which would become unmergable to the upstream?

The problem would be similar to MIT or Apache licensing a project. It is very uncommon for someone to create a fork of an existing project _just_ to change the license. Most of the people working on OpenZFS are unlikely to just switch licenses, the net result would just be to allow dual-licensing under GPLv2 so you can use it in Linux.
People working on OpenZFS are unlikely to switch licenses, but somebody (presumably a company) could possibly develop an "improved" fork to make money on it and refuse to contribute back, at which point Oracle would be forced to switch to GPL if the fork takes off.

Dunno, it's just a hypothetical question and speculation whether there are any sensible reasons for Oracle to maintain status quo.

> Almost all of ZoL is under "CDDL 1.0 or later"

Actually no, it is not.

CDDL requires you to opt out of later versions. 9 files (out of 219) totaling 950 lines (out of over 190,000) in the ZoL kernel code claim to be 1.0 only. What definition of "Almost all" are you using?
I'm not sure you understand the situation, which is surprising with how much time you spend talking about it - is this willful? - Oracle (And Sun before them) do not hold all of the copyrights involved. Some of them are held by third parties.

The CDDL was written to be as permissive as possible within the boundaries they are held to by these third parties.

It is impossible for Oracle to release a version of the license that is GPL compatible without completely removing all of these third party components they do not hold the copyright to.

I would recommend reading section 4 of the CDDL (it's actually very similar to section 6 of the MPL 1.1 because that's what it was based on).

In particular, it has an or-any-later version clause that is opt-out. This means that if Oracle decided to release CDDL 2.0 tomorrow that was GPL-compatible, anyone with CDDL 1.0 licensed (without the opt-out) codebases could then use it in conjunction with GPL code (by exercising the upgrade path). From memory, the original ZFS codebase (and also OpenZFS) doesn't exercise the opt-out -- which means that they can be switched this way. [This is basically how you would take LGPLv2 code and put it into an AGPLv3 codebase (LGPLv2 -> GPLv2+ -> GPLv3+ -> AGPLv3+).]

I believe that's what they were trying to say. I'm not a lawyer (as usual) but that was the opinion of the community a few years ago. Canonical decided to just "go for it" and see whether Oracle will sue them. We'll see what happens in the future.

I've read it. That doesn't mean that all of the files are licensed with the any-or-later clause.

I believe it was in the same talk that Cantrill likened Ellison to a lawnmower, but an ex-Sun employee talked about how the tangled legal web of who owned what part of Solaris precluded them from being able to release it under the GPL, and thus the CDDL was born. My understanding is that, if any of these bits that they do not own themselves and have restrictions on how they can license them, were licensed in such a way that they could be switched to the GPL or a GPL-compatible license, then Sun and now Oracle would probably be out of compliance with the terms they are bound by. My educated guess is that the files that have opted out of the update mechanism are the files that are in this situation.

It's also unlikely that Oracle would be the ones to sue Canonical - the CDDL license doesn't include any provisions that would give them the ability to sue. I'm sure they have copyrights on some parts of the Linux kernel, which they could potentially use to sue if they truly believe that they could win a case in court to show that OpenZFS is a derivative work of the kernel.

The basic misunderstanding is that Oracle does not own the the copyright to all of OpenZFS. A lot of code in the OpenZFS code base is not under any sort of copyright assignment to Oracle. To change the license on the whole, you would need Oracle and all the contributors who have not done copyright assignments to agree to re-license their code.
> It is impossible for Oracle to release a version of the license that is GPL compatible without completely removing all of these third party components they do not hold the copyright to.

I don't think this can be accurate. Ownership of ZFS-related code is not tied to being the license steward - Oracle could theoretically pass off license steward duties to a third party without passing ZFS copyrights or obligations to the same third party. That third party could then change the terms of the CDDL without having any obligations towards those third parties.

In any case, it doesn't make sense - the CDDL is more permissive than GPL 2.0 other than its patent clause, and (as far as this discussion is concerned) the only relevant party covered by 6.2 is Oracle.

So, uh, citation strongly needed.

there is a lot of self-confidence in your reply, but it doesn't address his/her point: that there is essentially a "loophole" that Oracle could exploit if they wanted to by writing a new version of the CDDL.

his/her contention is that most of the code has been released without the explicit opt-out for a more recent version of CDDL.

there's no need to get nasty; just bring the facts.

As others have pointed out, some parts of the ZFS code exercise the opt-out and do not include the update mechanism.