ZFS On Linux - It's Alive! 281
lymeca writes "LinuxWorld reports that Sun Microsystem's ZFS filesystem has been converted from its incarnation in OpenSolaris to a module capable of running in the Linux user-space filsystem project, FUSE. Because of the license incompatibilities with the Linux kernel, it has not yet been integrated for distribution within the kernel itself. This project, called ZFS on FUSE, aims to enable GNU/Linux users to use ZFS as a process in userspace, bypassing the legal barrier inherent in having the filesystem coded into the Linux kernel itself. Booting from a ZFS partition has been confirmed to work. The performance currently clocks in at about half as fast as XFS, but with all the success the NTFS-3g project has had creating a high performance FUSE implementation of the NTFS filesystem, there's hope that performance tweaking could yield a practical elimination of barriers for GNU/Linux users to make use of all that ZFS has to offer."
Why not in the kernel? (Score:5, Insightful)
The GPL doesn't attempt to codify all the intricate details that it would take to define such a distinction in the license. It's only described as an accepted rule of thumb in the FAQ. So what's the deal? It seems like this rule is really holding back some commercial support for Linux - is the current situation what we really want, and at any rate how did we get here? Would we be better off if such a separable, non-essential feature could be linked in somehow instead of needing to be put behind extra layers of abstraction?
Re:Why not in the kernel? (Score:4, Insightful)
I agree the kernel vs. userland issue is arbitrary. However, think about all the closed-source software running on Linux, or opensource with other licenses but GPL v2. These are legally possible only because we make the distinction.
Re:It's time for Sun (Score:5, Insightful)
By "co-opted" I presume you mean, "Made major contributions to [gnome.org]"?
Re:It's time for Sun (Score:4, Insightful)
Sorry, it's Linux that's playing the license games, not Sun. One only needs to look at ZFS support in FreeBSD to see that (Speaking of, where's the 'ZFS On FreeBSD!' story?).
The GPL "everything under our license" philosophy is the sole cause of these so-called "license issues". If Linux wants to use Sun's code, why should Sun have to release it under Linux' license?
Why the big deal about booting from it? (Score:3, Insightful)
I can't think of any reason why it would be so terrible to boot up from an old 20gb with ext2/ext3 or anything else, then run the rest of your system under whatever. I'm doing that now anyway, I boot from ext2 then everything else is ext3. Doesn't make my performance suffer any that I can tell.
Besides, I suspect that most people that would run ZFS are the type of people that leave their machines up for months at a time. In that case, why the panic attacks over booting issues?
I hope they can find some way to resolve the license issues, I'm excited about ZFS (in concept and theory) and I would love to give it a go. Finally a system that's up with the times.
Re:Why not in the kernel? (Score:3, Insightful)
This is absolutely not true. "It has been decided": When? By whom? This claim is not only unfounded, it is also quite false (just ask a lawyer..).
The parent absolutely should NOT be modded as informative.
Re:It's time for Sun (Score:4, Insightful)
Re:It's time for Sun (Score:2, Insightful)
GPL is like a Cult which doesn't allow people to converse with people outside the cult or its compatible cults. Any sharing of idea or information outside of its core beleafs are considered Evil so must be avoided at risk of banashment. Software wants to be free but the creator normally wants some rights to his work. Either it being money, their Name in the Text File so it looks good on a resume, or just control of the process. Sun want to keep control of their process so they don't want to make it GPL. And now Linux users are suffering from it not because Sun doesn't want linux users to use it but because the Rules that the linux Devlopers agreed appon wont allow it.
Re:Why not in the kernel? (Score:5, Insightful)
The existence of the LGPL goes some way to suggesting that this indeed is the generally accepted understanding. It's not been codified in any legal judgement that I'm aware of, but that's only becaue there have been relatively few legal judgements worldwide on this particular aspect of the GPL. Most breaches seem to be far more flagrant.
Re:Wow... nice duct-tape OS, Lunix d00dz!!! (Score:3, Insightful)
Re:It's time for Sun (Score:3, Insightful)
I don't care if Sun says they're considering GPLing OpenSolaris, ZFS, or anything else for that matter. The poster I replied to accused Sun of keeping ZFS from Linux by not GPLing it - when it's the goddamn GPL that Linux uses that is preventing the inclusion of ZFS!
I don't think you can blame the whole situation on Linux's use of the GPL, which is not coincidentally the reason why many people contributed to Linux. Given that Linux is today considerably ahead of all BSDs in most ways, I think adoption of the GPL is likely the only reason Linux is here today.
I'm not sure how Linux can be ahead of the BSDs, as Linux is just a kernel, while the BSDs are entire operating systems. But let's say you were referring to Linux distributions being "considerably ahead" - I've never seen this. I've always found the BSD's to be elegant systems to work on, and Linux systems to be a mess (I unfortunately have to admin hundreds of Linux boxes at work). Linux supposedly has better driver support, yet I've always found FreeBSD supports my hardware just fine (and for many things, like wireless drivers, I've found the BSDs to have better supprt than Linux). Linux may perform a bit better in some instances, but IMHO the negligible performance gains aren't worth the aggravation.
Finally, if you don't care about software freedom, and only your freedom, why don't you go run BSD, and stop complaining about Linux?
I use FreeBSD on my personal server, and I believe BSD code to be more free than GPL code, but that's irrelevant. Frankly, I'm sick of the Linux community telling everyone else what to do with THEIR code. Besides, you can hardly call my post a complaint - if anyone was complaining, it was the original post I replied to.
Re:Parts of ZFS already GPLv2'd (Score:5, Insightful)
From the TFP : Now about that headline, yes I really did say that ZFS code is already available under the GPLv2. I will be completely honest though and make it clear that it isn't all of the ZFS source.
Well that's fantastic... which parts do we get? The ones that make ZFS revolutionary or the ones that make it a rehashed XFS, JFS, Rieser, etc? I don't see how this is any different than any of the bait-n-switch scams that people post to
FUSE defeats the entire purpose. ZFS is meant to run and support a large/huge file store. What admin in their right mind would do that through userspace unless it's solely for backup?
The point is, ZFS is not functionally viable for Linux on the environments for which it was intended.
Re:Why not in the kernel? (Score:4, Insightful)
The CDDL is more or less the exact same license Firefox or Apache are under. Sun has a lot of ISV's and IHV's that want to be able to write code ( storage drivers, for example ) that can link against the Solaris kernel without having a team of lawyers analyze to see if it's okay.
It wasn't chosen to be incompatible with the GPL, it was chosen to provide some of the same protections ( share my code... ) without being incompatible with other licenses.
As for the patents, ask IBM how many patents they've got expressed in Linux
"People could still write non-GPL drivers for Solaris regardless. I take that to mean you don't understand the meaning of a GPL compatible license."
You can't link to GPL'ed code with an incompatible license. Hypothetically if EMC or Symantec wanted to write a closed-source driver for this hypothetical GPL Solaris, they'd have to pull an nVidia ( which is a lot of effort for purely non-technical reasons ), or stop supporting the platform.
Would that really be in Sun's best interests, if I(S|H)V's stopped supporting them?
But, doesn't Linus... (Score:3, Insightful)
So, if he controls the copyright, he can place it under a "GPL plus you're allowed to link ZFS" license. Where's the problem?
Re:It's time for Sun (Score:3, Insightful)
Have you read any of the FSF's material on the subject? Much of it tries pretty hard to convince you that it is wrong to release your code under a different license.
Speaking as a developer, the GPL has caused nothing but hassle for me.
-:sigma.SB
Re:It's time for Sun (Score:2, Insightful)
Re:It's time for Sun (Score:3, Insightful)
I'm not sure who you think you're kidding, but you ARE kidding NOBODY.
Linux is a major player in computing today. It is used at every level of business. It is in cellular telephones and several of the top ten supercomputers on the planet. It can be found on the desktop (sometimes) and on the server (quite often) and in switches, routers, and the like (regularly.)
Right, that's why Sun is currently working to make Solaris more like Linux (at the userspace level) - because Linux is irrelevant. Good thinking. I suppose next you'll tell me that IBM thinks Linux is irrelevant too, which is why they sell more Linux than AIX today.
The problem with that reasoning is that the GPL (let us speak of v2 for now) is only bad for people who want to do bad things. It's bad for people who want to benefit from the code without respecting the wishes of its author. It's bad for people who want to prevent you from properly utilizing the hardware for which you paid. And that's it. No one is forcing you to use GPL code, and until they do, the viral nature of the GPL (it is viral, but it's amazingly easy to avoid, it doesn't leap from one directory to another and infect your code without your knowledge) is totally harmless to you. If you want to write non-GPL code, you have that right and no one will stop you. On the other hand, they will [try to] stop you from using their GPL code in their project. But due to copyright law, even without the GPL, you still wouldn't have the right to use their code. So you have no basis for your complaint.
As for GPLv3, the major additional requirement is that if you extend patent protection to any recipient of the code, you must extend it to all of them. This is only logical, because it again prevents you from using the code in a way that is not blessed by the author of the code. So again, there is no basis for complaint. If you find the author's requirements too arduous, don't use their code! You don't have a god-given right to use it anyway, and they would not have distributed it at all (meaning that no one would benefit from it but them) if not for the GPL - because obviously those are the terms under which they wished to distribute it.
Basically, the GPLv2 or v3 harms only those persons who wish to benefit from the works of others without their consent.
The GPL might be viral, but it's not contagious.
I suppose there's another group of people who could be harmed by this; if you need functionality you can't develop, and there's no BSD-licensed or commercial code available and your only options are GPL'd, then you have two choices. You can go back to school and learn how to do the development yourself, or you can go GPL. But that's a pretty farfetched example. There will likely always be demand for closed code; there will likely always be proprietary software. And if it does happen, then it indicates nothing less than a paradigm shift in software development, and by that time it will be well past time to get with the program, join the big parade, and develop Free Software.
Since that day is probably nowhere close, I am at a loss to determine what you're complaining about - unless you're one of those people who would prefer to use the author's code without their permission. In which case I hope the same happens to you, over and over.
Re:Yet to be included? (Score:2, Insightful)
I for one didn't quite believe Sun when they made their initial casual talks about deciding to license Java under the GPLv2, but look what happened with that: they followed through, with the primary intention to see Java be as widespread as possible and attract more users and developers. In Sun's perspective, and as they've publicly stated, the fact that their Java technology can now (well, almost) be included by default in any GNU/Linux distribution which chooses to do so was a huge selling point for choosing the GPLv2.
Now Sun has been talking about dual-licensing Solaris under the GPLv3 [eweek.com] in addition to the CDDL. Sun sees the GNU/Linux train taking off from the station and doesn't want to miss it: that's why they GPLed Java and that's why they'll probably do the same for Solaris. In addition to this, Linus Torvalds has already stated that ZFS under the GPLv3 is perhaps a good enough reason to relicense the kernel [lkml.org]: "maybe ZFS is worthwhile enough that I'm willing to go to the effort of trying to relicense the kernel."
So in summary, we have Sun seriously considering GPLv3 for Solaris, and if they follow through in totality, we have Linus seriously considering starting the move to GPLv3 license Linux, and we also have all of the GNU projects moving to GPLv3 at the hand of the FSF. And the patents Sun has on ZFS? Already taken care of in the GPLv3! Now we just need the licensed to be released....
Re:It's time for Sun (Score:3, Insightful)
Sun releases nifty filesystem.
Linux users drool, decide they want filesystem.
Linux developers realize that licenses are incompatible.
Linux users complain that Sun is playing 'licensing games.'
The CDDL is not all that restrictive. However, it just happens to be incompatible with the GPL, because the GPL doesn't allow additional restrictions to be placed on derivative works, and the CDDL has requirements that aren't in the GPL.
Sun is already being open with their filesystem. Linux users are the ones who want it in the kernel. The GPL is at least as much to blame as the CDDL. Since I consider the CDDL to be a more free license than the GPL, I'm inclined to think that the GPL is more at fault.
Ah, well then... (Score:3, Insightful)
If I understand things correctly, it is possible for users to legally compile the Linux kernel and ZFS together, the sources may even be distributed together as long as there are no pre-linked binaries (ready to run). That should make it possible for a distribution to compile ZFS support into the kernel at install time (i.e. by the user, for their own use, not for distribution).
Re:Why not in the kernel? (Score:3, Insightful)
The FSF lists 30 GPL-compatible licenses [gnu.org] other than the GPL itself.
And it's Sun's fault because they chose their license second, without (as far as I could tell) giving a clear explanation why a GPLv2-compatible license would have been impractical for them.
Whatever else their relative merits, Linux has by far the wider hardware support. I don't know, maybe there's a few crucial drivers Solaris would have to give up for lack of available GPL drivers, but they're giving up access to a ton of Linux driver code.
Re:Why not in the kernel? (Score:4, Insightful)
Re:The headline... (Score:3, Insightful)
Re:Why not in the kernel? (Score:2, Insightful)
And it's Sun's fault because they chose their license second, without (as far as I could tell) giving a clear explanation why a GPLv2-compatible license would have been impractical for them.
It's important to note that when the FSF says "the GPL is compatible with license X" it means that in the same way Microsoft does when it says "our standard is compatible with standard X".
That is, it's one-way "compatibility". You can take "license-Xed" code and GPL it, but you can't take GPLed code and "license-X" it.
Re:Ah, well then... (Score:2, Insightful)
Re:Why not in the kernel? (Score:1, Insightful)
Except by giving Solaris drivers for approximately all hardware currently in use (and most hardware ever made).
Re:Debian Solaris? (Score:3, Insightful)
Trusted Solaris is heavily based on the Sun toolset and RBAC (role based access control) in particular. By stripping these bits out and replacing them with GNU packages, you've eliminated the possibility of Trusted Solaris.
TS is a _very_ different beast. Superuser privileges haven't just been removed from
Finally, consider the premise of Trusted Solaris: A very specific and fixed environment which has an EAL4 CC certification. Any changes to that, and the 'trusted' part (and the certification) become invalid.
So in short, the answer is no.