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: (Score:3, Informative)
Re: (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: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.
"The FSF guideline is" (Score:5, Informative)
Re:"The FSF guideline is" (Score:4, Informative)
OTOH, some respected kernel developers (e.g. Alan Cox) certainly have explicitly said they believe binary kernel modules must be GPL and that things like nvidia's drivers are probably infringing. Not exactly the same thing but it's enough that I'd still call this a grey area until it's tested.
Re:"The FSF guideline is" (Score:5, Interesting)
I don't believe that's true. I think you're thinking of the explicit exemption Linus put in the COPYING file of the Linux kernel to say that the syscall interface was a GPL interface (there are Linux contributors who disagree to an extent with him on that).
Re:Why not in the kernel? (Score:4, Informative)
Linus decided. He wrote specific terms into the modified version of the GPL he uses with Linux. He makes it very clear. Linux does NOT use the "standard GLP" it makes a few changes for example he removed the "and later versions" part.
Re:Why not in the kernel? (Score:4, Informative)
Retroactively, AND claiming to cover code for which he is not the copyright holder. The notice at the top of the COPYING file in the kernel source code more-or-less amounts to his opinion---and if you do a little research (read: Groklaw), you'll find that Linus clearly isn't a lawyer and doesn't know what he's talking about when it comes to legal matters.
"Linus said so" is just not a valid argument about a legal matter, unless you're trying to defend yourself against a copyright infringement claim that he's making about code he holds the copyrights for.
Re:Why not in the kernel? (Score:5, Informative)
He has added a note clarifying that userland programs making system calls are not derivative works. That is clarifying his interpretation of the license. At the most, it adds an exemption, which is common practice.
The "and later versions" clause is not part of the GPL, it lies outside it. In effect, it makes the work automatically multiple licensed as and when new versions of the GPL comes out: so if you distribute something under GPL v2 with that clause, when v3 comes you it will become dual licensed under 2 and 3, when v 4 comes out it will be triple licensed etc. This allows people to redistribute under v2 or any later version, with or without the "and later versions" clause.
Re: (Score:2)
Re:Why not in the kernel? (Score:4, Insightful)
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:But, doesn't Linus... (Score:4, Informative)
The Linux kernel, for better or for worse, is going to be stuck at GPLv2.
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: (Score:3, Informative)
Re: (Score:3)
I would consider a patch to be a derivative work.
Huh ? Would you consider random notes pulled out of a musical performance, or random words pulled out of a book, to be a "derivative work" as well ?
Re: (Score:3, Informative)
A patch is structured, and further, contains specific (nonrandom) information on how to transform an input file into a previously created output file. It is, by definition, derived from two input files.
Furthermore, you appear to believe that a derivative work must somehow have structure or purpose similar to that of the original work. If I take Stephen King's The Gunslinger novel and remove every other word, I have created a new work derived from his. The nov
Re: (Score:3, Interesting)
You clearly do not understand the word random.
In hindsight, perhaps "arbitrary" would have been a better word.
A patch is structured, and further, contains specific (nonrandom) information on how to transform an input file into a previously created output file. It is, by definition, derived from two input files.
An SSH public keyfile, too, is structured, and further, contains specific (nonrandom) information that facilitates transforming input data into output data.
An SSH public keyfile, however, is sti
Re:Ah, well then... (Score:5, Interesting)
The idea, though, is that the work which you wish to modify might not have existed at all had copyright not existed. The person who created the work might not have desired to if s/he wasn't going to be able to sell it. Or they might not have been able to devote their lives to their craft, and thus ended up not having enough time to create as much. I highly doubt that the entire library of Stephen King would exist today if he wasn't a professional writer, paid for his craft.
It's obviously impossible to know what might have been, but I think that the reasoning behind copyright (in general) is sound. The problems in the current implementation are that copyright is effectively endless (meaning that the creation of new works based on the original is forever forbidden--forever being the key word) and that fair use rights are going out the window.
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:Why not in the kernel? (Score:4, Informative)
I am pretty sure that kernel modules run at the kernel level and can access all the same structures that a driver compiled into the kernel can.
FUSE file systems run at the same privilege level as a user program does. In theory it is a slower but more robust system. If a FUSE file system crashes you can just restart the filesystem and remount the drive. If a kernel level file system crashes it can cause a kernel panic and bring down the entire system.
So the distinction between user-land and kernel drivers is anything but arbitrary.
Re: (Score:3, Informative)
This is and was always one of the chief complaints about Windows as well, everything in the kernel so a malfunction can take the whole system down. Now the push to user-space makes everything more robust. Of course you also take a performance hit hence the slowness that is Vista.
Still, if ZFS under FUSE is half as fast as XFS in kernel-mode then you're not talking about an FS that is particularly slow, you would still gain the data protection from ZFS which in my mind at least is the whole point. It would
Re: (Score:3, Interesting)
I am a big fan of Microkernels. I keep hoping that Minix 3 will really start to take off soon. I love the idea of self healing systems and that can really only be done with a Microkernel.
I don't think Vista is slow because of any moves into user-space. I think it is more an issue of memory usage and DRM. Let's face it if you are "managing rights"
Re:Why not in the kernel? (Score:5, Informative)
The version of the GPL included with the Linux kernel states at the top:
Not sure how far back this clarification really goes, but I think it predates the GPLv2-only one, making it at least six years old.
Re:Why not in the kernel? (Score:5, Interesting)
The Right Thing(tm) is to keep the license as it is. It ensures the Solaris code has to be shared (like the GPL), but doesn't pollute source code around it ( GPL - viral clause = CDDL. Same license as firefox, or apache)
Linux wanting to pillage from the project isn't a good enough reason to make it impossible for people to write non-GPL drivers for Solaris
Re: (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
Re:Why not in the kernel? (Score:4, Informative)
The GPL doesn't require that everything linked to it be GPL'd, it requires that any changes or derivative works be licensed under a license (any license) that adds no more restrictions than the GPL itself does.
Re: (Score:3, Informative)
No. First off, do not turn this into a continuation of the debate of which is more Free: copyleft licenses such as the GPL, or BSD-style "our code is SO free you can make it NON-free!". This specific situation is much simpler: Linux has been GPLv2 licensed for about 15 years now, and the GPL itself is much older than that. Sun created the CDDL in t
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?
Re:Why not in the kernel? (Score:5, Informative)
relicensing Solaris as GPL is entirely unnecessary and doesn't help Sun or Solaris at all... the only people it helps is Linux, and that shouldn't be the primary concern of OpenSolaris.
If OpenSolaris happens to help Linux, great, but it shouldn't hurt itself & go out of it's way to do it
This is why. (Score:3, Interesting)
Sun just recently got a chance to sit down with their lawyers decide how they wanted to license OpenSolaris (Nevada, Solaris 11, whatever), as a whole.
Their lawy
Re: (Score:3, Insightful)
Yet to be included? (Score:2, Informative)
Of course, this will all change if both Sun and Torvalds switch to GPL3...
Forget ZFS - go native with btrfs (Score:2, Interesting)
* http://oss.oracle.com/projects/btrfs/ [oracle.com]
* http://kerneltrap.org/node/8376 [kerneltrap.org]
Avoid the license squabbles and do what we do best: build it ourselves, only better.
Re: (Score:2, Interesting)
That said, I can't see ZFS ever being in the kernel - even licensing problems aside; its a HUGE layering violation. Some say they can do a ZFS without the layering problem; an ambitious project - btrfs [oracle.com] exists to try do exactly that. Of course its nowhere near d
Grub (Score:5, Informative)
Grub has supported ZFS booting for a while (forget which branch though).
Re: (Score:2, Informative)
Re: (Score:3, Informative)
As for the maintainer for sysvinit, the lsm [cistron.nl] tells you that. Or you could go with the maintainers of your distribution.
Can't you make a binary blob kernel module? (Score:2)
Re:Can't you make a binary blob kernel module? (Score:4, Interesting)
Never mind ZFS (Score:3, Informative)
The $COMPANY network is loaded with Linux workstations and servers, all with their own lotsabyte drives -- and the only things those drives are used for is a tiny system image. Meanwhile the network is getting hammered.
I might not kill to get a several-hundred-gigabyte local network cache -- but don't tempt me.
Re:Never mind ZFS (Score:4, Informative)
The $COMPANY network is loaded with Linux workstations and servers, all with their own lotsabyte drives -- and the only things those drives are used for is a tiny system image. Meanwhile the network is getting hammered.
Are you asking for a network based filesystem like AFS [wikipedia.org]? Did I misunderstand your issue?
Re: (Score:2)
probably closer to something Google uses... networked JBOD. Of course he doesn't say
what he wants the cache for: Squid?
I'm guessing the hassle of managing AFS and its requirements (kerberos, synchronized
time, client-side cache) are more than he'd like just to recover some disk space.
Re: (Score:2, Informative)
"When you enable cachefs file system, the data read from the remote file system or CD-ROM is stored in a disk-based cache on the local system. Subsequent read requests to the same data are fulfilled by the local cache, which improves read performance."
Of course, a migration is not always an option, and I'm not sure if something like this available for Linux.
Re: (Score:3, Informative)
Try the I'm Feeling Lucky search for 'linux cachefs'.
Re: (Score:2)
Cheesy Intro to ZFS Video (Score:5, Informative)
Re: (Score:2)
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: (Score:2, Flamebait)
By using a single boot drive you are introducing a single point of failure. But booting from a ZFS volume spread across multiple physical volumes means that even the boot process is protected by redundancy. It also
Re: (Score:2)
Depends on what the machine's doing, my friend. If you have dozens of people you don't know on shell accounts, sure, you better keep the kernel current - scheduled downtimes to do that are fine, and the inevitable kernel panics because the latest kernel introduces a new bug for your particular hardware configuration - well, the users will understa
Re: (Score:2)
Because all it takes is one remote hole in the kernel, perhaps in the IP stack or the firewalling code,
Re: (Score:3, Informative)
Nothing per se, but AIUI ZFS allows you to specify how much (if any) redundancy you want, which with other filesystems requires setting up RAID separately which in turn adds complexity.
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?
Generally speaking, the kind of system that you want to have up for months at a
Re: (Score:3, Informative)
Ok, I'll bite on this one.
NBD (Score:3, Informative)
That's *way* overkill. Grub can read minimal ZFS - just have Grub pull off an initrd image from your '/' drive (ZFS), load it into RAM (it'll be ext2 or squashfs or something the kernel can handle) and include a zfs.ko module on the initrd. Load it into RAM, do a pivotroot onto your ZFS / drive, and continue along your merry way.
The 'you can't boot off of ZFS' canard is just a bit of hand-waving by the Sun-haters who are afraid of ZFS. We Sun-haters who like ZF
Lets be realistic (Score:2)
Hows that memory copy from userspace comming, has it healed up yet?
God damn you slashdot (Score:2)
Re: (Score:2)
Parts of ZFS already GPLv2'd (Score:5, Informative)
http://blogs.sun.com/darren/entry/zfs_under_gplv2
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: (Score:3, Interesting)
Who doesn't want his system to crash when a transient hardware error hit non-redundant ZFS kernel code.
The headline... (Score:5, Funny)
ZFS On Linux - It's Alive!! IT IS ALIVE!!! MWUHAHAHAHAHAHAHA!!!!!
The manic laughter is especially important!
Re: (Score:3, Insightful)
Legal question (Score:4, Interesting)
I doubt it.
Re: (Score:2)
Re:Legal question (Score:4, Interesting)
Only if you distribute binaries.
There is nothing that stops me from developing and distributing a version of Sun's ZFS such that it works with a Linux kernel. I can do anything I want with GPL code while I have it, including link it with my CCDL patch (and publish said CCDL code under the CCDL license), as long as when I distribute GPL source or binaries, I abide by the terms of that license.
kernel patch? (Score:4, Funny)
Re:kernel patch? (Score:4, Informative)
Why hide? Nothing in the CCDL or GPL licenses prevents you from publishing a CCDL patch to a GPL kernel. Publishing the patched kernel source or binary might run you into some problems, but I don't see anything preventing you from publishing the patch itself.
Please correct me if I'm wrong.
That's great! (Score:4, Funny)
Re: (Score:2)
sounds really great and all (Score:2)
Why is it called "128-bit"? (Score:2)
I have been wondering this for awhile now and I finally have a relevant story to ask it on: Is ZFS 128-bit or not? It claims to be 128-bit, but Wikipedia [wikipedia.org] gives:
Re: (Score:2)
Interesting (Score:3, Interesting)
Noooooo!!!! (Score:5, Funny)
Re: (Score:2, Informative)
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?
Re: (Score:2, Interesting)
Re:It's time for Sun (Score:4, Insightful)
Re: (Score:2)
ZFS is on OpenSolaris [opensolaris.org] and Sun has claimed to be considering GPL for OpenSolaris [com.com]. Are they, or aren't they? On top of that, the FSF has muddied the waters through their activity on the GPLv3, further complicating the entire issue.
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 wa
Re: (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 y
Re: (Score:2, Interesting)
I'm talking about kernels vs. kernels. The linux kernel tends to includes substantial functionality not yet available for *BSD.
Although I could as easily talk about distributions vs. distributions; more software is developed on Linux than *BSD and it sometimes takes time/effort to port from Linux to *BSD, so there is more software available to the average end user.
Re: (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 fil
Re: (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 switche
Re: (Score:2, Insightful)
Re: (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: (Score:2)
Maybe because FreeBSD 7.0 hasn't been released yet? Sure, it's there, but not all of us run CURRENT. Personally, I'm chomping at the bit to get ZFS, but I'm sticking with STABLE.
Re: (Score:2)
Are you saying ZFS on FUSE is a production-quality release? At this point, I'd have more faith in the stability and reliability of ZFS on FreeBSD than ZFS on FUSE. If ZFS on FUSE warrants a front page article, surely ZFS on FreeBSD warrants a blurb in the BSD section of
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
You could simply have a large "bsd-base" package (that depended on a specific version of a "bsd-kernel") with all the base system in it and still have package management (even buildable and depending on source packages) for all user applications (like Firefox, Thunderbird, Emacs and so on). When you upgrade it, you are effectively, upgrading the whole OS.
My problems with package management on Ubuntu are very rare (and mind you I am runn
Re: (Score:2)
Sounds good. Go do it.
But seriously, I think that's what PC-BSD already does. Really, there's not a whole lot of difference in package management across the board; everyone's still installing, deleting, or upgrading packages, and almost all of them handle dependencies. Are BSD's tools in the same degree of usability as APT/Synaptic? No. Can I get what I need within a short amount of time? Undoubtedly.
Re: (Score:2)
Re: (Score:2)
Heck... A BSD kernel with BSD-ish tools and APT coming from the usual *BSD players would sure be very interesting. The key to a decent package manager like APT is not installing stuff. Anyone can get a tarbal and do the "./configure-make-make install" dance. The trick is to do it and still keep your box up-to-date with the latest and greatest (and safest) stuff.
Re:It's time for Sun (Score:4, Funny)
Confuse them again at your own peril.
Re: (Score:2)
Sun said they might look in to it, nothing more.
The CDDL is a perfectly fine license, it's similar to what Apache & Mozilla use, and one that the current OpenSolaris community seems quite happy with.
Re: (Score:3, Informative)
Sun exists to make money for it's shareholders. If and when it becomes advantageous to their share price to release ZFS then they will do it.
They have already stepped up to the plate and released Star/OpenOffice, Java, and significant portions of Solaris. Each of those software products is a very significant level of magnitude of work. How about a little bit of appreciation for those several person-years worth of work?
To imply that Sun is playing licensing games is disingenuous, at best.
And if you
Re: (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