OpenBSD Journal

OpenBSD: NDAs Versus Free Drivers

Contributed by deanna on from the corporate-whores dept.

Nate writes:

Jeremy of KernelTrap has put up a nice summation of the misc@ discussion regarding Greg Kroah-Hartman's announced Free Linux Driver Development.

GKH has publicly solicited himself to sign NDAs for any vendor who will have him, so that he can write non-free Linux drivers for their hardware. Members of the OpenBSD project respond.

UPDATE: more discussion on OSNews.

(Comments are closed)


Comments
  1. By Cabal (208.252.48.163) on

    I hate to agree with Theo, but the last email in the KT article is the most telling. It's not a Linux-vs-*BSD issue at all, it's just a bad idea.

  2. By Tassilo (82.231.136.192) on

    I think Theo is right. When I read GKHs announcement a couple of days ago, the only thing I that came to my mind was "is it possible to be that stupid to oversee the obvious?"

    Comments
    1. By Brynet (Brynet) on

      *Sigh*, When will people learn.. NDA's are full of all sorts of evilness..

      Three cheers to Theo, Fighting a valuable cause :)

  3. By Noryungi (noryungi) noryungi@yahoo.com on

    This is complete and utter madness. Sign NDA, write driver, be a tool of the company. Essentially, you are giving free programming time to a corporation AND you hand it the rope they'll use to hang you.

    This is the kind of stuff that makes me happy I support and use OpenBSD as much as possible. It's amazing that people who spout "free software" all the time fall for this kind of scam.

    Comments
    1. By Anonymous Coward (83.149.231.208) on

      > This is complete and utter madness. Sign NDA, write driver, be a tool
      > of the company. Essentially, you are giving free programming time to
      > a corporation AND you hand it the rope they'll use to hang you.

      He just have different goal, it's that simple. I guess that's to bring
      more users to given os. No one is hanging anyone there, you are always
      _free to choose_.

      I see some hypocrisy here -- why is OpenBSD supporting Linux emulation
      at all? Not to support non-free binary-only proprietary crap?
      (Acrobat, Flash, Sun's JDK).

      So why so much halo about drivers? Companies aren't going to release
      their crappy specs any time soon, period. You don't want to support
      that crappy thing, ok. But when you're trying make others to stop,
      that's not ok.

      > This is the kind of stuff that makes me happy I support and use
      > OpenBSD as much as possible. It's amazing that people who spout
      > "free software" all the time fall for this kind of scam.

      GKH is on Open Source side, not Free Software one.

      Comments
      1. By Kian (71.227.220.29) kian.mohageri@gmail.com on http://www.zampanosbits.com

        > He just have different goal, it's that simple. I guess that's to bring
        > more users to given os. No one is hanging anyone there, you are always
        > _free to choose_.

        What is the point of bringing more users into this community if the values of the community are compromised in the process? Not to mention the quality of the products...

        You're right -- he has the right to different goals and decisions. But when his poor decision-making begins to affect the rest of the community, it won't (and shouldn't) go unnoticed. Of course people are free to choose, and people are free to tell them what a terrible decision they've made.

        Comments
        1. By Anonymous Coward (217.225.121.196) on

          > > He just have different goal, it's that simple. I guess that's to bring
          > > more users to given os. No one is hanging anyone there, you are always
          > > _free to choose_.
          >
          > What is the point of bringing more users into this community if
          > the values of the community are compromised in the process?
          > Not to mention the quality of the products...

          We don't have "community"... oh sorry, we do -- what we all
          have in common is that we're fighting each other "community."
          (But please read below.)

          On the other hand I think it's better to bring more people
          to system that has drivers written under NDA than to systems that
          puts DRM everywhere (Mac OS X, Windows).

          Look at the target audience of Ubuntu and compare its value
          to other systems in that league, that's -- the "desktop" ones.

          > You're right -- he has the right to different goals and decisions.
          > But when his poor decision-making begins to affect the rest of the
          > community, it won't (and shouldn't) go unnoticed. Of course people
          > are free to choose, and people are free to tell them what a terrible
          > decision they've made.

          There's no single community, and there have never been one.
          Look inside small (compared to Linux) *BSD "community":
          * freebsd-that-wants-to-be-fast,
          * netbsd-that-claims-to-be-most-portable-one,
          * openbsd-that-wants-to-be-secure-and-free-you-from-evil-corps,
          * dragonfly-that-wants-to-redefine-bsd.

          From every project POV every other "is doing wrong".
          That's just short sighted.

          Comments
          1. By Anonymous Coward (65.248.199.227) on

            > There's no single community, and there have never been one.
            > Look inside small (compared to Linux) *BSD "community":
            > * freebsd-that-wants-to-be-fast,
            > * netbsd-that-claims-to-be-most-portable-one,
            > * openbsd-that-wants-to-be-secure-and-free-you-from-evil-corps,
            > * dragonfly-that-wants-to-redefine-bsd.
            >
            > From every project POV every other "is doing wrong".

            What are you even talking about? Each of these projects regularly gives to and takes code from the others, and I've never heard of any kind of animosity between them for the reasons given above. Differing goals, especially the technical ones you mention above, do not preclude community.

            Comments
            1. By Anonymous Coward (80.253.14.102) on

              > > There's no single community, and there have never been one.
              > > Look inside small (compared to Linux) *BSD "community":
              > > * freebsd-that-wants-to-be-fast,
              > > * netbsd-that-claims-to-be-most-portable-one,
              > > * openbsd-that-wants-to-be-secure-and-free-you-from-evil-corps,
              > > * dragonfly-that-wants-to-redefine-bsd.
              > >
              > > From every project POV every other "is doing wrong".
              >
              > What are you even talking about? Each of these projects regularly gives to and takes code from the others, and I've never heard of any kind of animosity between them for the reasons given above.

              Indirectly, there was animosity between project. To remind you -- FreeBSD
              as I stated above wants to make their system fast -- they had no problem
              in using Atheros Binary Blob, incorporating NDIS drivers AND writting
              drivers under NDA (aac IIRC). They want to make their system _fast_,
              not _free_. Theo do have problem with this.

              > Differing goals, especially the technical ones you mention above,
              > do not preclude community.

              Indirectly they do.

      2. By Nate (Nate) on

        Hypocrisy, wait a second, DJB? Is this that Netscape versus qmail thing again?

        There is nothing wrong with proprietary software, useless code on the other hand a bad thing. Companies are not going to open their documentation at all if they think that noone wants them. Right now they will supply useless blobs, code developed under an NDA, documentation or nothing at all. The thing pissing people off here is that by encouraging the wrong thing, GKH effectively discourages the right thing, removing the documentation option from the equation in the future. GKH is on his own side, because neither the Open Source Initiative, nor Free Software Foundation encourage NDA-encumbered code.

      3. By Anonymous Coward (65.248.199.227) on

        > GKH is on Open Source side, not Free Software one.

        The Open Source Definition:

        The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of downloading the source code, without charge, via the Internet. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

        Think he's going to stick to that? Is it even possible while under NDA?

        Comments
        1. By Anonymous Coward (80.253.14.102) on

          > GKH is on Open Source side, not Free Software one.
          >
          > The Open Source Definition:
          >
          >
          > The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of downloading the source code, without charge, via the Internet. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
          >
          >
          > Think he's going to stick to that? Is it even possible while under NDA?

          OpenBSD already ships firmware-blobs that no one but company can fix.
          Oh sorry, anyone can -- you're of course free to hack few thousands bytes
          of raw assembler output.

          Drivers written under NDA can be perfectly readable, look at radeon
          drivers from Linux -- written under NDA but fully commented (except,
          of course for firmware, but that's always just stream of bytes.)

          Comments
          1. By Anonymous Coward (68.227.41.220) on

            >
            > OpenBSD already ships firmware-blobs that no one but company can fix.
            > Oh sorry, anyone can -- you're of course free to hack few thousands bytes
            > of raw assembler output.
            The firmware gets loaded onto the device, therefor it is part of the device, not part of the operating system. It would make as much sense to say we should be hacking on the BIOS or the microcode of the processor.

            Drivers are part of the operating system, therefore if the operating system is as a whole open source and freely distributable with source, then the drivers can't be closed source or NDA-obfuscated source code.

            There is no contradiction except in your mind.
            >
            > Drivers written under NDA can be perfectly readable, look at radeon
            > drivers from Linux -- written under NDA but fully commented (except,
            > of course for firmware, but that's always just stream of bytes.)

            Drivers can be commented/readable without being portable or easily debuggable or maintainable. And just because you can find a well documented NDA-bound driver, doesn't mean that this is how they will be written, especially since ghk has been so explicit in his support of NDAs.

        2. By Anonymous Coward (80.253.14.102) on

          > GKH is on Open Source side, not Free Software one.
          >
          > The Open Source Definition:
          >
          >
          > The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of downloading the source code, without charge, via the Internet. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
          >
          >
          > Think he's going to stick to that? Is it even possible while under NDA?
          >


          OpenBSD already ships firmware-blobs that no one but company can fix.
          Oh sorry, anyone can -- you're of course free to hack few thousands bytes
          of raw assembler output.

          Drivers written under NDA can be perfectly readable, look at radeon
          drivers from Linux -- written under NDA but fully commented (except,
          of course for firmware, but that's always just stream of bytes.)

          Comments
          1. By Jason Crawford (X-rayS) jasonrcrawford AT gmail DOT com on

            > OpenBSD already ships firmware-blobs that no one but company can fix.
            > Oh sorry, anyone can -- you're of course free to hack few thousands bytes
            > of raw assembler output.
            >
            > Drivers written under NDA can be perfectly readable, look at radeon
            > drivers from Linux -- written under NDA but fully commented (except,
            > of course for firmware, but that's always just stream of bytes.)
            >

            To claim that firmware and drivers are the same thing clearly shows your ignorance on this whole topic. A binary blob that runs on a specific piece of hardware, completely separated from the rest of the OS, is fine by me. Every single piece of hardware does that, it's just that hardware manufactures figured out it was cheaper to load the firmware separately from disk instead of shipping firmware already loaded on the hardware. A obscured or blobby driver runs in kernel space, that's the difference. That's what an NDA-written driver is, an obscured driver that no one knows what it really does except those who have signed the NDA.

          2. By Anonymous Coward (68.227.41.220) on

            Hi there, Mr Shuttleworth

        3. By Lennie (82.75.21.80) on

          > GKH is on Open Source side, not Free Software one.
          >
          > The Open Source Definition:
          >
          >
          > The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of downloading the source code, without charge, via the Internet. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
          >
          >
          > Think he's going to stick to that? Is it even possible while under NDA?
          >

          It's not the GPL, that's what he has to abide by if he want it to go into the kernel.

          The open source definition however is something the Debian folks pretty much abide by, so it could definitely mean these drivers will not get into Debian.

      4. By veins (82.66.68.213) veins@evilkittens.org on http://www.evilkittens.org/~veins/

        > I see some hypocrisy here -- why is OpenBSD supporting Linux emulation
        > at all? Not to support non-free binary-only proprietary crap?
        > (Acrobat, Flash, Sun's JDK).
        >

        Come on ... you are saying that you see no difference between giving the ability to run a proprietary *USERLAND* application and being given no choice but to run code you know nothing about in kernel ?

      5. By Anonymous Coward (66.39.179.5) on

        > I see some hypocrisy here -- why is OpenBSD supporting Linux emulation
        > at all? Not to support non-free binary-only proprietary crap?
        > (Acrobat, Flash, Sun's JDK).
        >

        You may notice that, just like GPL code, binary code is never included in the kernel. Firmware with appropriate licenses are included, but they don't run on the machine, and in theory you are getting a firmware that is well tested with the included driver. That is the closest that OpenBSD comes to putting binary code near the kernel. And, now most if not all firmware is only loaded to the device by the kernel, but no longer archived in the kernel.

        But to get back to my original point. GPL code is not permitted in the kernel. And it's not preferred in the userland, either. About the only new GPL code that you should expect to see in the userland is newer versions of the GNU development tools. And, that is only for the tools don't get replaced that tool with open, usually faster and easier to maintain equivalents.

        OpenBSD wants to be able to support hardware out of the box. Documentation makes that a lot easier. Any driver that is not Artistic/MIT/BSD license or public domain isn't acceptable. And, binary only drivers, no matter what license, are not acceptable. You can't fix bugs, add features or workarounds, and you can't change the driver interface. Who wants that kind of crap in the kernel? Hey, you're already welcome to load whatever third party ports and packages you want. But don't expect everyone else to abandon their goals here!

    2. By Anonymous Coward (216.68.198.57) on

      Exactly.
      A hangman game. But once NDA, might as well NDA it all, to get some
      more guesses and buy more time.
      Free = life, NDA = Near Death Agreements.
      Take your pick.

      It is scary to think of OSS becoming like Linux with drivers and quality.
      Even FreeBSD, during the 5.x versions, really slipped on the ice.
      Hopefully OpenBSD can stay "pure," but the world of OSS seems to be
      slipping, even SUSE is gone the wrong path.
      Can OpenBSD keep going? Is funding enough?

  4. By Anonymous Coward (128.171.90.200) on

    # Linux kills OpenSource #

    You can put that on a t-shirt of you like ...

    Comments
    1. By Anonymous Coward (80.253.14.102) on

      > # Linux kills OpenSource #
      >
      > You can put that on a t-shirt of you like ...

      So flamefest has just begun... on the back you could put this:

      # Hopefully we, holy people from the church of Theo, will kill them all #

      Comments
      1. By Steven (198.166.227.91) on

        > > # Linux kills OpenSource #
        > >
        > > You can put that on a t-shirt of you like ...
        >
        > So flamefest has just begun... on the back you could put this:
        >
        > # Hopefully we, holy people from the church of Theo, will kill them all #
        >

        Do you always talk out of your ass? Perhaps the other poster was out of line, but you seem to be going out of your way to stir things up. Are you looking to cause a flame war, because you're not very good at it.

        Go away, troll.

    2. By Han (213.84.147.9) on

      > # Linux kills OpenSource #

      You miss the point completely. This is not about linux V BSD nor GPL V BSD, this is about a silly developer who doesn't see or doesn't want to see the problem of signing a NDA. Lots of sane people in the GNU/Linux community also strongly disagree with GregKH, including Linux and RMS.

      The point is that the result of a driver -- be it written for either Linux or BSD, written under either GPL or BSD license -- but while signing a NDA is obfuscated! It misses crucial information which make the driver unfixable by anyone but the signer of the NDA. This goes against the spirit of any Open Source license.

      Comments
      1. By Anonymous Coward (128.171.90.200) on

        This isn't a BSD - GPL thing, FreeBSD accept NDA'd drivers.

        What has happened here is a rogue linux developer has basically gone public giving the green-light to all manufacturors that NDA'd drivers will go in the tree, and they will.

        RMS and Linus can publicly condemn the inclusion of NDA'd drivers, but that means very little if the drivers are accepted.

  5. By Anonymous Coward (63.227.44.6) on

    All this discussion misses the point. What is needed is a change of heart in all the hardware companies. The way to get that is to get the big 800 pound gorillas in the industry to speak out - the computer manufacturers.

    If Dell, HP, and the other manufacturers all said "if you want us to include your video/network/raid card in our products, you have to provide complete documentation to the public", this would all be solved. If Microsoft said the aame, problem solved. Now, MS won't for obvious reasons, but why not make an approach to the manufacturers?

    I would love to see Broadcom read a letter like that.

    Comments
    1. By Anonymous Coward (128.171.90.200) on

      > All this discussion misses the point. What is needed is a change of heart in all the hardware companies. The way to get that is to get the big 800 pound gorillas in the industry to speak out - the computer manufacturers.
      >
      > If Dell, HP, and the other manufacturers all said "if you want us to include your video/network/raid card in our products, you have to provide complete documentation to the public", this would all be solved.

      Greg Kroah-Hartman has just killed that, or at the very least made that job harder by throwing the door open to NDA'd drivers from all and sundry.

  6. By Stefan Sonnenberg (80.140.139.104) on

    I'll put you on an island, puts see mines around it,
    but give you boat.
    That's what these linux people call freedom ?

    The enterprise linux vendors will support such written drivers ?
    With no spec ?
    Damn, I think it is time to stand up and tell about freedom again.

    We're losing freedom, every day a bit more ...

  7. By Fábio Olivé Leite (201.66.215.156) on

    Witness the creation of NDA - Nostradamus Driver Alliance, a group of people who get to "see the light" but, to avoid persecution by those who control information, write it down in such an obscured way that no one else can understand it anyway. ;-)

    On a serious note, though, I wonder if there is any public project out there that focuses specifically on extracting and maintaining hardware information from NDA-based GPL drivers, so that everyone else (and perhaps even GPL systems) can try their own clean-room, _supportable_ drivers.

    Surely there are device-specific projects, such as bcm43xx(?), but given that the talents and abilities needed are more or less the same for any drivers, perhaps it would be interesting to gather a group of such talented people and just shoot at every single piece of hardware out there with NDA-based GPL drivers, and being very vocal about it. Specially documenting the many quirks worked around by the drivers, so that the situation can be somehow turned into bad press for those vendors.

    Perhaps boasting those extracted pieces of information to be the definitive and official _public_ sources of information about devices foo, bar and baz would trigger some kind of "WTF?" reaction from vendors, and they might open up some documentation to save face.

    On the other hand, this might also make hardware vendors just point at the project and say it's all there. Maybe making sure their being mentioned in the project turns into bad press, by way of comparing with drivers that excel in being clean and straightforward because of the availability of public documentation, is the only way to keep this from happening.

    Comments
    1. By CODOR (CODOR) on

      > On a serious note, though, I wonder if there is any public project out
      > there that focuses specifically on extracting and maintaining hardware
      > information from NDA-based GPL drivers, so that everyone else (and
      > perhaps even GPL systems) can try their own clean-room, _supportable_
      > drivers.

      Yeah, it's called OpenBSD. :-)

      But then there's still the problem that the NDA-based drivers lack
      functionality present in the Windows drivers, and therefore so will the
      rewritten ones...

Latest Articles

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]