back to article Bundling ZFS and Linux is impossible says Richard Stallman

Free Software Foundation president and Gnu Public Licence (GNU GPL) author Richard Stallman has weighed in on the spat over whether Ubuntu can legally include ZFS in Linux, with a resounding “No!” Stallman has issued a statement he says “.... explains some issues about the meaning and enforcement of the GNU General Public …

Re: Stallman is a loon

"All religions have their wild eyed prophet in the early days. But there comes a time when pragmatism takes the lead and the evangelists need to be retired to their hermit hole so new thinkers can bring the valuable core ideals to the world without the baggage".

Or you could -- call me crazy -- not join a religion when all you need is an OS...

11
0
Anonymous Coward

Re: Stallman is a loon

I don't know if he's a loon, but as far as I know, he's not a lawyer. So while his opinion is sure interesting - it's not a legal opinion, and apparently, lawyers disagree.

9
2
Silver badge

Re: Stallman is a loon

"Or you could -- call me crazy -- not join a religion when all you need is an OS..."

Clearly you've never heard of the Church of Apple and St Jobs.

6
4

Re: Stallman is a loon

I don't know if he's a loon, but as far as I know, he's not a lawyer. So while his opinion is sure interesting - it's not a legal opinion, and apparently, lawyers disagree.

Except the last time we heard about this issue was when some Free-software specialist lawyers claimed that Canonical's lawyers were wrong in their interpretation: http://www.theregister.co.uk/2016/02/26/canonical_in_zfsonlinux_gpl_violation_spat/

So *some* lawyers disagree, where as some *other* lawyers agree. Sky is blue, bears catholic, etc.

4
0
Silver badge

Re: Stallman is a loon

He is a loon - when I first came across his work I thought he was a raving idiot. Time however has proved him right many more times than wrong. The key is not whether the tech is free, open and works, it is whether it will remain free, open and working. And the CDDL dont play that game.

9
3

So *some* lawyers disagree, where as some *other* lawyers agree

A Universal Constant ...

0
0
Silver badge

Re: Stallman is a loon

…Or the equally insane Church of Anything But Apple, which seems to have very many adherents here.

Personally, if I’m a member of any church, I belong of the congregation of the digital church. If it can do calculations and be programmed then count me in. Android, CP/M, Linux, ProDOS, ARThur, VMS, MacOS, Windows, iOS, Haiku, Xenix, TOS, WebOS, AmigaOS, UCSD-P, MS-DOS, OS/2… I love 'em all.

In my experience, the whole Empty Pot Making The Most Noise thing holds true. It seems that the people who get most religious and uppity about Apple / Microsoft / Google etc being crap, and who claim that they’ll never use a product from that company are the people who know the least about computers. Low level BOFH wannabes rather than programmers or sandbenders.

4
1
Anonymous Coward

Re: Stallman is a loon

All religions have their wild eyed prophet in the early days. But there comes a time when pragmatism takes the lead and the evangelists need to be retired to their hermit hole so new thinkers can bring the valuable core ideals to the world without the baggage.

The problem is that being a raving lunatic and being right, even occasionally, are not mutually exclusive conditions.

Sure, I don't have much time for Stallman (and I've actually met him a few times) because an inability to engage in constructive debate doesn't work for me - "my way or the highway" is not a way to resolve conflicts in a practical way - but that doesn't mean he's wholly wrong.

The problem is that being right is not always practical or pragmatic. If you need to see examples of that, just look at the difference between Debian and, say, Ubuntu if you need to get something going on a machine - some pragmatism means that you may want accept nVidea drivers.

In conclusion, Stallman may be right, but it's not helping much. It's clear that people are seeking ways to use ZFS - it appears the Ubuntu guys are looking for ways to make that happen which I find laudable.

1
3
Anonymous Coward

Re: Stallman is a loon

…Or the equally insane Church of Anything But Apple, which seems to have very many adherents here.

Nope - just used as part of a diverse Open Standards approach to IT. Personally, I am more fond of the Unix way of doing things, and Apple has managed to put that in nice hardware with a shell I can even let my grandma use without too much prompting and without too much support to keep it running.

I'm just not very fond of rickety IT I have to keep fighting with to keep it online, safe and private, which is what I have found Windows to be (well, before I gave up, which is around Windows 7 - from what I hear I haven't missed much). It's just too expensive for running a small operation like ours in both software costs, resources and risk, but it appears we'll have to spin up some Win 2008 VMs to run MS SQL because some code we want to use doesn't run on anything safer - the debate about that is still ongoing because it's a global deployment and apart from anything else we don't want MS crowing about it, which it would as soon as it found out about it. We may actually ask the developers to re-engineer the core so we can avoid this.

In any other respect I agree - I don't care what religion it belongs to as long as it does the job.

2
2
Anonymous Coward

@AC - Re: Stallman is a loon

Lawyers disagree because they win no matter who loses. You may very well be a criminal but your lawyer strongly disagrees.

0
0

Free as in..

..you WILL use my license damn you!!!!

7
5

FFS someone just write an ACTUAL open one already.

If it is that big of a deal....

0
0
Headmaster

Re: FFS someone just write an ACTUAL open one already.

Exhibit A) OSI-Approved Open-Source licences: https://opensource.org/licenses/alphabetical

Exhibit B) Why the above list exists: https://xkcd.com/927/

5
0

I use ZFS every day.....

... FreeBSD, NAS4FREE, PC-BSD. It isn't hard.

10
1
Silver badge

Re: I use ZFS every day.....

I see what you did there.

0
1
Silver badge

Re: I use ZFS every day.....

>> FreeBSD, NAS4FREE, PC-BSD. It isn't hard.

No it really isn't. ZFS works pretty damned well too, I've used it and btrfs (as well as NTFS which there's no avoiding if you use MS products at all, and I do) and I much prefer ZFS. The only area that I'm not convinced of its utility is through lack of experience as I haven't used it with any of our SSDs yet, but it does work exceptionally well for complex drive arrangements with regular ol' HDDs.

I use ZFS every day as well. I don't use NAS4FREE but I do use FreeBSD and PC-BSD daily. While Linux chases its tail yet again because of people bitching and moaning we've been using ZFS for what, like 12 years now?

Its actually kind of sad really, ZFS is not a new technology at this point by any means but Linux still doesn't/can't ship with it. I hope Canonical does do this and gets away with it, and its immense popularity convinces other distributions to push Oracle to change the license to 3 clause BSD so everyone can use it and it'll still make GPL zealots cry themselves to sleep. Everyone wins.

1
0

Re: I use ZFS every day.....

Hang on Frank, it's perfectly possible to use Linux (eg Ubuntu) and OpenZFS in an organisation, almost like you do in FreeBSD land, we have done this for at least the last 5 years. We use the Ubuntu-supplied DKMS packages, downloading them into our own local organisational apt repo, separate from the main Ubuntu apt repo (which we also store a local copy of). We can't distribute our customised version of Ubuntu, but why would we want to?

0
0

Looks like there still is a reason to use Solaris / BSD and not Linux.

5
1
Silver badge

I'm with Stallman on this.

He may be an anachronistic old fart, but then so am I.

(Note that I don't always agree with him.)

6
1
Silver badge

Re: I'm with Stallman on this.

In what way are you with him?

  • That ZFS can't be distributed with Linux as Ubuntu proposes?
  • Oracle should change the ZFS license to suit Stallman?

For the first: well, surely that's a matter for the courts. For the second: why the hell should they? It was the FSF that started the incompatibility game with licences and the subsequent feeding frenzy for lawyers. Thank fuck that the GPL is rarely used on new projects.

Solution: want ZFS? Use BSD or Solaris. Problem solved.

4
7
Anonymous Coward

Re: I'm with Stallman on this.

> It was the FSF that started the incompatibility game with licences

GPL is a damn sight more liberal than any proprietary licenses that I have ever seen.

6
3
Silver badge
FAIL

Re: I'm with Stallman on this.

GPL is a damn sight more liberal than any proprietary licenses that I have ever seen.

But ZFS isn't under a proprietary licence…

0
0
Bronze badge

Or bundling Linux with ZFS is impossible

If you want ZFS with a GNU userland you can run Debian kFreeBSD https://www.debian.org/ports/kfreebsd-gnu/

For that matter simply dump Linux and use Solaris or some other proper UNIX some of which will quite happily run Linux binaries unmodified.

Jon

7
3
Silver badge

Re: Or bundling Linux with ZFS is impossible

There are a number of ways to distribute and stay within the terms of GPL

Such as having the installer download and compile ZFS code, or even just download the modules as required instead of having them on the distribution media (this is done for Flash and a few other things for much the same reason)

5
0

Re: Or bundling Linux with ZFS is impossible

Proper Unix is used on the top 500 super computers in the world, oh wait, it isn't.

Must be because proper Unix is so good that they don't want to use it?

4
8
Silver badge

Re: Or bundling Linux with ZFS is impossible

@jms222 Jeeesuz! Really? You’re getting religious on Linux? Linux is just as ‘proper’* as BSD / Solaris / Mac OS X &c. They’re all great OSs. Pick the one you like, and be happy. No need to advise anyone to dump Linux.

*note I didn’t say ‘proper UNIX’ - because I don’t think that it matters.

0
0

You can already use ZFS as a bolt on

http://zfsonlinux.org/

Stallman is referring to integrating it into the kernel (like other Linux filesystems). This is probably needed for performance improvements and better boot support.

Anyone played with the above?

5
0

Re: You can already use ZFS as a bolt on

IIRC there are three main problems:

-Actual support. You can't just ring Canonical when you need help. This is a bit of a problem in business.

-The faff of actually installing and configuring the thing.

-You can't actually boot from it.

0
0

Re: You can already use ZFS as a bolt on

Yeah. Running 5 production servers, 2 test servers over about 500Tb of total storage on it and Ubuntu 14.04. It Just Works. The only issue is having to wait for the DKMS modules to compile whenever you do a kernel upgrade and given how rarely we actually do that I could so care less about any of this nonsense.

6
0
Silver badge

Re: You can already use ZFS as a bolt on

Yes, lots of people use ZOL (ZFS on Linux), me included. Works well, but building of ZFS modules is not something that everyone will want to do. And it has to be done after each kernel upgrade.

I understand what Canonical want to do it for their users. I do not know for sure whether or not they integrate ZOL into Linux sources, but I assume they do not. ZFS modules can be perfectly well built from the separate source tree - the resulting binaries won't allow boot from ZFS, but will allow ZFS to be used as a root filesystem (or any additional) which IMO is just right. Majority of users will normally want less esoteric filesystem for /boot anyway (and I do not see Canonical even suggesting use of ZFS for /boot , for support reasons). On the other hand, integrating ZOL into Linux kernel and then distributing the resulting binaries would IMO cross the legality barrier and there is no reason to do it, as explained above. Perhaps RMS assume they do it.

Also, I have trouble with RMS assertion that releasing combined work of Linux kernel with non-GPL module violates GPL, for the very simple reason that GPLv2 (under which Linux kernel is explicitly released) never mentions "combined work", hence this term cannot be applied to it. It does apply to derived work, which arguably is a different matter. The relevant section of GPLv2 license is cited below:

If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works

The above section has been removed in GPLv3 and replaced with provisions for combined work. I understand RMS may wish Linux kernel was released under GPLv3, but it is not, and its license has different provisions from GPLv3. Also, since ZFS is maintained for many different operating systems (upstream is Illumos, which is descendant of Solaris - open source under CDDL, which incidentally is also ZFS license), it cannot be considered derived work of Linux kernel. The disagreement seems to be whether ZOL (i.e. port of ZFS to Linux) can be considered derived work of Linux kernel, or alternatively whether the act of releasing its modules as a part of a distribution makes it a derived work.

While I am very grateful to RMS and FSF for GPL which made Linux and GCC and many other great technologies available to me, for free, I do think they are going too far here. ZFS is open source even though the license is different from their preferred one. There are closed source blobs in Linux kernel I respectfully suggest they should focus on instead, e.g. nvidia module, firmware blobs and similar.

Oh, and Oracle has absolutely nothing to do with the current ZFS as maintained by Illumos team and others. Oracle have their own closed source version which is not compatible with ZFS as used by Illumos, FreeBSD or ZOL - they all form OpenZFS, which is open source as opposed to variant of ZFS used by Oracle and which no-one cares about (except for certain Oracle customers) and which is way behind OpenZFS. There is absolutely no reason to invite Oracle into this discussion.

12
1
Silver badge

Re: You can already use ZFS as a bolt on

Ubuntu could probably distribute ZFS in much the the same way that VmWare distributes VmWare Tools.

The VmWare kernel modules are tgz'ed source code, which are compiled & installed by a Perl script. Probably to get around the same kind of problem. Ubuntu could do a "ZFS-Installer"-package which holds the build dependencies, management scripts and source code, on install / update it kicks off the build again.

2
0
TJ1

@ Bronek Kozicki: More data for your analysis

It's good to see a rational statement of the facts based on research into the issue, rather than the more typical knee-jerk opinions not based on fact.

To answer: Ubuntu 16.04 has the ZFS on Linux code as part of the Ubuntu Linux kernel source-code.

Some people need to remember the GPLv2 is a copyright licence (unilateral permission) not a contract (an exchange of obligations) [1]. Without it there is no right to copy, distribute or use a GPLv2 work.

When this issue first came up I did an in-depth analysis of it on Hacker News [0] and identified key issues that are being overlooked:

1. 'Derivative works" is a concept of U.S.A. Copyright law. It does not apply in the same way in the U.K., and Canonical Ltd., is a U.K. company.

2. The "OpenZFS On Linux" project is the so-called 'combined work' without needing to bring the Linux project into this.

OpenZFS On Linux distributes the OpenZFS (Solaris compatible) modules under the CDDL and the 'Linux' Solaris Porting Layer (SPL) module under the GPLv2. There are other SPL modules for interfacing with other operating systems.

These are actually separate modules with different licenses. The GPLv2 SPL is a shim (interface) layer.

So, the legal analysis should start with the OpenZFS On Linux project itself that distributes its code as a whole with parts licensed by the CDDL and others by the GPLv2. As the act of distribution speaks to the 'intent' of the authors of OpenZFS on Linux that would be the focus in a courtroom investigation if an action were brought - not what the Linux kernel developers, or Stallman, think.

3. When the Linux project is added into the mix, at runtime the GPLv2 OpenZFS on Linux SPL 'shim' module is dynamically linked into the Linux kernel and provides an API translation between the OpenZFS Solaris Platform API and the Linux API (just as the Nvidia kernel module does for its binary 'blob' module). The core OpenZFS modules dynamically link to the SPL module.

4. The GPLv2 SPL shim module could equally claim to be derived from Solaris or Linux, or both, since it implements, translates and calls the API interfaces of both OSes.

[0] https://news.ycombinator.com/item?id=11242410

[1] https://lwn.net/Articles/61292/

13
1
Silver badge

Re: @ Bronek Kozicki: More data for your analysis

@TJ1 have an upvote for lots of useful details

0
0

Re: You can already use ZFS as a bolt on

Oracle's branch of ZFS has support for encryption, which is not available in OpenZFS.

Most of the original authors of ZFS have left Sun since it was acquired by Oracle, and there is probably more talent on the OpenZFS fork.

0
0
Silver badge

Re: You can already use ZFS as a bolt on

@Fazal Majid yup , encryption is the only feature OpenZFS does not have, since there is little appetite in the community to implement it. You can have ZVOL with encryption on top instead.

For Illumos history I recommend Fork Yeah! The Rise and Development of illumos, may skip first 30mins (if you are in a hurry)

0
0
Silver badge

If it compiles, ship it

The key concept is that linking GPL code with code licensed with an incompatible license results in program you cannot distribute. Back when the GPL was written, linking to a library meant creating a single binary file containing its own copy of some of the code from the library file. The binary would run fine even if you deleted the library file. Later, dynamic linking allowed programmers to create programs that contained no library code, but several programs could share the same library (one copy on disk and up to one in memory no matter how many programs linked to it). The general consensus is that this still constitutes linking as referenced by the GPL.

Before compiling, the kernel must be configured. Most of the configuration options select which parts of the kernel are missed out, which get compiled into a large file and which get compiled into individual modules. Kernel modules can be loaded at any time and connect to the bulk of the kernel (and to each other) in pretty much the same way that a user land dynamic library connects to an executable. According to Linus, loading a kernel module is not the same as linking as referenced by the GPL. Linus is the copyright holder for much of the kernel, and is entitled to decide what is and isn't allowed when distributing derived works of his project. He can certainly decide not to sue even if Stallman thinks he should.

Linus is not the only contributor. Other people have contributed portions of the kernel, and they retain copyright over their contributions. Contributions are only accepted if they are licensed under the GPL or a compatible licence, that way the entire kernel including all the contributions can be distributed as a whole without all the distributors having to reach separate licensing agreements with all the contributors.

Not all contributors agree with Linus's opinion about kernel modules not counting as linking. To allow for this contributors can mark symbols in their own code with EXPORT_SYMBOL (any module can get the value of the symbol), or EXPORT_SYMBOL_GPL (only GPL licensed modules can get the value of the symbol).

The idea is, if you create a non-GPL module (which you can distribute independently of the kernel), and try to load it into the kernel, the kernel will check every symbol reference and will fail to load the module if it tries to use a symbol defined in code written by someone with a strict interpretation of the GPL. (I think compilation will fail, so you cannot not accidently create a module other people cannot load). You can see more of the details here.

Stallman is welcome to limit how derived works of his projects are distributed. So is Linus, but Linus lets contributors select their own interpretation of the GPL without screaming at others that they have to see things his way.

5
0
Anonymous Coward

Ubuntu's legal advice process

Ubuntu's previously stated that it's sought legal advice and believes it can bundle ZFS without breaching any licences.

Canonical: Can we bundle ZFS without breaching any licences?

Lawyer 1: No sir, that would be impossible.

*Splat!*

Canonical: Find us some new lawyers.

...

Canonical: Can we bundle ZFS without breaching any licences?

Lawyer 2: No sir, that would be impossible.

*Crunch!*

Canonical: Find us some new lawyers.

...

[repeat for some time]

Canonical: Can we bundle ZFS without breaching any licences?

Lawyer n: Why yes, that's certainly possible!

Canonical: See! I told you it could be done!

1
1

Re: Ubuntu's legal advice process

Well, yes, but to be fair that is largely how legal advice works.

Ultimately whether or not this is legal will have to be decided by a court, at which point if lawyer N can convince the court that it is, then they were right.

That might be a crazy hard sell, which is why none of the others wanted to try it, but the law isn't some immutable thing like mathematics. If you want to make something legal, you just need to convince a court* that it is.

*or possibly many courts, assuming what you're trying is contentious and is going to result in an appeal.

3
0
Silver badge

Re: Ubuntu's legal advice process

If you're squishing lawyers to get a "favourable opinion", you're doing it wrong. (Squish 'em for fun !)

It's more likely to be...

Canonical: Can we bundle ZFS without breaching any licences?

Lawyer 1: No sir, that would be impossible.

*rustling of large amounts of used banknotes*

Lawyer 1: It would appear at first glance to be impossible, but further research is required.

7
0
Anonymous Coward

I think this is where systemd could really help

...just drop it into the conversation and watch the frothing start. See no one cares about ZFS now do they?

systemd

systemd

systemd

7
1
Bronze badge

Surely _any_ commercial software running on Linux is linking with it. Yes it's dynamic but it's still linking in some form (via libc.so and linux-vdso.so). So I find the whole GPL link argument really weak.

2
2
fnj
WTF?

"Impossible", my arse

Pssst - Mr. Stallman - it may be impossible in your OPINION; not in the considered opinion of many others; but in the real world it is BEING DONE. Deal with it. Ubuntu 16.04 Beta 2 has already shipped with it, and it is a wonderful win for the users. In 12 days the final release will ship. Either join the legal machinations of certain obstructionists, or shut the heck up. Ubuntu has consulted actual legal opinion, and is not about to change its mind due to your spouting off. If, then, the obstructionists win in court, you can bask in satisfaction and the users can damn you and move on to BSD.

I have been using ZFS on CentOS for years in the form of a DKMS module that I have to compile myself every time either ZFS or the kernel gets updated. As a user, this just means when I switch to Ubuntu 16.04 I won't have to deal any longer with the stupid borked-up "weak-updates" misfeature of DKMS.

4
3

You can say many things

about Richard Stallman, but the guy has a magnificent beard!

2
0
FAIL

Richard Stallman?

Richard Stallman? Isn't he that guy who used to be a great hacker who wrote GCC and a bunch of other important tools, before his brain broke and he degraded into a babbling buffoon who wanders the planet bantering about some weird definition of freedom?

8
5
Anonymous Coward

FOSS "fundamentalism"

Slightly ot, but I find it troubling that so many people who I assume daily rely on gpl/gnu tools, fundamentally misunderstand RMS and his positions. I thought Register readers were better than that, but I see way too much vitriole against him for his "fundamentalism" when the people saying that almost always betray their lack of understanding the "fundamentals" of FOSS and it's principles.

Freedom for the users (gpl), not the devs (bsd), is going to be the last bastion against the totalitarian dystopian future. Those of us who understand that sometimes freedom requires practical and pragmatic sacrifice will be ahead of the game when those days come.

Of course, what do I expect speaking to a reader base who accepts monarchy and dumbly attributes it to "just ceremonial". Fools, most of you.

7
8
Silver badge

Re: FOSS "fundamentalism"

What makes you think people _misunderstand_ Stallman? The problem is they understand him only too well.

2
0

Re: FOSS "fundamentalism"

It will not be by monarchy that the totalitarian dystopian future will be imposed.

2
0

Re: FOSS "fundamentalism"

I upvoted you but the comment about monarchy is truly ignorant.

2
0

Forgetting about Oracle deciding all your money is now ours?

If Oracle has ANYTHING to do with it, stay way way away.

So Java is supposed to be like freely licensed and available for everyone to use (at least that's the happy song Sun was singing)... Well one need look no further than Oracle trying to sue Google for more than they paid for Sun over "using the free java in a way we didn't like" basically.

If you don't think that somewhere some legal department is coming up with a way to do massive extortion on a worldwide scale to fund more yachts and rockets then sure go right ahead....

I'd say the only 2 ways forward is either Oracle suddenly finds a new religion and gives the ZFS away in the GPL v2 license (which means they can still license it in other types of license as well), or a clean truly open source version is written to go in Linux that is carefully checked by actual lawyers who know what they are doing to make sure Oracle doesn't wait till everybody is using it & then sue everybody for Trillions.

5
1
Silver badge

Re: Forgetting about Oracle deciding all your money is now ours?

How many times do I have to repeat that Oracle has nothing to do with OpenZFS? This was released, as open source, before Oracle bought Sun, and now they cannot touch it because of all the contributions they do not own.

1
0

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Forums

Biting the hand that feeds IT © 1998–2018