back to article Red Hat acquires Permabit to put the squeeze on RHEL

Red Hat has acquired “the assets and technology of Permabit Technology Corporation”, a data-shrinking concern, for an undisclosed sum. Permabit offers data de-duplication and compression software and recently cooked ready-to-run Linux kernel modules of its wares after previously focusing on sales to OEMs. Red Hat has now …

Page:

  1. john.jones.name

    the problem is nothing to do with GNU or Richard Stallman it has nothing to do with them

    It's Oracle and their Patents (also Netapp really )

    RedHat could do a clean room of ZFS or extend XFS / Gluster

    frankly if oracle where actually interested in making money and growing their market they would open it up and indemnify linux and other implementations... what would this do ?

    The market for ZFS filers would explode and Oracle would sit pretty much on top with the best kit and original... people would line up...

    freebsd has a ZFS in kernel implementation so netBSD could reuse that code with a in kernel implementation on linux many people would slowly switch from XFS and when they grew had dollars would spend with oracle to make the pain go away...

    if MacOS etc implemented then we could see the hilarious fact of Microsoft being the only hold out and potentially having to pay Oracle which would be oh oh so sweet...

    but its down to lawyers... oracle lawyers... so it needs someone to push and get it done...

    its going to be painful but oh think of the glory...

    1. fnj

      @john.jones.name

      Wrong. It's nothing to do with patents. The GPL is hostile to more-free licenses like Oracle's CDDL. Look, I hate Oracle too, but they are doing nothing to hinder anyone from using ZFS. FreeBSD is your clue to the truth of that.

      1. Jonathan 27

        Does that include the Apache and BSD licenses? Your logic doesn't really add up there.

      2. thames

        The CDDL license was intended to be incompatible with the license used by Linux specifically to prevent companies like Red Hat from simply taking all the best bits of Solaris (including ZFS and DTrace) and shoehorning them into Linux. Sun were pretty clear about this at the time. They wanted to create their own community around OpenSolaris, not see it cannibalised by Linux.

        CDDL is based on an early version of MPL (Mozilla Public License) which was incompatible with the GPL. Current versions of the MPL are GPL compatible, but CDDL is based on the older version which isn't.

        Here's a quote from the relevant Wikipedia article on it: https://en.wikipedia.org/wiki/Common_Development_and_Distribution_License

        "Mozilla was selected partially because it is GPL incompatible. That was part of the design when they released OpenSolaris. [...] the engineers who wrote Solaris [...] had some biases about how it should be released, and you have to respect that."

        CDDL is broadly similar to GPL in that both are copyleft licenses. However, the problem is in the fine print. The GPL says you cannot impose any additional restrictions on the user beyond those in those already in the GPL. This is to prevent people from adding clauses which turn GPL software into proprietary software. However, CDDL is more restrictive than GPL in some respects, hence the incompatibilities.

        As one example, with GPL each user receives their license directly from the author. This means that nothing your distributor does thereafter can affect your license status.

        With CDDL, if you are a distributor lower down on the distribution chain and your upstream distributor sues Sun/Oracle, then you as the distributor's downstream recipient lose all license rights an must stop redistributing the software. This is pretty standard corporate verbiage, but is not compatible with the GPL. As an end user there's no problem in either case, but the GPL is intended to be usable by all businesses without having these sorts of issues.

        Here's a more detailed explanation at LWN (Linux kernel oriented news site) from 2004: https://lwn.net/Articles/114839/

        Canonical has had their lawyers go over the CDDL terms and they think they can get around the problems by distributing the ZFS module as a binary and distributing the source code separately. Before you jump in and say that "but the GPL says that etc., etc.", the problem isn't with the GPL, the problem is with CDDL. Their lawyers think that this still leaves some technical violations, but that Oracle would have difficulty bringing a case to court based on them.

        The FSF web page on license compatibility will point out potential areas of problem, but they're not in the business of giving out free corporate legal advice so they stick to giving very conservative advice. Debian is in a similar boat, so they also take a very conservative approach. If you need to skate close to the line then you need your own lawyers who can look at your own specific circumstances and tailor their advice to your needs (and bill accordingly).

        Here's another problematical clause: https://opensource.org/licenses/CDDL-1.0

        "Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys fees and expenses."

        The following isn't specific to CDDL, but here's the FSF's explanation of the most common reasons for incompatibility of other licenses with the GPL. Note the conflict with the above. http://gplv3.fsf.org/wiki/index.php/Compatible_licenses

        Common reasons for incompatibility

        When checking licenses for compatibility, here are some specific issues to look for that would make a license incompatible with GPLv3 (as of draft 2).

        Requirements about attorney fees

        Waiver of the right to trial by jury

        Jurisdiction requirements (disputes must be settled in a certain country or in accordance with the laws of a certain country)

        Licenses which are incompatible with GPLv3 for the above reasons include the Academic Free License, CDDL, CPL, EPL, Lucent Public License version 1.02, MPL, Open Software License.

        1. bazza Silver badge

          Canonical has had their lawyers go over the CDDL terms and they think they can get around the problems by distributing the ZFS module as a binary and distributing the source code separately. Before you jump in and say that "but the GPL says that etc., etc.", the problem isn't with the GPL, the problem is with CDDL. Their lawyers think that this still leaves some technical violations, but that Oracle would have difficulty bringing a case to court based on them.

          Hang on, I thought the legal issue being considered by Canonical was whether they could distribute Linux with a ZFS kernel module. AFAIK (IANAL) there's no problem for Canonical from Oracle's direction in distributing OpenZFS under the CDDL license - the license is pretty clear, and FreeBSD / NetBSD seem to have no problems.

          I suppose the issue is whether or not including ZFS as a kernel module in Linux counts as distributing ZFS under GPL, not CDDL (due to GPL's claim to extend to all linked code). However so long as Canonical aren't actually changing the CDDL license statement in the source code they clearly wouldn't be breaking CDDL. They will be upsetting Richard Stallman though...

          1. thames

            @bazza said: "FAIK (IANAL) there's no problem for Canonical from Oracle's direction in distributing OpenZFS under the CDDL license - "

            So far nobody has sued Canonical over the issue. The question however is whether Oracle could sue someone over the issue. It's not like they don't have a history of suing people (see the Java lawsuit for a good example). As a holder of significant copyrights in the combined work, they would have legal standing to sue, if they wished to.

            @bazza said:"the license is pretty clear, and FreeBSD / NetBSD seem to have no problems."

            When a copyright holder sues you, he doesn't actually sue you over "violating a license". He sues you over violating copyright law. Your defence is that you have a license from the author to re-distribute the software and that you have honoured the terms of the license. In other words, the license is your defence against a lawsuit by the copyright holder.

            When you combine works from several different authors, you must honour all the terms of all the licenses simultaneously. If any of the terms of the various license conflict, you can't re-distribute the combined work. It's not one or the other licence "prohibiting" you from doing this, it's copyright law doing so.

            I pointed out an example which the FSF has cited as a conflict. Oracle says that if they decide to sue you, they get to pick the court and you have to reimburse their legal fees if they win. The GPL says the copyright holder cannot impose those things via a license and still remain compatible with the GPL. The CDDL is a very "corporate" license, while the GPL attempts to balance the rights of all parties more evenly.

            When you re-distribute FreeBSD and ZFS as a combined work you must do so under terms that effectively turn "FreeBSD" into "FreeCDDL" (in terms of license).

            As another example, there's another project, the name of which I cannot recall, which has its own custom license which is not GPL compatible. The incompatibility arose over a clause in the license which said that the software "must be used for good, not evil". The GPL says you cannot impose terms such as that, the GPL does not try to dictate morality (outside of the copyright realm), and a user can use GPL software for evil if they wish. Hence, that made the licenses incompatible.

            As another example, I dealt with a software project a while ago which said they were an open source project distributing under "a modified BSD license". After digging into it I found out that the modification consisted of stating that you had to contact their sales department and purchase a per-copy license from them to use the software. They can do that with a BSD license, but not with a GPL.

            @bazza said: "However so long as Canonical aren't actually changing the CDDL license statement in the source code they clearly wouldn't be breaking CDDL. They will be upsetting Richard Stallman though..."

            The CDDL and GPL are actually pretty similar. The differences are in the details such as the legal recourse ones I pointed out above. And again, although it is often convenient to talk about "violating a license", what you actually violate is copyright law, and the license is your defence as a user against being sued under copyright law. Copyright law is very restrictive. The license terms lift some of those restrictions, but only under the conditions specified in the license.

            As for Richard Stallman, he holds no copyright in the Linux kernel. However, the FSF as the original authors of the GPL offer some very general and conservative advice on how that license would likely be interpreted by the courts in most countries. If you feel legally adventurous and want to skirt close to the line, then I'm sure that whatever legal firm that Canonical used would be willing to offer advice that is appropriate to your particular circumstances - for an appropriate fee of course.

            If on the other hand you can't afford to go to court even if you win anyway, then you may wish to listen to the very conservative advice offered by the FSF.

      3. TVU Silver badge

        "Wrong. It's nothing to do with patents. The GPL is hostile to more-free licenses like Oracle's CDDL. Look, I hate Oracle too, but they are doing nothing to hinder anyone from using ZFS. FreeBSD is your clue to the truth of that".

        ^ Exactly this not least because there still appears to be some confusion between current proprietary ZFS as amended by Oracle and OpenZFS which is covered by the CDDL licence. Not even litigious Larry would succeed in a challenge over the use of OpenZFS because any court would almost certainly also take into account the intention of the original Sun Microsystems developers when they applied that CDDL licence.

      4. john.jones.name

        well we could argue but I'll let you read these first :

        https://web.archive.org/web/20070423001711/http://blogs.sun.com/jonathan/entry/on_patent_trolling

        https://web.archive.org/web/20080625023043/http://blogs.sun.com/jonathan/entry/harvesting_from_a_troll

        http://www.theregister.co.uk/2008/10/07/sun_gets_netapp_patent_invalidated/

        http://www.theregister.co.uk/2010/09/09/oracle_netapp_zfs_dismiss/

        Shock horror old theregister reporting...

        BTW CDDL does not give you rights over those patents...

        I dont hate oracle at all I think they build quite complex software and have quite a lot of lawyers

        thanks

        John

        1. Jamie Jones Silver badge

          @john.jones.name

          Long words (i.e. text with no spaces) get truncated on here - this happened to the links you posted.

          You need to repost them as html i.e. < href="...">....<>

      5. Oh Homer
        Linux

        Re: "more-free licenses"

        As in "more free to impose restrictions", which invariably makes them less free to third parties.

        The fact is that no developer is compelled to use any particular license for his own code, so no license is ever more or less "free" from his perspective. It's only when he chooses to use somebody else's code that he encounters restrictions, and quite rightly so.

        The particular "restriction" imposed by the GPL is that you cannot impose any restrictions, other than the one that prohibits imposing restrictions. Or in other words the GPL provides the freedom to do anything except take away other people's freedom, which is clearly the most freedom you can have in a fair community, as opposed to the selfish sort of "freedom" that subjugates everyone else.

        The CDDL is particularly nasty because it was deliberately designed to break that fair system.

        But then, as above, nobody is forced to use it, or the GPL, or any software published under those licenses, so this is a purely academic problem.

    2. fnj

      @john.jones.name

      What the heck would netBSD supporting ZFS have to do with linux implementing it??? That doesn't make any sense.

    3. Steve K

      Microsoft?

      ...hilarious fact of Microsoft being the only hold out and potentially having to pay Oracle which would be oh oh so sweet...

      Not sure why this would have anything to do with Microsoft and why they would have to pay Oracle for ZFS? Microsoft have had their own Deduplication technology since W2012.

      1. Anonymous Coward
        Anonymous Coward

        Re: Microsoft?

        ZFS is under CDDL, Microsoft could add ZFS to Windows just publishing whatever changes to the source it does to make it work under Windows. Anyway, MS is developing ReFS which is broadly inspired by ZFS features.

        1. Bronek Kozicki

          Re: Microsoft?

          Microsoft could add ZFS to Windows just publishing whatever changes to the source it does to make it work under Windows

          It's possible in theory, in practice not so much. Windows driver model is so fundamentally different from driver model of Unix (i.e where OpenZFS is known to work: Illumos, FreeBSD, Linux with its SPL) that the amount of work required would amount to almost total rewrite. There is no reason for anyone to do that, except perhaps as an exercise in futility.

          1. Anonymous Coward
            Anonymous Coward

            "Windows driver model is so fundamentally different"

            Windows File System Drivers are different from the driver model used for other devices, they are a category on their own. I do not know how difficult could be porting ZFS to Windows - but file systems after all all offer the same interfaces to users - and administration utilities will go through specific driver calls.

            Anyway MS was never interested to port other OS file systems to Windows, and usually developing R/W access requires fairly advanced skills in developing such kind of software.

            1. Anonymous Coward
              Anonymous Coward

              Re: "Windows driver model is so fundamentally different"

              The Windows drivers model family:

              https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/choosing-a-driver-model

              Installable file system:

              https://docs.microsoft.com/en-us/windows-hardware/drivers/ifs/index

          2. Anonymous Coward
            Anonymous Coward

            Re: Microsoft?

            "It's possible in theory, in practice not so much. Windows driver model is so fundamentally different from driver model of Unix"

            The only real difference is that Windows is fully modular and UNIX often isn't. The many many hardware manufacturers that manage to produce drivers for both shows it isn't that hard.

      2. john.jones.name

        Re: Microsoft?

        yeah because Microsofts is completely different... good luck

    4. Anonymous Coward
      Anonymous Coward

      Why do you need Linux on your filer ? There's already number of ZFS filers on market and if you want it Oracle will happily sell you one running Solaris.

      It'd be awesome to see native implementation of ZFS in Oracle's own UEK but reality is that Oracle's Linux support revenue is likely next to nothing and it's not financially viable to invest single cent into it unless ZFS in kernel is required for Oracle's own products running on Oracle Linux, and it's most certainly not the case.

    5. Anonymous Coward
      Anonymous Coward

      I can't see that this does anything to get ZFS onto Linux, as presumably you would need to use the exact same technology as is in ZFS.

      So all that this does is put a Redhat only dedupe solution into Redhat.

    6. Anonymous Coward
      Anonymous Coward

      "we could see the hilarious fact of Microsoft being the only hold out and potentially having to pay Oracle which would be oh oh so sweet..."

      I can't see why Microsoft would be interested in paying for ZFS. They already have their own modern file system underway in ReFS that is a work in development and is already amazing fast.

      1. TheVogon

        "I can't see why Microsoft would be interested in paying for ZFS. They already have their own modern file system underway in ReFS"

        And the latest Windows Server build 16237 includes ... Dedupe for ReFS and ReFS Compaction !

      2. oldcoder

        Right now ReFS is in the same boat as WinFS...

        HOT AIR.

        stale hot air at that.

  2. Adam 52 Silver badge

    For me, at least, ZFS is about a lot more than dedup.

    That said I've spent the last couple of days attempting to extend a ZFS based NAS which has run out of both logical space and drive bays so I'm not that impressed with ZFS (why can't I just swap out a 1TB drive with a 6TB one, rebuild the vdev, then swap the other 1TB drive and rebuild again?)

    1. DainB Bronze badge

      You can swap drive with large size, you just need set autoexpand=on.

    2. chris 143

      Changing from 512 to 4k blocksize? Otherwise you should be able to do that.

      It is a huge pain you can't add more disks to a parity raid though

      Although if you're just upgrading a mirror then you can probably get away with exporting the old data to a new disk then rebuilding from that

      1. Alan Brown Silver badge

        "It is a huge pain you can't add more disks to a parity raid though"

        That's the one painful assumption of ZFS - that you have enough money to just build a complete new vdev to migrate data across. raidset resizing/reparity has been on the linux TODO list for at least 6 years.

    3. Alan Brown Silver badge

      "For me, at least, ZFS is about a lot more than dedup."

      Yup - and dedupe is something that you DO NOT DO unless you know what you're doing. It's a 2^n-1 problem and whilst ZFS eats memory at the rate of about 1GB per TB of disk (for its caching), it consumes _at least_ 5 times as much if you enable dedupe (sometimes 25 times as much) along with a helluva lot more CPU.

      WRT ZFS expansion: you CAN swapout 1TB drives for 6TB ones. Once you've done all drives in the vdev it will automatically expand to the new size - and not before.

      As far as licensing goes, CDDL was deliberately designed to be incompatible with GPL, however ZFS on linux is a big thing, works well and is easy to install (it's part of several distros including Debian and its derivatiives) - all you have to do to avoid licensing issues is: Don't ship ZFS with the OS, add it after installation.

      1. batfastad

        @Alan Brown I wish I could upvote 100 times!

        ZFS dedupe = "DO NOT DO"

        I have been running ZFS on Linux very happily for a few years now. No issues whatsoever.

      2. bazza Silver badge

        As far as licensing goes, CDDL was deliberately designed to be incompatible with GPL

        As far as the wider picture is concerned, that was a good thing. More OSes have been able to make use of it than if it had been GPL.

    4. Voland's right hand Silver badge

      Bingo

      For me, at least, ZFS is about a lot more than dedup

      You can have dedup on Linux with BTRFS. I use it as standard for the NASes which store source code trees and NFS roots. Once you dedup, the difference compared to ext4 is staggering.

      ZFS, however, is not just about dedup and there is no Linux fs which offers identical functionality. You need to use multiple components to get the same effect - btrfs, volume manager, etc.

  3. steelpillow Silver badge

    Licensing sense

    It makes sense if Red Hat are using the Permabit code as a way to bring ZFS-compatible functionality into a GPL-compatible codebase. Oracle's CCDL may be FOSS but it is still thought incompatible with the GPL, so to get ZFS compatibility into a monolithic (high-performance) kernel compile you cannot use OpenZFS but need to clean-sheet it. Basically, "why sit down and write new code when we can buy someone who has already done that and just re-license it?"

    1. Doctor Syntax Silver badge

      Re: Licensing sense

      to get ZFS compatibility into a monolithic (high-performance) kernel compile you cannot use OpenZFS but need to clean-sheet it.Basically, "why sit down and write new code when we can buy someone who has already done that and just re-license it?"

      Surely getting the newly acquired code into a monolithic kernel would have exactly the same issues as ZFS unless they were to re-licence it as GPL. I don't see anything in the article to say that they'll do that. If it sits outside the GPL kernel as a module it'll cause RMS just the same pain as does ZFS.

      1. steelpillow Silver badge

        Re: Licensing sense

        The article may not say it, but then the article does not say that the sky is blue and bears dump in the woods either.

        1. Doctor Syntax Silver badge

          Re: Licensing sense

          "The article may not say it, but then the article does not say that the sky is blue"

          It does, however say "ready-to-run Linux kernel modules of [Permabit's] wares"

      2. Roland6 Silver badge

        Re: Licensing sense

        Re: "Surely getting the newly acquired code into a monolithic kernel would have exactly the same issues as ZFS unless they were to re-licence it as GPL. I don't see anything in the article to say that they'll do that."

        See press release article links to: "Red Hat plans to open source Permabit’s technology."

  4. Anonymous Coward
    Anonymous Coward

    Sod the dedupe, just give me the end-to-end checksumming

    For some the ability to deduplicate is very important - good for them, not so for me.

    I personally love the lack of bit rot, silent errors and so forth.

  5. Gordan

    Didn't Stop Canonical

    ZFS ships with Ubuntu as of 16.04.

    Any anyway, who gives a dead rat's ass about whether it ships with the distro or not? There are many, many packages used very day in the enterprise that don't ship with the distro. I've been using ZFS on CentOS for years.

    1. steelpillow Silver badge

      Re: Didn't Stop Canonical

      Legal opinions offered to Canonical and the FSF differ. When so many of your big-money enterprise clients are also the big Oracle licensees, would you want Oracle taking you to court and arguing that the FSF disagree with you so you must be wrong? Think of the damage a little spiteful hanky-panky could do to your bottom line. Even if you were to win, it would be cheaper to play safe and buy a Plan B.

      Canonical are less hooked on Big Enterprise + Oracle database than Red Hat are, so the risk to them is similarly less.

      1. Bronek Kozicki

        Re: Didn't Stop Canonical

        The argument over OpenZFS presence in a Linux distro has nothing to do with Oracle.

        It is about RMS insistence that only packages with ideologically pure GPL license are allowed to be distributed alongside with Linux kernel, if these packages happen to include modules which do use the kernel directly. As OpenZFS apparently does.

        Except that it does not, because there is a shim library called Solaris Porting Layer which actually is licensed under GPL, and OpenZFS under Linux is using this library, instead of using Linux kernel directly (for most calls). And that of course opens up a legal question, when shim library is enough to remove the direct use of kernel from OpenZFS on Linux. Not surprisingly, there is some disagreement about this.

        1. Doctor Syntax Silver badge

          Re: Didn't Stop Canonical

          "And that of course opens up a legal question, when shim library is enough to remove the direct use of kernel from OpenZFS on Linux. Not surprisingly, there is some disagreement about this."

          There's a further legal issue, at least in practical terms, as to who might have a legal standing to challenge the arrangement. Presumably a kernel dev would have the standing to challenge the shim but as the shim is GPL such a challenge would fail. The shim author(s) would have the standing to challenge linking the ZFS module but as this was the purpose it was written for it seems unlikely to happen. Could a kernel dev have the standing to challenge on the basis that "there's something over there I don't like; it's nothing directly to do with me but I don't like it"?

          1. oldcoder

            Re: Didn't Stop Canonical

            Oracle has standing.

            ZFS is still owned by Oracle. Not any of the other developers contributing to ZFS.

  6. John Savard

    Beer

    If ZFS is free as in beer, couldn't we all just switch to BSD instead?

    1. Doctor Syntax Silver badge

      Re: Beer

      "couldn't we all just switch to BSD instead?"

      But then what would Red Hat have to potter about?

      1. steelpillow Silver badge

        Re: Beer

        Speed. The whole point of getting rid of intermediate layers and moving stuff closer in to the kernel is speed. That is what RHEL customers want but OpenZFS cannot deliver.

        1. Anonymous Coward
          Anonymous Coward

          Re: Beer

          "The whole point of getting rid of intermediate layers and moving stuff closer in to the kernel is speed."

          I thought another reason was that you can't BOOT into a ZFS volume unless ZFS support was baked into the kernel, as it's the only thing running at boot time.

          1. steelpillow Silver badge

            Re: Beer

            "I thought another reason was that you can't BOOT into a ZFS volume unless ZFS support was baked into the kernel, as it's the only thing running at boot time."

            There is a world of difference between baking in support and compiling in ZFS itself. The first of these allows you to boot from a ZFS mount, the second allows you to do it faster.

          2. Alphebatical
            Boffin

            Re: Beer

            Most configurations use an initramfs. You don't need any FS compiled into the kernel to boot.

            1. Anonymous Coward
              Anonymous Coward

              Re: Beer

              So you're saying a Linux using an initramfs can mount a userland filesystem (say FUSE-based) as /?

              1. Alan Brown Silver badge

                Re: Beer

                "So you're saying a Linux using an initramfs can mount a userland filesystem (say FUSE-based) as /?"

                Generally not recommended, but yes and I've done it as a test. The only caveat is that wherever the initramfs is located needs to be readable by GRUB or whatever bootloader you're using, but that's easily achieved by putting /boot in a dedicated filesystem.

Page:

POST COMMENT House rules

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

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like