Forgot your password?
typodupeerror
Announcements Software Linux

Linux Kernel Devs Offer Free Driver Development 348

Posted by kdawson
from the Nvidia-this-means-you dept.
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."
This discussion has been archived. No new comments can be posted.

Linux Kernel Devs Offer Free Driver Development

Comments Filter:
  • Re:Hardware ? (Score:5, Informative)

    by Anonymous Coward on Tuesday January 30, 2007 @07:55AM (#17812300)
    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.
  • Re:Wonderful (Score:1, Informative)

    by Anonymous Coward on Tuesday January 30, 2007 @08:04AM (#17812376)
    in some ways it would be a curse too. Because some hw manufacturers cant write a driver worth a damn.

    Hell, all my hardware actually works better in linux than in windows. my mp3 player doesnt run quite right in XP, not all of my motherboard's devices run smoothly, my tv card doesnt run in XP (my fault because it's a media center edition only card, though this doesnt affect it in linux whatsoever :) )

    My atheros card runs flawlessly using the original reverse engineered madwifi drivers, the new code from atheros seems to hate my card and doesnt let it connect or do anything, my range is also (artificially) limited by the new drivers, where the AP has to be in the next room to even pick up.

    In some cases, free open drivers that have been hacked tend to really make use of the hardware as opposed to manufacturer soft limitations.
  • by BecomingLumberg (949374) on Tuesday January 30, 2007 @08:13AM (#17812450)
    As far as printers go, HP has a driver out now thats pretty slick (HPLIP). It doesn't do everything, but it does most of the personal printers. (Not to mention they make damn good printers).

    http://hplip.sourceforge.net/ [sourceforge.net]

  • by jimicus (737525) on Tuesday January 30, 2007 @08:22AM (#17812542)
    You've just invented OpenFirmware [wikipedia.org].

    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.
  • Re:How many (Score:3, Informative)

    by Short Circuit (52384) * <mikemol@gmail.com> on Tuesday January 30, 2007 @08:27AM (#17812580) Homepage Journal
    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.
  • A similar offer (Score:3, Informative)

    by mogrify (828588) on Tuesday January 30, 2007 @08:30AM (#17812602) Homepage

    The folks at Xiph have had a similar offer [xiph.org] for a few years:

    We've got a fixed-point implementation of the Ogg Vorbis 1.0 decoder, called Tremor. As of this evening, Tremor is licensed under a BSD-style license, is free for all use, and you can download it right here [xiph.org]. If you need help implementing Vorbis support into your hardware player, we will give you any resources at our disposal to make it happen (including engineer time). If you want Vorbis in your player (like your potential customers do), we want to help you.

    I don't know if anyone ever took them up on it. Ogg support in portable hardware has come a long way since then. I used to come back to this page every couple of weeks to see if anything had changed. Now a lot of players have it... I hope this takes off.

  • by Anonymous Coward on Tuesday January 30, 2007 @08:49AM (#17812748)
    It kind of depends on what the NDA is protecting. A company lawyer isn't going to approve a new course because there's no benefit (there's a Dilbert cartoon on the subject). So they will be conservative in their reading of an NDA.

    The lawyers reading for the Linux Kernel have a reason to read and understand (or even find workarounds for the legalese cf Novell/MS). It also sends the liability out to these lawyers rather than keep it the companies fault.

    So they may find that the NDA still applies but that what NEEDS to be done to get a driver isn't actually forbidden.
  • by MartinG (52587) on Tuesday January 30, 2007 @08:57AM (#17812814) Homepage Journal

    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.
  • by RAMMS+EIN (578166) on Tuesday January 30, 2007 @09:00AM (#17812858) Homepage Journal
    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.
  • Re:Wonderful (Score:4, Informative)

    by Delkster (820935) on Tuesday January 30, 2007 @09:00AM (#17812860)

    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.
  • by DrYak (748999) on Tuesday January 30, 2007 @09:03AM (#17812890) Homepage
    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/ [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).

  • Re:Hardware ? (Score:3, Informative)

    by Svartalf (2997) on Tuesday January 30, 2007 @09:18AM (#17813074) Homepage
    I've done it before. It's doable in proportion to the complexity of the device. Most industrial I/O devices will be doable this way- a 3D accelerator or an iWARP channel adapter would be pretty much impossible without at least one if not multiple instances of the device in hand.
  • by tomstdenis (446163) <tomstdenis@@@gmail...com> on Tuesday January 30, 2007 @09:26AM (#17813132) Homepage
    This is just ignorant legal babble. There is a huge difference between knowing how to make something "go" and how it works internally.

    If the value of your [say] network card is how to make it read/write frames and not how it actually does it internally ... you need to rethink your market. I work for a hardware firm and we regularly give out interface specs to our customers [hint: they wouldn't buy it otherwise] but consider our designs/algorithms as intellectual and proprietary property.

    Tom
  • by Drathus (152223) * on Tuesday January 30, 2007 @09:39AM (#17813272)
    Your first sentence is correct, but your second is a bit lacking in understanding I think.

    The technical specifications that they're requesting access to usually are the specifications for the entire product. Let's take, for sake of example a Video card.

    The specification covers not only just how the device interfaces to the computer, but also how the VRAM and GPU integrate, etc.

    In other words all the driver will tell someone who hasn't signed the NDA is how to access the hardware, but not how the parts of the hardware work with each other.

    That's how maintaining the NDAs would be advantageous to companies.

    - My two bits and a ha'penny.
  • Re:Wonderful (Score:4, Informative)

    by DrSkwid (118965) on Tuesday January 30, 2007 @09:49AM (#17813422) Homepage Journal
  • Re:How many (Score:3, Informative)

    by ncc74656 (45571) * <scott@alfter.us> on Tuesday January 30, 2007 @12:03PM (#17815422) Homepage Journal

    I'd be more interested in seeing wireless drivers, Broadcomm network drivers, and video capture and hardware encoding drivers.

    WiFi (especially Broadcom WiFi) under Linux is a pain, but video capture isn't nearly as dire a situation. Most dumb framegrabbers are handled by the bt8x8 driver, while most MPEG-2 compressor boards are handled by the ivtv driver. Compare that to the separate drivers from each manufacturer that you typically need with Windows.

  • by xant (99438) on Tuesday January 30, 2007 @12:10PM (#17815506) Homepage
    It doesn't matter if what you see is a C file or a binary blob, if it isn't the plainly readable source code. The most agreed-upon standard for what open source is can be found here:

    http://www.opensource.org/docs/definition.php [opensource.org]

    The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed.
    - Section 2 of OSI's Open Source Definition

    That said, an NDA still may not make it impossible to write a driver. If the specs are under NDA, that means nobody else can see the specs. It doesn't *necessarily* mean that nobody can write a driver that interfaces with those specs. This depends a great deal on the wording and intent of the NDA itself. Naturally, some people will consider a driver to be a description of the spec, and hence not allowed under the NDA. Some people will not. Specs often contain a lot of things that aren't strictly required to make a device go; it may be these parts, the implementation details, that the NDA is intended to protect. The best thing to do would be to separate an interface specification from the implementation specification, and release the former NDA-free. The next best thing would be to invite a developer to sign an NDA and develop an Open Source driver.

    Not possible for every piece of hardware out there, but possible for many.

  • by TerranFury (726743) on Tuesday January 30, 2007 @01:52PM (#17817292)

    I'm not sure I believe this.

    I worked doing VLSI design for a short time as an intern, so, though I can't claim overwhelming expertise, I've learned more about the industry than I think the general public knows. Foundry tech is hideously expensive, requiring gigantic investments. It costs so much that it's gotten to the point that even competitors do joint work (with tension and assorted legal handcuffs, to be sure -- and they keep it quiet -- but in the end they all cross-license with each other) to develop new foundry technologies (and, to a lesser extent, "I.P."), because it's just so. damn. expensive. Old rivals are forced to quietly build each others' chips, because neither can handle it on their own.

    You might be able to design a chip, send it off to TSMC, and have them produce it -- but even that costs boatloads. And it's not going to work quite right the first time!

    I recall, maybe a year ago, there was a big press release about a Chinese CPU which was supposed to demonstrate China's rising power. It was about as fast as a Pentium III. Given what they were starting with, that's pretty damn impressive -- but you also notice that they couldn't pop out a Core 2 Duo. There's a lot of infrastructure required that's just not there yet.

    Even people like PowerVR, with their Kyro cores, couldn't effectively challenge ATI and nVidia: They produced a decent budget core, for a little while, but they couldn't keep up, and now they're designing cores for chips other people design which end up in cell phones. They're probably making more money that way -- but they just couldn't stay on the bleeding edge.

    So, no, a company in China can't build a low-budget ATI-killer overnight -- and I don't believe it's just the drivers.

  • Re:Wonderful (Score:4, Informative)

    by Josh Triplett (874994) on Tuesday January 30, 2007 @02:18PM (#17817738) Homepage

    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 [freedesktop.org].)

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

No man is an island if he's on at least one mailing list.

Working...