Hacker News new | ask | show | jobs
by bladerunner82 3753 days ago
ZFS on Linux. No, thank you. I'll continue to use ZFS natively under FreeBSD, which is arguably a far better OS for what ZFS users would be wanting anyway. Been using *BSD since the late 90s. Never a real issue short of HW failure. I cannot say the same for the painful times I was forced to use Linux.

ZFS is indeed a lifesaver, but we in the BSD camps have know this for many moons.

2 comments

Do you commonly find content-free insults to be an effective form of advocacy? I've used (Free|Open)BSD over the same time period and can point to specific areas which were better (e.g. NFS client stability) or worse (e.g. package management, video drivers) compared to Linux, and both would need to be mentioned in the context of specific versions. If you want to do anything more than make people dislike BSD fanboys, try stating something specific and be prepared to back your assertions up with evidence.
Not a fanboy, thank you, just a happy IT pro. We use and prefer BSD and attendant software because we prefer the BSD/CDDL(ZFS)/MIT and similar licenses. The GPL is off-putting for what we do, so we avoid using Linux or other GPL'd software where equivalent BSD (or similar)-licensed software is extant.
So that's great as a concrete reason for why you choose to do this — doesn't it seem far more useful as a thing to talk about than the vagaries of “a far better OS for what ZFS users would be wanting anyway” or the unspecified “painful times I was forced to use Linux”?
This is a relatively useless contribution to the discussion. Given that there are obviously reasons why Linux has been successful while BSDs have seen less popular usage, it must be the case that Linux or its ecosystem offers features not found elsewhere.

Adding ZFS to Ubuntu is a benefit to everybody, and a smug, holier-than-thou attitude really does nothing to further the conversation about the technology.

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.

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.
I do not think it is a benefit to everybody. In fact, I think it will tarnish ZFS as a technology.

ZOL still has some very clunky usability integrations (zpool status vs spare, sudo requirements, device name instabilities etc). I'm running ZOL on production servers, and sometimes it feels like back in the day when I tried to get the first ZFS patchsets against FreeBSD7 to run on my P3 with 1.5GB RAM. Sometimes worse.

The majority of Ubuntu users will not attribute these deficiencies to the ZOL port, but to "ZFS". We will see a lot of "So $XYZ has ZFS, well, I have tried it on Ubuntu and it s".