Slashdot Mirror


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."

78 of 281 comments (clear)

  1. Why not in the kernel? by seanadams.com · · Score: 5, Insightful

    The in-kernel vs userland distinction has always struck me as quite arbitrary. So in one case you're linked at compile time and in another case you compile them separately and go through system calls. Why should that make one of them a derivative work and the other not? In either case the file system can be taken out and you still have a perfectly functional kernel that can run other file systems. Same goes for graphics drivers.

    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?

    1. Re:Why not in the kernel? by vialation · · Score: 3, Informative

      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.

    2. Re:Why not in the kernel? by TeknoHog · · Score: 3, Insightful

      The in-kernel vs userland distinction has always struck me as quite arbitrary. So in one case you're linked at compile time and in another case you compile them separately and go through system calls. Why should that make one of them a derivative work and the other not?

      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.

      --
      Escher was the first MC and Giger invented the HR department.
    3. Re:Why not in the kernel? by LWATCDR · · Score: 3, Informative

      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.
    4. Re:Why not in the kernel? by Paul+Jakma · · Score: 3, Insightful

      It has been decided that the deciding factor with the GPL is whether or not something links to it.

      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.

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    5. Re:Why not in the kernel? by BrainInAJar · · Score: 4, Interesting

      How is it Sun's fault that the GPL is incompatible with anything other than itself?

      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

    6. Re:Why not in the kernel? by notamisfit · · Score: 5, Informative

      The version of the GPL included with the Linux kernel states at the top:

      • NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work".

      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!
    7. Re:Why not in the kernel? by jimicus · · Score: 4, Insightful

      Alright then, how about "The de-facto understanding is..."?

      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.

    8. Re:Why not in the kernel? by Vancorps · · Score: 2, 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 work for a near-line type storage system where performance isn't as critical. When the speed gets up then it can move to online storage where it will utilize the lessons it learned from near-line storage giving it a track record which will make people more comfortable in adopting it.

    9. Re:Why not in the kernel? by BrainInAJar · · Score: 3, Insightful

      "Because the CDDL was deliberately made incompatible with the GPL, that's why. Also ask Sun about the needless patents they seem to want to hold on ZFS."

      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?

    10. Re:Why not in the kernel? by LWATCDR · · Score: 2, Interesting

      Actually if you take a look you will see that NTFS-G under Fuse is actually faster then XFS. There seems to be some memory fragmentation issues with ZFS currently.
      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" for all sorts of files that takes CPU cycles. Also if you have to keep hitting swap all the time that will also slow you down.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    11. Re:Why not in the kernel? by BrainInAJar · · Score: 4, Informative

      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

    12. Re:Why not in the kernel? by ChrisA90278 · · Score: 3, Informative

      "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.

    13. Re:Why not in the kernel? by Schraegstrichpunkt · · Score: 3, Informative

      Linus decided. He wrote specific terms into the modified version of the GPL he uses with Linux.

      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.

    14. Re:Why not in the kernel? by bfields · · Score: 2, Insightful

      How is it Sun's fault that the GPL is incompatible with anything other than itself?

      The FSF lists 30 GPL-compatible licenses 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.

      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

      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.

    15. Re:Why not in the kernel? by afidel · · Score: 3, Insightful

      Constant changes in and out of kernel space are never good for overall system performance.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    16. Re:Why not in the kernel? by piojo · · Score: 2, Interesting

      My experience (home directory on zfs for a couple week) is that the benchmarks can't be representative of real use--sometimes my applications temporarily freeze (or completely hang, on occasion). The throughput may be decent, but real use is hundreds of concurrent accesses. My impression is that the scheduling isn't fair enough (perhaps this may have to do with the fact that it's a userspace program). In other words, half as good as xfs isn't enough. Yet. I've heard that performance has yet to be optimized.

      --
      A cat can't teach a dog to bark.
    17. Re:Why not in the kernel? by lymeca · · Score: 3, Informative

      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

      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.

      ( GPL - viral clause = CDDL. Same license as firefox, or apache)

      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.
    18. Re:Why not in the kernel? by the_womble · · Score: 4, Informative

      Linux does NOT use the "standard GLP" it makes a few changes for example he removed the "and later versions" part.
      Wrong. Here is the COPYING file for the Linux kernel.

      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.

    19. Re:Why not in the kernel? by mabinogi · · Score: 4, Informative

      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!
  2. Yet to be included? by vialation · · Score: 2, Informative

    The summary makes it sound as if ZFS will ever be included in the kernel. Anything FUSE will never be in the kernel, except the FUSE driver itself. Userspace programs and kernelspace are considered separate for a reason.

    Of course, this will all change if both Sun and Torvalds switch to GPL3...

    1. Re:Yet to be included? by salahx · · Score: 2, Interesting

      Not necessarily; NTFS is both in the kernel AND in FUSE. However, the kernel version is less full-featured than the user-space version (ntfs-3G); because of lack of manpower and that author strict quality control - the old NTFS driver ate filesystems.

      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 exists to try do exactly that. Of course its nowhere near done (currently it'll oops if the filesystem gets full, among other things) - but its one to keep an eye on.

    2. Re:Yet to be included? by lymeca · · Score: 2, Insightful

      Nobody can say for certain if ZFS will see a legal implementation directly in the Linux kernel, but I think it's fairly obvious that the largest barrier to doing so is a legal one. The summary is worded such that it does not exclude the possibility of the licensing barrier being overcome, which I personally believe will happen. You mentioned at the end of your comment what is in my mind the most likely scenario that would yield full inclusion of ZFS in the Linux kernel: both projects being relicensed (dual-licensed?) under the GPLv3.

      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 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: "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....

  3. Grub by jshriverWVU · · Score: 5, Informative
    Booting from a ZFS partition has been confirmed to work

    Grub has supported ZFS booting for a while (forget which branch though).

    1. Re:Grub by vialation · · Score: 2, Informative

      Getting GRUB to load ZFS was easy since Sun released GPL boot code which could minimally read a ZFS partition. The hard part is making it so that the kernel can use the filesystem as root, which requires ZFS to be built into the kernel. Unless you are using an initrd or some other FS for the boot partition. Direct booting is extremely difficult.

    2. Re:Grub by lmfr · · Score: 2, Informative
      Yes, if you can mount it, you can boot from it, with the proper initrd/initramfs.

      As for the maintainer for sysvinit, the lsm tells you that. Or you could go with the maintainers of your distribution.

  4. Never mind ZFS by overshoot · · Score: 2, Informative
    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.

    I might not kill to get a several-hundred-gigabyte local network cache -- but don't tempt me.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
    1. Re:Never mind ZFS by Krondor · · Score: 3, Informative

      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?

    2. Re:Never mind ZFS by andrei_r · · Score: 2, Informative

      One thing would be to migrate your Linux workstations and servers to Solaris x86, and use cacheFS.

      "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.

    3. Re:Never mind ZFS by bill_mcgonigle · · Score: 2, Informative

      Of course, a migration is not always an option, and I'm not sure if something like this available for Linux.

      Try the I'm Feeling Lucky search for 'linux cachefs'.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  5. Re:Can't you make a binary blob kernel module? by jshriverWVU · · Score: 3, Interesting

    Can't you just make a binary blob kernel module? That is basically what they are doing. In the case of Nvidia they write the binary blob driver and have an OSS driver to interface between the kernel and the blob. In this case ZFS is using FUSE instead of creating it's own interface code into the kernel.

  6. Re:Limitations of Linux by vialation · · Score: 2, Informative

    People do not complain because they realize that the lack of openness that you greatly exaggerate is only to require GPL'd code to remain GPL'd. GPL is not a license of "openness" -- it is a mechanism by which to counteract copyright (by means of copyleft). It is restrictive in the sense that proprietary software has restrictions, but in the opposite manner. You must keep it free in the same way that you must keep propietary software closed and proprietary by law. My opinion is that this is a good thing for furthering the Free Software movement. Stallman tries to make it clear that the number of people using your code is of no importance, but rather that it remain free.

  7. Re:It's time for Sun by AKAImBatman · · Score: 4, Insightful

    They also have co-opted gnome

    By "co-opted" I presume you mean, "Made major contributions to"?
  8. Re:It's time for Sun by PygmySurfer · · Score: 4, Insightful

    Let's find a way to settle these license issues. ZFS looks to be great innovation, but Sun appears to be playing license games with the express purpose of keeping Linux at bay.

    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?

  9. Cheesy Intro to ZFS Video by kaleco · · Score: 4, Informative

    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
  10. Re:It's time for Sun by OYAHHH · · Score: 2, Informative

    Wrong,

    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 want to call someone out on licensing then how about Linus himself. Why does he own the trademark Linux? Yes, he provides free sub-licensing terms, but those are Linus' terms.

    Much as Linus has his limits, Sun has it own limits of what it is willing to give up.

    When Linus decides to give up the Linux trademark freely then he can legitimately start complaining about Sun Microsystems.

    --
    Caution: Contents under pressure
  11. Why the big deal about booting from it? by pair-a-noyd · · Score: 3, Insightful

    Really? Stick an old 20gb drive in as your boot drive and boot from whatever you have to to get up and going, load ZFS modules, mount all drives and enjoy. What's so terrible about booting from a different drive / file system? Most mobos now let you hang boatloads of drives of all types on them.
    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.

    1. Re:Why the big deal about booting from it? by jimicus · · Score: 2, Informative

      What's so terrible about booting from a different drive / file system?

      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 time is also the kind of system you want to come back up as quickly and painlessly as possible should something happen which causes/necessitates a reboot. That's one of the main reasons journalling was invented.

      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.

      Not sure about "up with the times". I have yet to see any convincing explanation of what amazing features ZFS offers which hasn't been in AIX's logical volume management system for years.

    2. Re:Why the big deal about booting from it? by larien · · Score: 2, Informative

      Not sure about "up with the times". I have yet to see any convincing explanation of what amazing features ZFS offers which hasn't been in AIX's logical volume management system for years.
      Ok, I'll bite on this one.

      • Ability to detect & disk corruption. Say you get a bad block/corruption on the bus/bug in a driver; your lovely mirror now has 2 different sets of data. Under every other volume manager I'm aware of, you have to guess which one has the correct data and resync (generally the whole drive). ZFS will automatically detect the corruption, figure out which drive has the correct data (using a checksum) and resync the data to the "bad" disk.
      • Filesystems grow & shrink on the fly with no intervention. You have a 100GB disk (mirrored of course...) with two filesystems on it, but due to workloads, data moves between them. During the day, /data1 has 80GB, /data2 has 10GB. At night, /data1 shrinks to 40GB but /data2 expands to 50GB during the batch; ZFS will let this happen with no intervention. You can also, if you want, allocate a minfree and max size of a filesystem if you want more control. You can shrink filesystems as of AIX 5.2 or 5.3, but that's fairly new and you'd need to manage it manually.
      • Snapshots. They've been in various other VMs (e.g. Veritas) or filesystems (UFS snapshots have been in Solaris since Solaris 8 IIRC) but I don't recall them in AIX.
      As for booting ZFS, the fact you could shrink or grow root & var filesystems is something new - Certainly, Solaris does not support resizing the root filesystem on the fly, even with Veritas on your root disks. The only way to resize is a backup/restore cycle (booting from CD) or using something like Live Upgrade (build a new image on some spare disks, then boot into it).
  12. Re:It's time for Sun by RedElf · · Score: 2, Interesting

    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?). Thank you, couldn't have said it better myself. In fact while reading the article I couldn't help but keep thinking if they were using FreeBSD instead of Linux they could already be playing with ZFS.
    --
    You know, I have one simple request. And that is to have sharks with frickin' laser beams attached to their heads!
  13. Parts of ZFS already GPLv2'd by andrewd18 · · Score: 5, Informative
    According to Darren Moffat at SUN, parts of ZFS are already licensed under the GPL v2. Maybe there is still hope for a native solution. Not, of course, that I mind using FUSE.

    http://blogs.sun.com/darren/entry/zfs_under_gplv2_ already_exists

    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. It is, sufficient amount to be able to boot an OpenSolaris based system from GRUB, that means that support for mirroring and the checksum and compression support is there but radiz isn't nor are the userland commands. It is possible that this might be enough to get someone started. Still don't believe me check out the updated GRUB source on opensolaris.org, specifically all the files with zfs in their name - every single one of them under the GPLv2 or later.
    1. Re:Parts of ZFS already GPLv2'd by thesandbender · · Score: 4, Insightful

      Lets be more specific... ZFS (as a whole) is not GPLv2'd.

      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 /., digg or other sites. Yes... you can use "part" of the FS but if you want the whole thing you'll have to use Solaris or FUSE (or BSD as others have pointed out).

      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.

    2. Re:Parts of ZFS already GPLv2'd by irgu · · Score: 2, Interesting

      "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?"

      Who doesn't want his system to crash when a transient hardware error hit non-redundant ZFS kernel code.

  14. The headline... by Savage-Rabbit · · Score: 4, Funny

    ZFS On Linux - It's Alive! Shouldn't it be more like:

    ZFS On Linux - It's Alive!! IT IS ALIVE!!! MWUHAHAHAHAHAHAHA!!!!!

    The manic laughter is especially important!
    --
    Only to idiots, are orders laws.
    -- Henning von Tresckow
    1. Re:The headline... by Fred+Ferrigno · · Score: 2, Insightful

      Maybe I've been watching too much late night TV, but in my head I "heard" it as the intro to Robot Chicken. No maniacal laughter, just a chicken clucking.

  15. Re:It's time for Sun by jimwelch · · Score: 4, Insightful

    Everyone that has a license is "playing the game". That is required by most copyright laws. The only truly free software is in public domain, the downside to PD is code confiscation that is possible. BSD, GPL, M$ all use a license with restrictions. A restriction limits one or more freedoms. You have to choose which freedom to give up.

    --
    Never trust a man wearing a coat and tie!
  16. Forget ZFS - go native with btrfs by Anonymous Coward · · Score: 2, Interesting

    There's a Linux filesystem under development that might be able to compare favourably with ZFS if shown some love by developers:

    * http://oss.oracle.com/projects/btrfs/
    * http://kerneltrap.org/node/8376

    Avoid the license squabbles and do what we do best: build it ourselves, only better.

  17. Re:It's time for Sun by jellomizer · · Score: 2, Insightful

    This is the general Flaw with the GPL. It assumes given the approprate environment everyone will want to use GPL. In Real Life this isn't the case. There are pleanty of well informed and smart people who don't like GPL. There are many reasons not to choose GPL or a GPL Compatible License. Not all buisness models or software is or can be profitable with GPL. Everyone is different and it is impossible for GPL to gain the level accecptance it wants (Every Software). It isn't that great of a license, it is to restrictive for the developer who actually puts their time and effort into the work.

    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.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  18. Re:It's time for Sun by Anarke_Incarnate · · Score: 3, Funny
    Linux is a kernel (OS If you don't want to be pedantic) and LINUS (Linus) is a programmer and benevolent dictator.

    Confuse them again at your own peril.

  19. Legal question by TopSpin · · Score: 3, Interesting

    Why couldn't ZFS be distributed separately in kernel module form and installed by the user? Ubuntu and others integrate mscorefonts, NVidia drivers and others this way. Is the OpenSolaris license so heinous that it's worse than those examples?

    I doubt it.

    --
    Lurking at the bottom of the gravity well, getting old
    1. Re:Legal question by burndive · · Score: 3, Interesting

      Actually, there is nothing wrong with Sun's license. The problem is the GPL, which does not allow CDDL code to to link to it; so the Linux foundation would be the one sending C&D letters to that project, since it would violate the kernel's GPL.

      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.

      --
      ...because "hacker" sounds way sexier than "code drone."
  20. kernel patch? by FunkyELF · · Score: 3, Funny

    Why couldn't this be implemented in the kernel and have the patches to that kernel be hosted in a country which doesn't care too much about licensing?

    1. Re:kernel patch? by burndive · · Score: 3, Informative

      Why couldn't this be implemented in the kernel and have the patches to that kernel be hosted in a country which doesn't care too much about licensing?

      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."
  21. Re:Wow... nice duct-tape OS, Lunix d00dz!!! by FunkyELF · · Score: 2, Insightful

    Funny and sad at the same time.

  22. Re:It's time for Sun by PygmySurfer · · Score: 3, Insightful

    ZFS is on OpenSolaris and Sun has claimed to be considering GPL for OpenSolaris. 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 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.

  23. That's great! by greginnj · · Score: 3, Funny


    ... but does it run on Plan 9 ?



    /me ducks ....

    --
    Read the best of all of Slash: seenonslash.com
  24. "The FSF guideline is" by Per+Abrahamsen · · Score: 4, Informative

    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.

    1. Re:"The FSF guideline is" by pthisis · · Score: 3, Informative

      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.

      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.

      --
      rage, rage against the dying of the light
    2. Re:"The FSF guideline is" by Paul+Jakma · · Score: 4, Interesting

      The FSF has used the syscall interface as a guideline to determine whether something is a derived work or not.

      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).

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
  25. But, doesn't Linus... by msauve · · Score: 2, Insightful

    hold the copyright to the Linux kernel? It seems to me that he must, as everyone seems to agree that he has control over what license it is issued under (see discussions of GPL v2 vs. v3). If the kernel copyright is not entirely held by Linus, then he would have to get unanimous consent to make any change (impossible?), if he at some point wanted to move to GPL3, right?

    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?

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
    1. Re:But, doesn't Linus... by Sancho · · Score: 3, Informative

      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.

  26. Re:It's time for Sun by Solra+Bizna · · Score: 2, 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

    --
    WARN
    THERE IS ANOTHER SYSTEM
  27. Re:It's time for Sun by charlesnw · · Score: 2, Insightful

    Um. Everyone trademarks there product name. Including the most ardent of free software distros Debian (Software in the public interest owns the trademark). If the name wasn't trademarked I would be very wary. If you don't have enough belief and passion in your product to trademark it, I don't want to even consider using it.

    --
    Charles Wyble System Engineer
  28. Re:It's time for Sun by drinkypoo · · Score: 2, Insightful

    Indeed - "supported by the Linux community" ... which not everyone cares about. Sorry to burst your balloon, but Linux is still a minority player and in no position to dictate terms.

    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.)

    I suspect Sun would truck right on if the Linux "community" didn't adopt ZFS.

    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.

    A great deal of people consider the GPL viral and bad for what they do.

    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.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  29. Interesting by drix · · Score: 2, Interesting

    This is an interesting development in light of recent comments made by Linus about Sun and ZFS in particular, to which Jonathan Schwartz wrote a personal response.

    --

    I think there is a world market for maybe five personal web logs.
  30. NBD by bill_mcgonigle · · Score: 2, Informative

    Stick an old 20gb drive in as your boot drive

    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 ZFS know how to hack around half-truths.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  31. Re:It's time for Sun by Sancho · · Score: 2, Insightful

    Honestly, I have to agree with DavidpFitz.

    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.

  32. Ah, well then... by msauve · · Score: 2, Insightful

    Thank you for the informative response, it was much better than the other "no" one.

    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).

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
    1. Re:Ah, well then... by Sancho · · Score: 2, Informative

      I'm not qualified to comment on this (read: I am not a lawyer), however I think that this still may be legally questionable. Because the CDDL ZFS files won't compile cleanly without modification to make them work with the Linux kernel, and because those modifications could be considered derivative works, it's possible that you'd be creating source files which are derivative works of both ZFS (CDDL-licensed) and Linux (GPLv2-licensed). Such a derivative work cannot be distributed legally.

    2. Re:Ah, well then... by cibyr · · Score: 2, Insightful

      This is what's wrong with copyright law: it is supposed to encourage the creation of new works, but in situations like this it actually prevents the very thing it was created for.

      --
      It's not exactly rocket surgery.
    3. Re:Ah, well then... by Sancho · · Score: 4, Interesting

      Yes, there are many times when copyright prevents the creation of new works. For example, I can't modify Harry Potter 6 so that Dumbledore doesn't die at the end and re-sell it. At least, not until the copyright expires. Once the copyright expires, you get great works like Wicked and Son of a Witch, both of which are based upon The Wizard Of Oz. Of course, no more copyrights will ever expire, thanks to greedy copyright-holding corporations and a corrupt government.

      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.

  33. This is why. by Ayanami+Rei · · Score: 2, Interesting

    Sun knows that it is impossible to switch Linux to another license. Even if a majority of people in the contributors list all said tomorrow "Let's use license X" (nearly impossible) there are still missing and _dead_ contributors who effectively lock it into a 70 year GPL configuration (at which point it goes public domain and could be re-licensed).

    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 lawyers modeled the CDDL on the Mozilla Developer License. They wanted to get the code out there without losing sole control, and to be able to option/exert patent influence on people who got access to the technology.

    But unlike AOL/Mozilla, they did not dual license it under the GPL. This probably because they knew that Linux could not incorporate OpenSolaris code at all without violating the GPL and CDDL clauses. This preventing Linux from becoming more competetive with Solaris by means of appropriation (they don't want to hurt their own technology advantage and cannabolize sales of licensed/supported Solaris).

    But both camps could really use each other's code. It sounds like upper management at Sun is going to change the license for Solaris (as they have the authority to do so; this is impossible for the Linux community to do effectively) to allow this soon, on the heels of GPL'ing java (which has done wonders for its acceptance in the development community).

    Project inertia will guarantee that Linux will be Linux, and Solaris will be Solaris. Sun doesn't have anything to fear. Perhaps they were testing the waters with the initial code release to see what the reaction would be.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  34. Re:Isn't that... by drsmithy · · Score: 2

    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 ?

  35. Re:Isn't that... by Sancho · · Score: 2, Informative

    You clearly do not understand the word random.

    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 novel might be somewhat readable, and it might not be. However it is clearly derivative.

    Taking this further becomes tricky. What if I remove two out of every three words? It's probably still clearly derivative. Three out of every four? Maybe. It eventually becomes difficult to prove that the work is derivative--however this does not apply to patch files, which are reversible by design.

  36. Re:Isn't that... by drsmithy · · Score: 2, 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 still just a few strings of randomly generated characters.

    Furthermore, you appear to believe that a derivative work must somehow have structure or purpose similar to that of the original work.

    I believe that a derivative work must bear some resemblence to the work from whence it is derived and must actually be a coherent "work" in and of itself. After all, if that were not a requirement, surely any random jumbling of sounds or words that just happened to also be present in another piece of music or literature could be deemed derivative (or vice versa), could it not ?

    Personally I find the whole concept of a "derivative work" - pretending for the moment I believe in the concept of "intellectual property" at all - to be forced, counter-intuitive and fundamentally ignorant. A "derivative" work is either so similar to the original that the differences are irrelevant (and they are effectively identical), or it is different enough to stand on its own merits and therefore warrants discrete recognition. Further, since all "works" are influenced in some way by the "works" that have preceded them, surely all "works" are derivative ?

  37. Noooooo!!!! by r00t · · Score: 4, Funny

    Linux is becoming a microkernel. Linus might even get a passing grade.

  38. Re:Debian Solaris? by swordgeek · · Score: 2, Insightful

    Short answer, probably not possible.

    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 /etc/passwd, but actually taken out of the code. There is no 'uid_0 = God' principle. Also, TS is based on the Solaris 8 kernel and OS, so the idea of making any Solaris 10 kernel base trusted before Sun gets there is moot.

    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.

    --

    "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
  39. Try UnionFS? by Flimzy · · Score: 2, Interesting

    What if you layer an ext3 filesystem on top of an NFS filesystem using UnionFS? UnionFS 2.0 just came out, which supposedly takes care of the problem of "what if I modify the underlying filesystem?" It might work... Then again, it might not, too :)