1. 12
    1. 5

      JFWIW, I really liked this piece, but it’s worth pointing out that it’s just the first installment of a series.

    2. 1

      Had the opportunity to re-license things like ZFS and DTrace under the GPL so they could be ported to Linux or at least code re-used. Chose not to.

      This could easily be spun as ‘Linux had the option to re-license things like ZFS and DTrace under a permissive license so that they could be incorporated into Solaris, XNU, and *BSD. Chose not to.’ When you have components that have been ported to multiple open source and proprietary operating systems, yet can’t be used with one specific kernel because of its license, blaming the license of those components feels a bit weird.

      There are many reasons to dislike Oracle but this one feels like reaching. Particularly when coming from the Linux kernel, which requires kernel modules to have a dual-license thing in their code to be loaded: BSD is not valid, Dual BSD/GPL is, in spite of the fact that this conveys no rights not present in a simple BSD license except the ability to accept the GPL and not the BSD license and create derived works that are incompatible with upstream.

      1. 6

        I don’t understand the desire to excuse out-of-tree modules. All out-of-tree modules could be in-tree, if only their owners and maintainers cared enough to contribute to the community. I think that it’s fair to blame those owners and maintainers for choosing a more selfish route.

        1. 1

          Out-of-tree modules is also, in the short term, the cheaper and quicker route ‘cause you don’t need to worry about cooperating with anyone else. Witness AMD’s original graphics driver kernel merge request, which got rejected because it was terrible. Took them like 6 months or something with who-knows-how-many engineers to fix it up.

          Of course, in the long term it’s worse in nearly every way, but people usually don’t get paid to think about that. :/

      2. 4

        “This could easily be spun as” Only if you’re ignoring the fact that Linux is a group effort with many copyright holders, or dishonest.

        Oracle is a single entity that fully controls the copyrights - and I think it’s fair to judge them given their choice to get on a soapbox and criticize Red Hat for its handling of source code. If they really and truly care about the Linux community as they claim, they can take that step forward.

        This is doubly true given that Oracle has basically put Solaris out to pasture / killed OpenSolaris and there seems little reason to avoid the contribution.

      3. 2

        Had the opportunity to re-license things like ZFS and DTrace under the GPL so they could be ported to Linux or at least code re-used. Chose not to.

        This could easily be spun as ‘Linux had the option to re-license things like ZFS and DTrace under a permissive license so that they could be incorporated into Solaris, XNU, and *BSD. Chose not to.’

        No? Oracle held the copyright to ZFS and DTrace; Linux never did.

        There are many reasons to dislike Oracle but this one feels like reaching. Particularly when coming from the Linux kernel, which requires kernel modules to have a dual-license thing in their code to be loaded: BSD is not valid, Dual BSD/GPL is, in spite of the fact that this conveys no rights not present in a simple BSD license except the ability to accept the GPL and not the BSD license and create derived works that are incompatible with upstream.

        Any BSD licensed work can be re-licensed as dual BSD/GPL by anyone. The “ability to accept the GPL and not the BSD license and create derived works that are incompatible with upstream” is either not substantive, or already conferred by BSD.

        1. 1

          No? Oracle held the copyright to ZFS and DTrace; Linux never did.

          Sorry, too much copy and paste. I meant to say that ‘Linux had the option to re-license their kernel to be compatible with other things’.

          Any BSD licensed work can be re-licensed as dual BSD/GPL by anyone

          Absolutely untrue. BSD licensed code cannot be relicensed by anyone except the copyright holder. BSD code can be incorporated into a project that include GPL’d code because the BSD license does not (with the exception of the original 4-clause version) impose any conditions that are not present in the GPL.

          1. 2

            Sorry, too much copy and paste. I meant to say that ‘Linux had the option to re-license their kernel to be compatible with other things’.

            So with that, I’m pretty sure they would need to get permission from every contributor.

            Absolutely untrue. BSD licensed code cannot be relicensed by anyone except the copyright holder. BSD code can be incorporated into a project that include GPL’d code because the BSD license does not (with the exception of the original 4-clause version) impose any conditions that are not present in the GPL.

            I guess “dual licensed BSD/GPL” code differs from “BSD code which has been imported into an otherwise empty GPL project” in that the former can be distributed without the text of the BSD license?

            1. 1

              So with that, I’m pretty sure they would need to get permission from every contributor.

              Yup. But all of those contributors decided that the cost of licensing their code under one of the least-compatible F/OSS licenses was worth whatever benefits. Actually, that’s not true: a number released their code under more permissive licenses so that they could be used elsewhere and the Linux Foundation, largely driven by RedHat, has been pushing them quite hard to stop doing that.

              I guess “dual licensed BSD/GPL” code differs from “BSD code which has been imported into an otherwise empty GPL project” in that the former can be distributed without the text of the BSD license?

              Yes. Dual licensed means that you have a choice of licenses and you can select one. It’s useful for incompatible licenses (a lot of the Mozilla code is licensed this way), since you can choose one set of restrictions or another. When one license is a subset of the restrictions of the other it’s very legally murky (it’s not clear if it means anything: why would you ever choose to accept the license that places more obligations on you) but if it does then it means that you can then create GPL’d derived works that can’t be used by the upstream project. There are some quite vocal people in the Linux community advocating for doing precisely this to all code imported from permissively licensed systems.

              I have very little patience with the kernel that tries the hardest to ensure that their code is usable by the fewest other projects complaining that someone else is doing it to them.

              1. 2

                Yup. But all of those contributors decided that the cost of licensing their code under one of the least-compatible F/OSS licenses was worth whatever benefits.

                So then it can’t really be spun as Linux “having the option” to make everything more compatible and choosing not to, the way Oracle did with ZFS and DTrace.

                Yes. Dual licensed means that you have a choice of licenses and you can select one. It’s useful for incompatible licenses (a lot of the Mozilla code is licensed this way), since you can choose one set of restrictions or another. When one license is a subset of the restrictions of the other it’s very legally murky (it’s not clear if it means anything: why would you ever choose to accept the license that places more obligations on you) but if it does then it means that you can then create GPL’d derived works that can’t be used by the upstream project. There are some quite vocal people in the Linux community advocating for doing precisely this to all code imported from permissively licensed systems.

                Dual licensing is not what allows you to “create GPL’d derived works that can’t be used by the upstream project.” The BSD licenses already allow that.

                I have very little patience with the kernel that tries the hardest to ensure that their code is usable by the fewest other projects complaining that someone else is doing it to them.

                I don’t know if I’m supposed to guess what you mean. Linux is the kernel that tries the hardest to prevent their code being used in other projects? And the “someone else” is Oracle?