Hacker News new | ask | show | jobs
by jra_samba 3753 days ago
Nope. Adding a legally licensed copy of ZFS to Ubuntu is a benefit to everybody. Oracle haven't seen fit to do that, and they're the only ones who can.

Sticking a hack-licensing-job into Ubuntu is damaging to the Linux ecosystem, certainly not a benefit.

1 comments

they're the only ones who can.

This is true, in the same way that it's true that the US could vote in a constitutional amendment to allow a dictatorship.

First, Oracle only has the copyright to the original ZFS code as it existed in 2010 when they stopped working on OpenSolaris.

Second, the AUTHORS[0] file from the 'zfs on linux' project that was imported into ubuntu lists 73 authors not including the Oracle developers, which appear to be both individuals (gmail accounts, etc) and multiple individual businesses (nexenta, ovh, etc). So Oracle cannot naively relicense those 6+ years of contributions, since they have no copyright over that new code. Thus changing the license of the original ZFS code would have no effect because all of the years of contributions since then would still be licensed as CDDL.

Third, Oracle does have exactly one 'option'. The details of the CDDL license specifically state that is 'auto upgrades' if a new version comes out, and an older version is not specifically mentioned. So theoretically, they could release a CDDL license version 1.3 that has radically updated text in order to be GPL compatible. However, since that effects all CDDL licensed code, they would end up relicensing every bit of CDDL code (related to Oracle or not) in the entire world. Is that something that Oracle should reasonable be expected to do? I think this is as likely, and as reasonable, as GPL v4 coming out with the text of the MIT license, thus affecting any GPL code in the world that says 'or any later version'. In other words, it's just not reasonable to use this 'one weird trick'.

So there is no remotely reasonable way in which Oracle can have an effect on this issue.

[0] - http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/diff/z...

> So theoretically, they could release a CDDL license version 1.3 that has radically updated text in order to be GPL compatible. However, since that effects all CDDL licensed code, they would end up relicensing every bit of CDDL code (related to Oracle or not) in the entire world.

Though of course since laws are made by lawyers and not nerds, the new license may well be invalid and nothing would change at all except for lots of confusion.

Which makes you even more right.

Note that regardless of lawyers vs nerds, the CDDL is quite clear about what happens if a new version of the CDDL is released.

  4.1. New Versions.
  
  Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License."
Note that v1.1 of the CDDL replaces Sun Microsystems, Inc. with Oracle. Otherwise, this gives them the right to publish a revised and/or new version of the license.

  4.2. Effect of New Versions.
  
  You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
The second sentence here pins the license at the specific CDDL version, if one was specified in the original software. It's pretty unlikely that almost no one has specified a specific CDDL version. The last sentence gives the license recipient the ability to distribute under "any subsequent version of the license published by the license steward".

Note that these two combined (regardless of lawyer or nerd) give a compelling case that it's plausible that Oracle could take that action. They won't, and I don't think they should, and I find it hard to see that it as remotely reasonable that they should be pressured to. However, if they did, then it's likely that it would be legal since each other CDDL contributor accepted the license, and relicensed their own code with the same possibility.

Obviously some lawyer would make the case that it's not a new version since it has drastically different text, but at that point we're well into moot, counterfactual realms.

> Obviously some lawyer would make the case that it's not a new version since it has drastically different text,

That's exactly what I meant with lawyers<->nerds: publishing a radically different version is a nice hack, but may not hold up legally.

> but at that point we're well into moot, counterfactual realms.

That's what I meant with confusion. If the legal situation isn't entirely clear, the kernel team, distros and related companies might very well decide to play it safe.

I guess Oracle owns CDDL license stewardship now. It would be really interesting if they released CDDL-2.0 that just lets you relicense things under the GPL. The might do that, after all, execs from their predecessor, Sun, liked the GPL. Also they put Berkely DB under the AGPL.