Slashdot Mirror


Linux Kernel Devs Offer Free Driver Development

schwaang writes "Linux Kernel hacker Greg Kroah-Hartman, author of Linux Kernel in a Nutshell has posted an epic announcement on his blog. This could portend increased device compatibility for Linux users, higher-quality drivers, and fewer non-free binary blobs." From the announcement: "[T]he Linux kernel community is offering all companies free Linux driver development... All that is needed is some kind of specification that describes how your device works, or the email address of an engineer that is willing to answer questions every once in a while. If your company is worried about NDA issues surrounding your device's specifications, we have arranged a program... in order to properly assure that all needed NDA requirements are fulfilled. Now your developers will have more time to work on drivers for all of the other operating systems out there, and you can add 'supported on Linux' to your product's marketing material."

9 of 348 comments (clear)

  1. Re:Hardware ? by Anonymous Coward · · Score: 5, Informative
    from tfa

    A few sample devices might be good to have so that debugging doesn't have to be done by email, but if necessary, that can be done.
  2. Re:Standard Driver Model? by jimicus · · Score: 4, Informative

    You've just invented OpenFirmware.

    The only small problem is that it requires slightly more intelligence (and some flash memory) in the individual device - something which manufacturers have spent the last 20 years doing their best to avoid.

  3. Re:How many by Short+Circuit · · Score: 3, Informative

    Video cards are already well-supported by their manufacturers. I'd be more interested in seeing wireless drivers, Broadcomm network drivers, and video capture and hardware encoding drivers.

    Oh, and don't forget printer drivers. But that's more a userspace thing.

  4. Re:How will the NDA work ? by MartinG · · Score: 4, Informative


    b) binary blob kernel patch created by hardware munfacturuers

    Widely believed to be a license violation.

    c) binary blob in kernel tree created under NDA by the kernel team (who have private access to the source)

    Almost certainly a license violation. (Can't be distributed with the portions of the kernel written by others who have released their code as GPL)

    d) obfuscated code in the kernel tree (with original kept private to those kernel devs that have signed the NDA)

    Probably a license violation (google for "gpl perferred form obfuscate")

    e) uncommented code in the kernel tree (with commented code kept private to those kernel devs that have signed the NDA)

    Dubious to keep commented version seperate for the same "preferred form" reason as above.

    IANAL.

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
  5. Re:Standard Driver Model? by RAMMS+EIN · · Score: 3, Informative

    Well, there's paravirtualization. The drivers go in the hypervisor, which then provides a simplified and unified interface to guest OSes. The guest OSes still have to implement drivers for the exokernel, but there are a lot fewer of those than there are, say, Ethernet cards.

    --
    Please correct me if I got my facts wrong.
  6. Re:Wonderful by Delkster · · Score: 4, Informative

    No-one seems to have commented on the fact that if NDA requirements are met the drivers cannot be open source. This doesn't mean fewer binary blobs, it means more. I'm far from being an expert but I've got the impression that for example the open source 3D accelerating drivers for ATI's R200 series were written under an NDA. It really depends on the NDA. The specs can reveal things that aren't immediately apparent from the code, and the NDA may be written to protect those parts. While some companies would probably require NDAs that would effectively prevent an open source driver from being written, it doesn't automatically have to be so.
  7. Example of extending to other platform by DrYak · · Score: 4, Informative

    As an example of extending to other platforms, we may cite the 3DFx Voodoo board.

    After the company collapsed, users were left with no drivers for recent windows version (XP, XP64 and Vista).
    But, the Linux drivers happened to be open source.

    So most of the work you may see on websites like http://3dfxzone.it/ for Windows, is mostly based on libglide and Mesa3d for linux.
    (This is also another proof that open-source enable something to survive beyond the death of it's parent company)

    Another example may be the linux USB stack, which was later ported to both the Cromwell xbox bios and ReactOS (opensource clone of the Windows NT system, cousin of Wine project).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  8. Re:Wonderful by DrSkwid · · Score: 3, Informative
    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  9. Re:Wonderful by Josh+Triplett · · Score: 3, Informative

    No-one seems to have commented on the fact that if NDA requirements are met the drivers cannot be open source. This doesn't mean fewer binary blobs, it means more.
    Open Source drivers have been written under NDA before. What this typically means is that they are write-only code. The NDA will prevent things like properly labelling constants and helpful comments, so you end up with code full of magic constants and seemingly random operations. It's basically impossible for anyone to maintain without the NDA'd documentation, so you are pretty much screwed if you want to port it to another OS or maintain it when the original author gets bored or dies.
    Some NDAs require that, true; the resulting drivers look a lot like the "nv" driver for X, which does indeed look like write-only code. (And as you suggested, it did still help the authors of nouveau.)

    However, in many cases a hardware company NDA just requires non-disclosure of the hardware documentation itself, and in particular the documentation of the hardware's internal workings. In these cases, the resulting driver generally looks like most other drivers in Linux, including useful constants and helpful comments.

    (Not commenting on the ethics of NDAs in general; just presenting information.)