ZFS On Linux - It's Alive!
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."
Grub has supported ZFS booting for a while (forget which branch though).
It has been decided that the deciding factor with the GPL is whether or not something links to it. Instead of a userspace program which simply makes a system call by tripping an interrupt or using the SYSENTER opcode (which would not require kernel source code to do), a kernel module (which, without FUSE, a filesystem must be) actually gets linked into kernel space, and has its symbols added to the kernel. Any calls to other parts of the kernel directly call the kernel. That is the distinction.
I am not a kernel hacker but I believe you are confusing loadable kernel modules with user space code.
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.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
What I desperately need is a reliable caching filesystem with decent performance.
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? Did I misunderstand your issue?
If you can suffer the bizarre presentation style Sun have used for this video, it's quite informative about the benefits of ZFS.
Prosperity is only an instrument to be used, not a deity to be worshipped. Calvin Coolidge
http://blogs.sun.com/darren/entry/zfs_under_gplv2
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.
Jesus is coming -- look busy!
The FSF has used the syscall interface as a guideline to determine whether something is a derived work or not. It is a guideline, not a hard rule though, and I suspect they would consider user-space ZFS for a derived work using a technical trick to avoid being linked into the kernel. I.e. infringing. However, since the FSF doesn't own the kernel, their opinion on the subject doesn't matter.
or they could avoid the hassle of managing a dual licensed project & the inevitable GPL-only fork ( what happens if someone wants to import a driver from linux? that's an instant fork ) by keeping the perfectly-fine license they have right now
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
He certainly owns the rights to parts of the Kernel, and thus his opinion on the matter has some importance. However he has incorporated patches into the source tree without requiring that the copyright be turned over to him, and thus, just about everyone who has contributed to the kernel collectively 'holds the copyright' to it.
The Linux kernel, for better or for worse, is going to be stuck at GPLv2.
"It has been decided": When? By whom?"
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.
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.
http://outcampaign.org/
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.
...because "hacker" sounds way sexier than "code drone."
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 the 2000's (not sure which year exactly) and has thereby acheived deliberate license incompatability with Linux and the GPL. There are other non-copyleft licenses which are GPL-compatible that Sun could have chosen, but they didn't: not that there's anything inherently wrong with this of course, it's their decision. Also, the GPL is NOT "incompatible with anything other than itself" like you state, check this list to find all the licenses that disprove this wildly inaccurate statement.
It is not inherently Right or Wrong to use the CDDL for ZFS or the rest of Solaris. Sun holds the copyright on that code, so Sun can choose to license those projects however they see fit. It is not your place to say what license is correct for Sun to use on their code. Perhaps to your dismay, Sun has been seriously considering GPLv3 for Solaris, much like they did with Java and the GPLv2. And for all your talk about Linux "pillaging" code from Sun, you conveniently forget that this was a main driving reason for Sun to license Java under the GPLv2: license compatibility with GNU/Linux for easy inclusion of Java technology in distributions to attract users and developers.
While the CDDL was originally based on the Mozilla Public License, it is not the same thing. Perhaps more importantly though, Firefox is tri-licensed under the MPL, LGPL, and yes, the GPL. I can get a copy of Firefox licensed under the GPL, so it's especially important not to mislead others into thinking that such a prominent Free Software project exclusively uses a non-copyleft license, the CDDL, which isn't even one of the three licenses Firefox uses in the first place! Oh, and Apache has its own license altogether, albeit a non-copyleft one, the Apache license.
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.
There is no license that gives you the right to re-license someone else's copyrighted work.
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.
Advanced users are users too!