|
|
Subscribe / Log in / New account

SFC: GPL Violations Related to Combining ZFS and Linux

The Software Freedom Conservancy (SFC) has put out an analysis of the recently announced plans of Canonical to provide and support ZFS as part of Ubuntu 16.04. There are some license-compatibility questions within the community, but Canonical believes that it is within its rights to distribute the CDDLv1-licensed zfs.ko kernel module with the GPLv2-licensed kernel. SFC, however, disagrees: "We are sympathetic to Canonical's frustration in this desire to easily support more features for their users. However, as set out below, we have concluded that their distribution of zfs.ko violates the GPL. We have written this statement to answer, from the point of view of many key Linux copyright holders, the community questions that we've seen on this matter. Specifically, we provide our detailed analysis of the incompatibility between CDDLv1 and GPLv2 — and its potential impact on the trajectory of free software development — below. However, our conclusion is simple: Conservancy and the Linux copyright holders in the GPL Compliance Project for Linux Developers believe that distribution of ZFS binaries is a GPL violation and infringes Linux's copyright. We are also concerned that it may infringe Oracle's copyrights in ZFS. As such, we again ask Oracle to respect community norms against license proliferation and simply relicense its copyrights in ZFS under a GPLv2-compatible license."

to post comments

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 17:23 UTC (Thu) by JoeBuck (subscriber, #2330) [Link] (18 responses)

The simplest solution would be for Oracle to grant permission via a license change. Sun's original incentive for the license incompatibility was to protect Solaris, but that's no longer a significant part of Oracle's business, and Oracle now has its own Linux distribution (a modified version of RHEL). They could just make this problem go away, and I don't see how they have any business reason to preserve the incompatibility any more.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 17:52 UTC (Thu) by clump (subscriber, #27801) [Link] (9 responses)

I imagine the path of least resistance would be for Oracle to dual license ZFS. That said, we have a hint at what Oracle's strategy may be, in that DTrace was made available for Oracle's Linux.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 19:11 UTC (Thu) by armijn (subscriber, #3653) [Link] (8 responses)

I guess that one of the reasons for Oracle to *not* dual license could be to prevent that there are two incompatible versions of the file system because someone makes changes available only under GPLv2 making it impossible for them to incorporate the changes into Solaris. A CLA would be a solution to this particular problem, but there will likely be resistance to that as well.

I guess that the easiest solution would be to just avoid ZFS on Linux for now if you intended to distribute.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 19:52 UTC (Thu) by clump (subscriber, #27801) [Link] (6 responses)

How often does dual licensing create incompatible forks due to one of the licenses?

Per your second point, nobody does anything "enterprise" with Linux and ZFS. Sure you can get the two to work together, but you're on your own. If Ubuntu ships a compiled ZFS kmod that could create trouble for downstream distros (and Ubuntu), but would be the closest Linux+ZFS has approaching real support.

It's not looking good for ZFS on Linux if Oracle is to be counted on to make things right.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 20:44 UTC (Thu) by armijn (subscriber, #3653) [Link] (1 responses)

Eh, I never said anything about enterprise and Linux. I said things about Solaris. I could very well imagine that Oracle would not change the license so people would not contribute GPLv2 only patches that they then could not merge back into *Solaris*. What Oracle wants to do with Solaris and their code is their choice. If they don't want to dual license to prevent people creating an incompatible GPLv2 only fork that's up to them (note: not saying that this is their motivation but I could imagine it is).

So I am just going to sit back and see what happens. It will be interesting.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:29 UTC (Thu) by clump (subscriber, #27801) [Link]

Well sure, but I don't think there's much of a precedent to using dual licensing to screw over only one license consumer. If Oracle wanted ZFS to be only applicable to Solaris, there would be no need to dual/relicense at all. Status-quo. If you wanted to futz with licenses to be advantageous to your cause, you could license relatively permissively but require contributions to be signed over or otherwise usable for your proprietary purposes.

ZFS is cool, no doubt about it. That said, LVM isn't too shabby. Will ZFS continue to be relevant if Oracle keeps holding it back?

Re: nobody does anything "enterprise" with Linux and ZFS

Posted Feb 25, 2016 23:50 UTC (Thu) by ldo (guest, #40946) [Link]

“Enterprise” seems to have become a synonym for “trapped in a morass of legacy infotech”, a.k.a “dinosaur”.

The average lifetime of a company on the Fortune 500 is now down to 18 years. Innovation stands still for no-one, least of all the “enterprise”.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 13:23 UTC (Fri) by kloczek (guest, #6391) [Link] (1 responses)

Seems you really don't understand that ZFS it is not network driver but huge piece of technology which is still evolving and comparing ZFS case to any previous dual licensing cases is not correct way of thinking about this case.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 15:09 UTC (Fri) by clump (subscriber, #27801) [Link]

Are you sure ZFS isn't a network driver? You sure are clever.

Oracle can make this right. Per my comment, I don't think they wish to.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 14:25 UTC (Fri) by drag (guest, #31333) [Link]

> How often does dual licensing create incompatible forks due to one of the licenses?

Right now the Oracle ZFS shipped with Solaris is incompatible with the OpenZFS implementation. Oracle didn't stop developing ZFS after they stopped doing code releases.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:42 UTC (Thu) by paulj (subscriber, #341) [Link]

I don't know about Oracle, but avoiding the (perceived at least) hazards of dual-licensing was *definitely* a factor in Suns' decisions on OpenSolaris licensing. I think Bryan Cantrill and (for sure) Simon Phipps are on record on that (see the video of Phipps at a Debian workshop, e.g., linked to from the CDDL wikipedia page).

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:29 UTC (Thu) by GhePeU (subscriber, #56133) [Link] (3 responses)

That wouldn't solve the problem, or at least not without the help of a many other parties and a lot of supplemental work.

ZFS on Linux is not Oracle's ZFS, it's a different project (http://open-zfs.org/) based on the last open source release of OpenSolaris, before Oracle killed it and made Solaris closed source again, which has been developed independently for the last 5+ years.

So even if Oracle decided to change the license, either all the developers who contributed to it (including those working on Illumos and FreeBSD) agree to relicense their contributions or someone else has to replicate all the work needed to port it to Linux, starting from a different codebase that's probably incompatible with OpenZFS.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 22:43 UTC (Fri) by armijn (subscriber, #3653) [Link] (2 responses)

I did not look at what Canonical ships, but I looked at the "ZFS on Linux" Git repository and indeed there are pieces by other companies (Nexenta, Delphix and Joyent, and probably others too). If that is indeed what Canonical ships, then it seems to me that SFC is barking up the wrong tree.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 23:04 UTC (Fri) by armijn (subscriber, #3653) [Link]

Ah. SFC mentions it in its blog post, but it is rather hidden, so I missed it at first. Meh.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 27, 2016 3:40 UTC (Sat) by k8to (guest, #15413) [Link]

Regardless, it was helpful to highlight this fact here. I wasn't aware initially.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 2:23 UTC (Fri) by pabs (subscriber, #43278) [Link] (3 responses)

I heard that the CDDL was chosen for Solaris because it contains lots of non-free third-party code, this video was cited as a source:

https://www.youtube.com/watch?v=-zRN7XLCRhc

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 12:35 UTC (Fri) by pboddie (guest, #50784) [Link] (1 responses)

At last, someone gives the most likely reason for the odd licensing of Solaris: the murky, not-particularly-well-managed heritage of the code, emerging from the corporate swamp where the players forgive each other's behaviour until scores need settling. (I am reminded also of Java and the sudden need for Kodak to go after Sun for patent infringement when both parties were probably "cool" with the situation until Kodak needed the money.)

Of course, cooking up another licence probably also satisfied the Solaris faction within Sun: their impending glory wouldn't be stolen by those upstart Linux people after all if they licensed all the valuable Solaris code incompatibly. It's interesting to see companies who could have bought up numerous competitors at the height of their success ending up as acquisition targets in free fall, and yet those doing the internal squabbling that led to the strategy vacuum at the centre of the corporate malaise still probably think they were right. Oh well!

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 27, 2016 3:43 UTC (Sat) by k8to (guest, #15413) [Link]

Maybe?
My current pessimistic worldview is that most companies are overrun by pointless internal squabbling by the majority of their lifetimes, and the majority of people inside know they're doomed from long before the music stops.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Mar 7, 2016 9:11 UTC (Mon) by paulj (subscriber, #341) [Link]

It was a very small amount of not too central code - but still required code in Solaris that could not be released. The vast bulk of Solaris was open-sourced. However, that particular code wasn't the factor in the choosing of the licence AFAIK.

You're referring, I assume, to Simon Phipps stating the GPL was discounted because Sun didn't want to force other ISVs to have to GPL their code. By ISVs he meant things like hardware vendors and drivers (e.g. fibre-channel HBAs, whose drivers were often just as binary-only on Linux).

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 17:53 UTC (Thu) by pranith (subscriber, #53092) [Link] (13 responses)

There is actually an easy way out for Canonical.

"we find no specific clause in either license that prohibits source-only redistribution of Linux and ZFS, even on the same distribution media."

Why doesn't Ubuntu follow Debian: compile the module from source instead of insisting on distributing the compiled binary ko?

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 18:32 UTC (Thu) by clugstj (subscriber, #4020) [Link] (1 responses)

Possible reason: dependencies. Ubuntu users don't have compilers/development tools installed and Canonical thinks it's more trouble supporting users than dealing with licensing violations.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 27, 2016 2:05 UTC (Sat) by flussence (guest, #85566) [Link]

Are Canonical already violating the GPL by shipping pre-compiled nvidia drivers too? I was under the impression compiling on the end user machine was already a commonplace, well-optimized and package-managed procedure...

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 19:25 UTC (Thu) by ay (guest, #79347) [Link] (5 responses)

Isn't it because they intend to use it as a root file system so compiling it from source would entail a lot of very hacky workarounds?

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:22 UTC (Thu) by Ed_L. (guest, #24287) [Link] (4 responses)

I haven't played with such myself. But what is hacky about including a compiler on the distribution media that is executed early at install time, but is not itself installed by default?

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 22:02 UTC (Thu) by fandingo (guest, #67019) [Link] (3 responses)

It's kernel updates that are the difficult part, not initial system installation. The normal method, especially on Ubuntu, for compiling these sort of modules is to use DKMS. You update to kernel X, reboot to version X, and then DKMS compiles any necessary modules. The problem is that you can't bring the system up and give it access to enough tools and libs to compile zfs.ko without / (or an unreasonably large initramfs).

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 9:44 UTC (Fri) by sourcejedi (guest, #45153) [Link] (1 responses)

"building modules for kernels not currently running also is a viable option", AIUI.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 27, 2016 12:31 UTC (Sat) by Ed_L. (guest, #24287) [Link]

I doubt you'll get much argument from the embedded community.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Mar 4, 2016 19:14 UTC (Fri) by mstone_ (subscriber, #66309) [Link]

DKMS compiles for the newly installed kernel before rebooting

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 2:26 UTC (Fri) by pabs (subscriber, #43278) [Link]

Debian got caught doing the same thing Canonical are doing, but with nvidia.ko:

https://bugs.debian.org/815060

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 14:43 UTC (Fri) by mattdm (subscriber, #18) [Link] (3 responses)

This is covered in the article. Judges are generally skeptical of technical loopholes like this. If this kind of compilation is made seamless, judges are unlikely to view it any differently from just shipping the binary. And if it's _not_ seamless — well, why bother?

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 28, 2016 0:23 UTC (Sun) by Wol (subscriber, #4433) [Link] (1 responses)

Because making the end-user compile from source ISN'T a technical loophole. It's a way of making sure the end user gets the source code, and has been recognised as being compliant with the GPL from pretty much back when the GPL was born.

If, after the compile completed, the script auto-deleted the source to prevent the end user from getting at it, then that really would be a technical loophole and a Judge WOULD frown on it.

Cheers,
Wol

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Mar 1, 2016 0:38 UTC (Tue) by vonbrand (subscriber, #4458) [Link]

The loophole is that the binary can't be distributed at all.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Mar 8, 2016 20:14 UTC (Tue) by davidstrauss (guest, #85867) [Link]

> Judges are generally skeptical of technical loopholes like this.

No judge (at least in the US and many other places) has yet determined linking to create a derivative work. It's only a "loophole" in the case where the FSF/SFLC legal theory is correct.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 18:30 UTC (Thu) by vonbrand (subscriber, #4458) [Link] (13 responses)

Oracle's ZFS has clearly been modified to adapt it to Linux. The adaptations depend both on Linux and ZFS, and thus can not be distributed (unless somebody convinces a judge that there was no creative content in the part taken from Linux, nor the files #included, nor the functions (or their prototypes and functionality) filched from Linux, neither the other way around).

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 20:34 UTC (Thu) by butlerm (subscriber, #13312) [Link] (7 responses)

For an operating system with an interface transparently cloned from UNIX, the proposition that a module cannot implement an interface for compatibility reasons without resulting in a derived work is a bit on the hypocritical side of things I think.

That said the legal standard in the United States is that a derived work is "based upon" another protected work. No court has ever determined that merely consuming an API makes for a derivative work, let alone a derivative work not protected by fair use. The courts have yet to determine whether even cloning and implementing an entire API is allowed under fair use or not.

Whether something has been adapted and what those adaptations are intended for is legally irrelevant. Purpose, use, and dependency have nothing as such to do with whether one work is "based upon" another. Someone out there is perpetrating the greatest legal rumor of all time. It is wishful thinking at best. Until there is actual statutory text or actual case law in favor of any conclusion of the kind it is more like collective self-delusion.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 20:48 UTC (Thu) by pizza (subscriber, #46) [Link] (5 responses)

> For an operating system with an interface transparently cloned from UNIX, the proposition that a module cannot implement an interface for compatibility reasons without resulting in a derived work is a bit on the hypocritical side of things I think.

There's worlds of difference between an internal interface (subject to considerable change over time) versus an explicitly standardized external interface.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:25 UTC (Thu) by butlerm (subscriber, #13312) [Link] (4 responses)

> There's worlds of difference between an internal interface (subject to considerable change over time) versus an explicitly standardized external interface.

What possible argument could be made in favor of the proposition that the difference has anything to do with copyright law?

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 22:03 UTC (Thu) by fandingo (guest, #67019) [Link] (3 responses)

EXPORT_SYMBOL_GPL

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 1:06 UTC (Fri) by rahvin (guest, #16953) [Link] (2 responses)

There is no agreement within the developer community that the symbol means anything at all. There is a camp of developers that think it means what you think it means and there are others that completely disagree. As it's never been tested in court it's an open issue.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 1:59 UTC (Fri) by fandingo (guest, #67019) [Link] (1 responses)

You're totally right, but the question was, "what possible argument could be made...?" EXPORT_SYMBOL_GPL is an obvious legal argument that can be *made*. That doesn't mean that it's unambiguously valid.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 27, 2016 6:16 UTC (Sat) by rahvin (guest, #16953) [Link]

Don't think you want to bring up something like that in court where there's no agreement. You'd just open a can of worms that would divert the entire issue. First rule in court is don't bring up issues like this where it turns on the opinion of groups because the other side will find just as much evidence that directly contradicts your filing while at the same time potentially biasing the judge against your argument.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:40 UTC (Thu) by vonbrand (subscriber, #4458) [Link]

We are talking internal interfaces here. Not the system call interface, far from it.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:24 UTC (Thu) by spotter (guest, #12199) [Link] (2 responses)

Weird Q: Do you side with Oracle in the Oracle v. Google? i.e. you seem to argue that function prototypes are copyrightable?

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:33 UTC (Thu) by butlerm (subscriber, #13312) [Link] (1 responses)

Under current law in the United States, APIs - at least extensive ones - are protected by copyright. The question of whether re-implementing an entire API is permissible under fair use, however, has yet to be decided.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 23:03 UTC (Thu) by spotter (guest, #12199) [Link]

Would reimplementing one be less of a fair use usage than simply using one?

if Google wins, could one still claim that a non GPLd usage of a GPLd interface is not a fair use usage of said API and hence doesn't fall under the GPL's ability to restrict usage via copyright?

It really feels like the community as as whole is on both sides of this issue in difference cases.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:50 UTC (Thu) by paulj (subscriber, #341) [Link]

The adaptations, if they did not modify the CDDL ZFS core, could be distributed as GPLv2.

I.e., if you took the unmodified CDDL ZFS core, and you wrote a translation/adaption layer between Linux APIs and the ZFS ones, then only the translation layer would be subject to the GPLv2 of Linux. The CDDL would not extend to the adaption layer, as the CDDL is a "weak" copyleft licence and restricts itself to covered files and "modifications" (exactly what that means may not be 100% clear).

That would be no different to the initial argument for NVidias' binary driver not being derived from Linux.

The key question is: Has the 'core' indeed been left unmodified, and free of changes to accommodate Linux?

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 14:26 UTC (Fri) by drag (guest, #31333) [Link]

> Oracle's ZFS has clearly been modified to adapt it to Linux.

Modifying something to work on Linux doesn't mean it's a derivative work.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:21 UTC (Thu) by butlerm (subscriber, #13312) [Link] (7 responses)

> "Once license incompatibility is established, the remaining question is solely whether or not combining ZFS with Linux creates a combined and/or derivative work under copyright law (which then would, in turn, trigger the GPLv2 obligations on the ZFS code)."

The latter isn't remotely true. GPLv2 obligations are only incurred on someone who wants to distribute a derivative work in a manner that is not permissible under fair use. There is no virus. If party A distributes a dubious derivative work it has absolutely no effect whatsoever on the original code, the obligations of the copyright holders of the original code, or the license to the original code one way or another.

> "The FSF, stewards of the GPL, have stated many times over the past decades that they believe there is no legal distinction between dynamic and static linking of a C program and we agree."

Here the SFC engages in a just so statement without a trace of an actual argument. In the United States it is not an infringement of copyright to make a copy or adaptation of a computer program if it is an "essential step in the utilization of the computer program in conjunction with a machine".

That is a blanket license to adapt, combine, and link - even statically link - any number of programs with incompatible licenses into a unified whole if necessary to run a program on "a" machine. The FSF position which the SFC refers to more as a matter of community norm rather than legal authority is without foundation. It doesn't even try.

The SFC goes on to suggest that Canonical should comply with community norms lest the cause of copyleft be weakened. They want people to engage in wishful thinking in other words, agree to be bound by it, and pretend it has something to do with the law.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:42 UTC (Thu) by vonbrand (subscriber, #4458) [Link] (6 responses)

OK. Now go and convince a judge that e.g. selling a photocopy of the Harry Potter books is "fair use".

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 25, 2016 21:51 UTC (Thu) by butlerm (subscriber, #13312) [Link] (4 responses)

Whether the module in question can be jointly distributed with the Linux kernel is a separate issue that has little or nothing to do with its status as a derived work under copyright law one way or another. Then you get into license parsing.

e.g. under GPLv2 is joint distribution permissible as a "mere aggregation" or is it distribution of a "collective work" not allowed by the license.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 1:43 UTC (Fri) by vonbrand (subscriber, #4458) [Link] (3 responses)

I'm talking ZFS module for Linux here. That clearly isn't a "mere aggregation" of Linux and ZFS code, and as such can't be distributed at all (unless you convince a judge the pieces going into it aren't creative enough, on one of both sides).

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 6:45 UTC (Fri) by butlerm (subscriber, #13312) [Link] (2 responses)

The ZFS module consumes an API for technical compatibility reasons. That has never been determined to create a derivative work, let alone a derivative that isn't allowed under fair use. Even if there were inline functions of substantial complexity that arguably would create a derivative work, the problem could be worked around by constructing a shim more or less as Nvidia does.

Canonical's problem (if it has one) seems much more likely to do with the interpretation of the GPLv2 license, a license it needs to comply with to distribute the Linux kernel, rather than any requirement of copyright law as such. That license, however, doesn't seem to be quite specific enough to disallow joint distribution of a non-derivative work, or a derivative shim plus a non-derivative work at all.

As you can see, the GPLv2 authors punted the entire question of what is a derivative work under the license to what is a derivative work under copyright law:

// The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language //

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 9:12 UTC (Fri) by epa (subscriber, #39769) [Link] (1 responses)

I don't think the licence can decide what counts as a derivative work. That is determined by copyright. At most the licence could grant exemptions so that even if something might be considered a derivative work under copyright law, distributing it under other terms is still permitted.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 26, 2016 13:20 UTC (Fri) by pizza (subscriber, #46) [Link]

> I don't think the licence can decide what counts as a derivative work. That is determined by copyright.

And when the powers that be push for ever-stronger copyright, it has the side-effect of strengthening copyleft.

Of course, without enforcement, it's rather moot.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Mar 1, 2016 10:25 UTC (Tue) by Wol (subscriber, #4433) [Link]

> OK. Now go and convince a judge that e.g. selling a photocopy of the Harry Potter books is "fair use".

Actually, this highlights a very big difference between copyleft and copyright.

Now go convince a judge that MAKING that photocopy is "fair use"! Good luck in pretty much any jurisdiction other than the US!!!

That's why the GPL makes it explicitly clear that "photocopying" is considered a necessary part of "using" and - where not explicitly permitted by law - is explicitly permitted by the licence.

Cheers,
Wol

btrfs still hasn't come through

Posted Feb 25, 2016 23:29 UTC (Thu) by zx2c4 (subscriber, #82519) [Link] (17 responses)

Several years ago, while folks realized ZFS was awesome and also incompatible with GPL, there wasn't too much neurosis, because btrfs was supposed to be coming around the corner fast, which promised ZFS-like features and more. Fast-forward to today... What's the status of btrfs? Is anybody actually using it in production? Why has it still never become the ZFS-killer it was promised to be?

Re: Is anybody actually using [btrfs] in production?

Posted Feb 25, 2016 23:54 UTC (Thu) by ldo (guest, #40946) [Link] (2 responses)

Sure people are. But it doesn’t have the brand recognition of a mega-corporate-backed product like ZFS.

It’s like OpenOffice versus LibreOffice.

Re: Is anybody actually using [btrfs] in production?

Posted Feb 26, 2016 0:08 UTC (Fri) by vonbrand (subscriber, #4458) [Link] (1 responses)

ZFS on Linux is a hacked version of a few year old code, adapted to work with Linux without the benefit of integration, bug fixing, and checking by the regular kernel crowd. I.e., a few years simmering before it reaches production quality.

Re: Is anybody actually using [btrfs] in production?

Posted Feb 26, 2016 16:17 UTC (Fri) by clump (subscriber, #27801) [Link]

Legalities aside, your point is what everyone should be concerned about.

btrfs still hasn't come through

Posted Feb 26, 2016 1:05 UTC (Fri) by smckay (guest, #103253) [Link] (1 responses)

There are people who run emerge -e world on production systems. Whether something is used in production isn't a very good yardstick, unfortunately.

btrfs still hasn't come through

Posted Feb 26, 2016 14:32 UTC (Fri) by drag (guest, #31333) [Link]

All software is shit. Do you want your shit sandwich old or do you want it heavy and fresh?

That is the difference between 'production ready' and 'development'. Often all it really amounts to is the difference between the "desire to have the bugs you run into more predictable" versus "does the business benefit of adopting newer technology more then it costs to recover from problems."

btrfs still hasn't come through

Posted Feb 26, 2016 9:34 UTC (Fri) by anselm (subscriber, #2796) [Link] (8 responses)

IIRC, SUSE Linux Enterprise Server uses btrfs by default for its root filesystem. The SUSE folks probably wouldn't do that if they thought it was unreliable.

I have a Netgear NAS that also uses btrfs. As far as I'm concerned it works very nicely indeed.

btrfs still hasn't come through

Posted Feb 26, 2016 10:26 UTC (Fri) by ceplm (subscriber, #41334) [Link] (7 responses)

Except that SUSE doesn't *support in SLES* almost any advanced features of BTRFS, only using it as more or less the same as traditional file systems. Having said, I believe BTRFS has a way more chance to be relevant in the Linux world than ZFS.

btrfs still hasn't come through

Posted Feb 26, 2016 10:34 UTC (Fri) by anselm (subscriber, #2796) [Link] (6 responses)

SUSE at least supports btrfs snapshots because that's what they're using in their system administration tool in order to be able to roll back configuration changes. Whether that counts as an “advanced” feature of btrfs is probably a matter of definition (I'd guess so but who am I to say?).

btrfs still hasn't come through

Posted Feb 26, 2016 11:37 UTC (Fri) by ceplm (subscriber, #41334) [Link] (5 responses)

Certainly 'advanced' is a matter of struggle, but easy snapshots are available in LVM-thinp as well (supported in RHEL-7).

btrfs still hasn't come through

Posted Feb 26, 2016 12:00 UTC (Fri) by anselm (subscriber, #2796) [Link] (4 responses)

That may be perfectly true (and more power to RHEL users) but has no bearing whatsoever on whether the people at SUSE consider btrfs usable for their purposes.

It's also worth mentioning that LVM-thinp and btrfs snapshots seem to address different use cases, and that, while I'm not an expert on how SLES does things with their configuration rollback system, LVM-thinp doesn't appear to be hugely useful in that context. (According to the SUSE web site, they are looking at supporting the same functionality based on ext4fs, but for now this requires a custom kernel, so is probably not production-ready.)

btrfs still hasn't come through

Posted Feb 26, 2016 13:54 UTC (Fri) by ceplm (subscriber, #41334) [Link] (3 responses)

I really didn’t want to say much against BTRFS. I am not a super filesystems master (not even C developer), so I cannot argue about the details. What I wanted to say is that periodically somebody posts something like http://blog.dustinkirkland.com/2016/02/zfs-is-fs-for-cont..., then certainly somebody else reacts "The sky is falling! Solaris/Oracle Unbreakable Linux/Ubuntu will eat Linux alive because we don't have ZFS!". Then series of responses follows suggesting various hacks making ZFS working on Linux (zfs.ko, ZFS over FUSE) followed by thorough explanations why all these are not useful for mass use. And then as the last hope, somebody shouts "We should get BTRFS into production!".

What I wanted to say is:

a) ZFS on Linux is no-go (not only copyright issues, but BTRFS with all advanced options would be sooner enterprise-ready than ZFS on Linux),

b) Neither BTRFS or ZFS are such revelation from heavens to heathens living in darkness as many of its proponents seem to suggest, because most of its functionality is achieved on LVM/standardFS or can be achieved soon with battle-tested-enterprise proven solution instead of throwing away half of the storage stack in Linux and replacing it with something less proven and battle tested (ZFS on Linux is not the same as ZFS on Solaris).

We don't know much solid about stability of BTRFS on enterprise-size storage with all advanced features switched on (neither SLES nor RHEL issue trackers are available, RHT does not support BTRFS at all). We don’t know much about CPU/memory requirements of either of these on enterprise-size storage (hundreds of TBs) … I heard nasty rumors, but nothing certain. By advanced settings I mean in this case for example check-summing of all sectors.

c) We don't know much about how to create very solid operating system, but it seems that modular design is one of the nice things to have. We have proven reliable modular system in LVM/DM-* and now we should throw it away for a monolithic blob? Hmmm.

Matěj

btrfs still hasn't come through

Posted Feb 26, 2016 21:13 UTC (Fri) by anselm (subscriber, #2796) [Link] (2 responses)

We don't know much about how to create very solid operating system, but it seems that modular design is one of the nice things to have. We have proven reliable modular system in LVM/DM-* and now we should throw it away for a monolithic blob?

I agree that modularity is usually a good thing, but it is also a fact that the tight integration of “volume management” and the filesystem itself in btrfs enables various things that the more strictly separated approach espoused by LVM and the device mapper don't support well. For example, with LVM you get to make snapshots of whole block devices only, and since LVM knows nothing about file systems it is up to you to make sure that the snapshot actually contains a consistent file system. In btrfs, OTOH, you can make snapshots of arbitrary subvolumes, and btrfs will take care of the consistency issue for you. In certain configurations, SLES makes btrfs-based snapshots of its root file system at a rate of one per hour (more if you're installing or configuring stuff), and that would quickly become unmanageable based on LVM.

btrfs still hasn't come through

Posted Feb 26, 2016 22:25 UTC (Fri) by ceplm (subscriber, #41334) [Link] (1 responses)

It is perfectly possible and easy with LVM thinp (it is not your dad's LVM anymore).

btrfs still hasn't come through

Posted Feb 26, 2016 22:28 UTC (Fri) by ceplm (subscriber, #41334) [Link]

Sorry, what I wanted to say that it is perfectly possible and cheap to make number of fast snapshots on thinp volumes. No, snapshots of subvolumes is not available AFAIK.

btrfs still hasn't come through

Posted Feb 26, 2016 10:23 UTC (Fri) by ceplm (subscriber, #41334) [Link] (2 responses)

The official stance of RHT is, if I am not mistaken, that LVM (with all the improvements which happened lately ... e.g., thin-pool for cheap and fast snapshots) and XFS can be used now as replacement for majority cases of what ZFS provides especially for enterprise uses and missing parts.

Even if Oracle tomorrow release ZFS under GPL (or dual license; and no I am not holding my breath), the situation in the Linux world would hardly change. Filesystem development is a super conservative sport (how much would you like a bug in FS destroying your data?) and before all the changes between various Linux forks of ZFS would merge, before all the missing parts support for Linux would materialize (not mentioning all tools like fsck.zfs), it would take couple of years at least. And even then I think that large filesystem users (e.g., enterprise) would be hesitant to submit their data to it. I believe improvements to LVM/XFS, or even final completion of BTRFS are more immediate options.

btrfs still hasn't come through

Posted Feb 26, 2016 15:41 UTC (Fri) by nybble41 (subscriber, #55106) [Link] (1 responses)

With block-level LVM snapshots you need to first ensure that your filesystem is in a consistent state (unmounted, or remounted read-only), or you risk a corrupted snapshot just as if there was an unclean shutdown. The scope of the snapshot is always the entire block device. BTRFS (and presumably ZFS) can take a read-only or read-write snapshot of a live subvolume without first shutting down everything dependent on the filesystem; a subvolume can include the entire filesystem or only a select portion. Consequently, LVM snapshots are not really a substitute for BTRFS/ZFS snapshots outside of certain narrow use-cases.

btrfs still hasn't come through

Posted Feb 26, 2016 22:21 UTC (Fri) by dtlin (subscriber, #36537) [Link]

Unmounting is not required; filesystems support freezing to a consistent state and dm/LVM automatically use it.

$ man 8 fsfreeze
fsfreeze is unncessary for device-mapper devices. The device-mapper (and LVM) automatically freezes filesystem on the device when a snapshot creation is requested. For more details see the dmsetup(8) man page.

"There is no plan to include ZFS in Oracle Linux. "

Posted Feb 26, 2016 19:05 UTC (Fri) by atai (subscriber, #10977) [Link]

Oracle's own position:

https://blogs.oracle.com/linux/entry/oracle_linux_7_is_now

There is no plan to include ZFS in Oracle Linux. The Oracle Linux 7 installer allows you to select either XFS (the default) or btrfs. If you're familiar with ZFS, I recommend taking btrfs on Oracle Linux 7 for a spin.

SFC: GPL Violations Related to Combining ZFS and Linux

Posted Feb 27, 2016 14:09 UTC (Sat) by gdt (subscriber, #6284) [Link]

The nub of the issue is what source code remains after the Abstraction-Filtration-Comparison test of the module. Noting that the test would discard source code required to adapt the module to work with Linux rather than work with Solaris. Given that ZFS was written for Solaris an argument that a straightforward port to Linux brings elements which are not scènes à faire will be interesting to read.

On this point the analysis is mere assertion, and of the uninteresting case ('combined work', rather than 'derived work'):

our lawyers have analyzed these situations with the assistance of our license compliance and software forensics staff for many years, and we have yet to encounter a Linux module that — when distributed in binary form — did not, in our view, yield combined work with Linux

I wonder how many modules with a high count of non-Linux lines of source code and non-Linux function points SFC's lawyers have previously examined? There can't be that many of these modules in existence.

Because of the oddities of this case, if SFC do prevail before a court then the consequences may not be unicorns and rainbows. I'd be worried such a result would expand the application of 'derived work', with possible consequences on using the structure information in header files of products for which Linux is seeking to interoperate.


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