Linux Kernel Devs Offer Free Driver Development 348
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."
How many (Score:5, Insightful)
Re:How many (Score:5, Interesting)
Re: (Score:3, Insightful)
Re: (Score:3, Informative)
Oh, and don't forget printer drivers. But that's more a userspace thing.
Re: (Score:3, Informative)
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.
Users need software freedom for all their software (Score:4, Insightful)
I believe this kind of thing happens [digitalcitizen.info] more than others know, particularly as GNU/Linux distributors that distribute proprietary software make it easier for users to acquire proprietary software (as I understand Ubuntu is working on). Users shouldn't be left without their software freedom, nor should they have to choose between updating their system kernel and using their video card.
Making users helpless and keeping them separate is no way to live. Users need software freedom now.
Re: (Score:3, Insightful)
Be serious.
Re:How many (Score:5, Insightful)
things I want done rather than supporting some lame hardware
vendor's attempt to save 5 cents on some bit of hardware.
Intellegence in peripherals should be expanding outwards
rather than shrinking. The former aids parallelism and the
latter sabotages it.
Re:How many (Score:4, Insightful)
If a peripheral is taxing the host CPU enough that upgrading the CPU will increase the performance on that peripheral, it's already taking up too much of the host CPUs time.
Re: (Score:3, Interesting)
Re: (Score:2)
On the other hand, if we are talking about desktop consumer hardware, that is a very different thing.
Re: (Score:3, Insightful)
Linux a Viable Alternative? (Score:5, Funny)
Dude, don't get me wrong, I think Linux is sexy. But not that sexy.
With few notable exceptions... (Score:2)
Re:With few notable exceptions... (Score:5, Interesting)
Apparently not. What PP said was that there is the potential for profit there, but the hardware industry may be underestimating the buying power of the Linux desktop market.
For example, I, and many other Linux users buy my WiFi based on what works in Linux. I am not a Linux-only human; I have a Mac, a Windell at work, and a Ubuntu laptop.
But therein lay the point: The commercial OS developers already support your product; you wrote drivers for them. Now, at no extra cost, you can have the edge up on your competition for that 1.6% of the computer-using market that has Linux in one form or another. As of 2004, that's 1.6% of 61.8% of all people in the US, or about two-and-a-half million people. At median income of $30k, and assuming that 5% of their purchases are technology-oriented, that's a chunk of $3.75B you're fighting for.
Not a small number, and the slice of it you get could mean the difference between shelling out a new product in a month or shelling it out in a year. Meanwhile, if you can expand that slice at low (rather than building a monolithic driver, build drivers as modules that can be 'plugged in' to existing kernel scaffolding for Linux, Apple/Mach and NT) or no (having the Linux Devs build it) cost, there's no reason you shouldn't.
Of course, the bigger the company, the less this matters to them; large companies have the opportunity to 'rest on their laurels', as it were, when it comes to new accessibility.
Re:How many (Score:5, Interesting)
Re:How many (Score:5, Insightful)
On the other hand, working with a competitor to Microsoft may not be a wise strategic decision.
"Hi, good to see you again. I heard about how you were working with those Linux guys on giving away free drivers for your new card. That's a great move. But that has nothing to do with what I wanted to tell you, which was that there was an accident in the Vista certification lab and we lost the drivers you sent us. Until we can get a fix pushed out for this that means that everybody who buys your product from now on will be told that it has absolutely no support and that even if they download something directly from you it will be flagged as foreign code and won't run. The guys in the lab are really broken up about it and can't figure out how that kind of mistake could happen. Don't worry though, we'll get everything straightened out in the next big service pack. Honest."
Extortion (Score:5, Funny)
Like that ever stopped Microsoft before.
> I would hope the DoJ steps in at that point.
Like that ever stopped Microsoft before.
Re: (Score:3, Insightful)
YOU GET MODDED 5 FOR "FUNNY"!!!
No wonder the DOJ gets laughed off...
Re: (Score:2)
You keep thinking that. While it's no secret that Windows has the lead of MARKET share, there is a considerable userbase that isn't counted because they're not buying the OS [e.g. a free distro].
In reality, they should be releasing the specs to the hardware like they were in the 70s and 80s. Let the customer decide how they want to use the damn hardware.
Tom
Re: (Score:3, Interesting)
As much as want you to be right, I have my doubts. Think about USB. Flash drives are supported on almost any 2.6 kernel, and have been for quite some time. Yet look at the packages. How many list Linux (2.6 kernel) as supported? Not many. It would cost the companies nothing to add that, but virtually all refuse to do so. Why? I have no idea. Same thing with external USB drives. I've only
Re: (Score:3, Insightful)
That just tells you how Linux users compare
to the vast wasteland of lumps that may not
necessarily buy anything ever again once
they've gotten their low priced Dell bundle.
For many classes of hardware, 3D cards even,
diluting the Mac or Linux market share numbers
by adding Joe Sixpack gives you a rather
misleading impression.
The "upgrade" market is certainly going to be
incorrectly skewed by this effect.
Re:How many (Score:5, Insightful)
Companies worried about IP issues should ask themselves if they are in the hardware business or the software business. If their objective is to sell more gizzmos, then opening the API to developers is an excellent way to sell more product.
If a company is concerned about the number of questions they'll be asked by the developers, then (a) they don't know the software business, and (b) they should take a long, hard look at the quality of their documentation.
The biggest problem is that many companies are already making so much from selling their gizzmos to Windows users not to need to sell them to Mac or Linux users as well, even though it takes no significant effort to do so. The extra profit, even at virtually 100% per unit) simply isn't attractive.
seems like a good idea (Score:5, Insightful)
Re:seems like a good idea (Score:5, Interesting)
To me it seems more like an initiative to figure out which companies use "we don't have the staff/resources for an open driver" to keep their drivers proprietary.
Re:seems like a good idea (Score:5, Insightful)
Another way of looking at it would be as formalising the rule that "if you give us specifications, the driver will get written". A lot of the problems with free software drivers is lack of information on how a device works; if this makes it better known that all they have to do is provide some specification, it might encourage companies to submit more of them, and encourage customers to ask people to submit more of them.
Re: (Score:2)
I agree 100%. Also, there are many companies that would provide information if you are willing to sign an NDA with regards to hardware specs (ie. the manufacturer would like to be open, but their lawyers think otherwise). I think the following (from the article) helps tremendously in that regard:
"If your company is worried about NDA issues surrounding your device's specifications, we have arranged a program
Re: (Score:3, Informative)
If the value of your [say] network card is how to make it read/write frames and not how it actually does it internally
Tom
Re:seems like a good idea (Score:5, Interesting)
It's a mixture of worries about revealing possible Patent infringements, trying to slavishly follow the lawyer's advice, and a confusion as to what business they are precisely in (Software versus hardware- a lot of companies, because of the advice of their IP lawyers are confused as to what they should be doing...).
Re: (Score:2)
Yeah, it's a pain. I've seen they've put up some NDA "protection" clauses there in order to become more lawyer-friendly, but it may still not work fully; I can't even think about how they can meet all NDA clauses in all cases, unfortunately. The fact that they specifically mention such things is a step forward, though; it shows they're willing to deal with companies on their terms so long as the work can get done.
Re:seems like a good idea (Score:5, Insightful)
It might give the device manufacturers an out but, more importantly, won't it equally give the Linux family an 'in'?
The point isn't, so far as I can see, to make any profit from the scheme other than to spread the word of Linux and increase the potential compatibilities/reduce the incompatibilities.
Plus, as a bonus for the device driver writers, it's an impressive CV when you consider the varieties of hardware that are supported by the various Linux distros and the work, and potential elegance, that goes into solving the various demands.
It seems win-win for everyone, really. And a good, and generous, idea.
Re:seems like a good idea (Score:5, Insightful)
The point isn't, so far as I can see, to make any profit from the scheme other than to spread the word of Linux and increase the potential compatibilities/reduce the incompatibilities.
In fact, this is how it's always worked --- people have been asking companies for device information for years. (I did, once; I wanted the specs for a SIM reader device so I could do a Linux driver. Did I get a response? Did I hell.) The only difference is that this announcement rephrases things in a rather more marketspeak and official manner. Instead of the companies doing us a favour, by providing hardware specs, we are now doing them a favour, by writing their drivers for them.
It's a rather neat bit of lateral thinking.
Re:seems like a good idea (Score:5, Interesting)
Exactly! I think Greg made a tongue-in-cheek post on his blog and the submitter and /. editor unwittingly took it at face value (no big surprise there). It will be wonderful/funny if some corporate shills also take the blog post at face value and actually start feeding the kernel developers the information they need.
Re: (Score:3, Interesting)
I'd say that's pretty much the state of play for the majority of Linux drivers anyway. To be fair I have no way to back up that claim, but it feels that way to me.
My guess is most printer drivers are community developed. Also Modems, and Network adapters, Hard Disks and older video adapters, and Removable Mass Storage devices. The only big 'playas' do
Re: (Score:3, Informative)
http://hplip.sourceforge.net/ [sourceforge.net]
Re:seems like a good idea (Score:4, Interesting)
Re: (Score:3, Insightful)
Re: (Score:3, Interesting)
Really, we don't want "support". We just want a guarantee that they don't know of any reason why things shouldn't work. If Dell gives us a PC that will work with Linux, they shouldn
Hardware ? (Score:5, Insightful)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Informative)
Re:Hardware ? (Score:4, Funny)
Re: (Score:2)
Re:Hardware ? (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
In reality, that's already the way it was; release your specs, and a driver will be written. IF your hardware actually sells and enough people care.
Dedicated (Score:5, Insightful)
Peter
Re: (Score:3, Insightful)
putting words into peoples mouths and basically calling anyone that doesn't use linux a "dumb slave"(while maybe not in those words, the insinuation is there)
Oh the irony. He didn't 'call' you anything. He said that the only commitment that Apple and Microsoft can match against the effort put in by Linux coders is the time they spend trying to control their customers and limit their choices. A pointed argument that strikes right to the heart of the current DRM situation that mainstream computing in headin
Quick Scan (Score:4, Interesting)
Example of extending to other platform (Score:5, Informative)
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).
This is needed (Score:5, Insightful)
Re: (Score:2)
Then why is it that so many of them won't release specs when asked? It's not like this initiative here is anything new; the Linux community has been asking companies for specs needed to develop drivers for years. Instead, I see companies devel
Wonderful (Score:5, Interesting)
Is this realistic though? Are companies actually going to take this offer up? If they do, the impact could be awesome (hardware compatibility that could rival Windows and/or Mac OSX)...
Nice one!
Re:Wonderful (Score:5, Insightful)
Re:Wonderful (Score:4, Interesting)
I am sure this is the case statistically, but anecdotally I've noticed that things I don't expect to "just work" (TM) with linux oftentimes do. My girlfriend's digital camera working without a driver install really sort of surprised me as I expected it not to work at all. The same camera often requires driver installs on windows (differing per version). I'm actually quite impressed with Linux's hardware support.
Re:Wonderful (Score:4, Informative)
Epson (Score:3, Interesting)
I have a Perfection Photo 2400, from a couple years back. It works flawlessly with xsane. (Do double check against the supported-hardware list, however, because some E
Re: (Score:3, Insightful)
Re:Wonderful (Score:4, Insightful)
Infact Linux supports more devices that any other operating system ever... and thats one of the advantages of open-source kernel drivers... they are maintained with the Kernel, so they remain usable through kernel architecture changes with zero effort from the original contributer of the device-driver. I am sure Microsoft would love to do this with windows, but of course they cannot, as they don't have the source code to the drivers they did not write themselves.
Re:Wonderful (Score:5, Insightful)
And what about Vista's new requirement that all hardware mustn't be compromised by hackers or else the drivers will be remotely disabled? Might a company which produced hardware which is part of the DRM stack risk being more likely to be seen as compromised if it has collaborated with the OSS community?
Re:Wonderful (Score:4, Informative)
Re:Wonderful (Score:4, Interesting)
Re:Wonderful (Score:5, Interesting)
On the plus side, a badly written driver is marginally easier to reverse-engineer than a black box. There are a couple of WiFi chips that had Linux drivers written in this way, and now have much better OpenBSD drivers written by a combination of reverse engineering and examining the Linux code. Some of these drivers have been ported to FreeBSD and, I believe, back to Linux again.
That's not Open Source, by definition (Score:3, Informative)
http://www.opensource.org/docs/definition.php [opensource.org]
- 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
Re:Wonderful (Score:4, Informative)
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.)
Re: (Score:2)
I got a new (three years old now) mid-range prebuilt computer.
It came with a Windows XP SP1 OEM CD. The CD lacked drivers for the sound card, the video card, the NIC and the winmodem (the store had mercifully supplied a modem driver CD, but nothing else). The sound card driver was a 30MB download of bloatware, the video card driver was nVidia and then it wanted me to install SP2. This was all back before ADSL was available in my area.
Now at the same ti
Standard Driver Model? (Score:5, Interesting)
Re: (Score:2, Interesting)
Re: (Score:2)
Re:Standard Driver Model? (Score:4, Insightful)
Re: (Score:2)
Re:Standard Driver Model? (Score:5, Informative)
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:Standard Driver Model? (Score:4, Insightful)
Xen implements something like this for block and network devices, and the USB and Bluetooth specifications do something similar for a few categories of device. The problem comes with things like GPUs where each new generation provides some extra functionality that the last one didn't; you'd need to constantly update your driver model to work with the new functionality. It's not impossible, but it does require a standards body that can quickly specify interfaces to the new functionality, which is quite improbably.
Re:Standard Driver Model? (Score:4, Informative)
Re: (Score:3, Interesting)
Re: (Score:3, Insightful)
Sorry if I sound pedantic, but we are already "able" to specify a standard driver model. I can specify one right now: the Linux driver model. It's pretty well-documented; just check out "Linux Kernel In a Nutshell" or "Linux Device Drivers" or the Linux kernel source.
Specifying one is not a problem. It's getting OS developers to adopt it that's a problem. Microsoft obviously isn't going to adop
Nothing new? (Score:4, Interesting)
The community already writes free drivers for vendors who provide specs and (even better in some cases) loan some hardware.
There are already situations where Linux devs have been able to work out NDA-acceptable solutions.
Really, all the announcement is saying is, "Look, we do this. We've been doing this for years. Just letting you know how things work over here."
This is definitley new (Score:5, Insightful)
Actually this really is something new, and quite an announcement. It was never the case before that any old random driver would get created by the open source community. The way OSS development generally works is there has to be a strong need, strong backing, or a high fun factor, for things to get done.
Prior to this announcement it's not like there was a group of people dedicated to writing drivers -- just waiting for companies to release new hardware, then they'd scurry to reverse engineer it and write a driver. Nor do companies (generally) release hardware specs in the hopes that others will provide a driver for their product.
A significant portion of initial open source driver development comes from the device manufacturers themselves, and smaller companies without the resources to spearhead these developments simply don't have the ability to have Linux support.
Your conception that "The community already writes free drivers for vendors who provide specs and loan some hardware" isn't true in the vast majority of cases.
This really is a big change, because now anyone can create a hardware device and actually have formal linux support, and have this printed on the box. This creates a formal avenue for companies to easily, reliably, and cheaply have Linux support for their products.
Re: (Score:2)
-
How will the NDA work ? (Score:5, Insightful)
Re:How will the NDA work ? (Score:5, Interesting)
a) no driver for your hardware
b) binary blob kernel patch created by hardware munfacturuers
c) binary blob in kernel tree created under NDA by the kernel team (who have private access to the source)
d) obfuscated code in the kernel tree (with original kept private to those kernel devs that have signed the NDA)
e) uncommented code in the kernel tree (with commented code kept private to those kernel devs that have signed the NDA)
f) fully open source driver
Personally I'll accept anything b or above - I'd prefer d or above, would settles for c but would really like f!!
I wonder where the compromises will be made? How far will kernel devs go? How far will companies go?
Re:How will the NDA work ? (Score:5, 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.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Interesting)
I think there are cases where there may be a lot of extra functionality in some hardware (for testing or legal versions). Maybe it can operate in bands limited by the FCC, but should not for legal reasons. The detailed docs covered by NDA may detail this, and there is no reason to put all the details in the open source driver to get something working.
This way, you get your working open source driver, but you don't need all the details of the hardware (which may include a lot of IP for the hardware maker).
"automatically included in all Linux distributions (Score:2)
So I can't see how they can support NDA.
Re: (Score:2)
Nice offer, but there's still the rub ... (Score:2)
That's all they have to do now, basically - any modestly popular piece of hardware will probably get a driver if specs are available. But that's the same big "if" that has always been a problem.
A similar offer (Score:3, Informative)
The folks at Xiph have had a similar offer [xiph.org] for a few years:
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.
Homework (Score:2)
Driver Management (Score:5, Interesting)
The best example I have is my webcam. I know that when I purchased it it would have linux support because i did my research, but I still had to know how to do the research, how to track down the right driver and then how to build it from source. What we need is a driver manager that operates similarly to or in conjunction with our package managers. If during install or after a first boot I was told that a driver for my webcam was not installed as part of the distro it could then either download a driver package if one is available or it could at least suggest a link to download a driver not yet being packaged for my distro. Having to check my dmesg to see if my webcam shows up as a generic USB device or if a driver has been assigned to it is a terrible solution, we need a more friendly means of checking a supported devices database and better way to get access to the drivers that support our less common hardware. This is especially important for people who don't hand pick their hardware and are less familiar with exact model numbers or sometimes know even less.
This system that manages drivers might also do well to phone home to the distro maintainer when possible to catalog all of the hardware that is not being supported by a driver. That way we can at least get a better idea of where the biggest holes in device support are.
NDA, or crippled hardware? (Score:2)
I assume that the reason why most companies won't do open source drivers is because they want to cripple the hardware from the driver, to speculate or do stuff like DRM and things like that..
Who is he speaking for? (Score:3, Interesting)
Who is he speaking for? The whole Linux kernel community? I didn't think it worked that way. Even Linus is as much a cat herder as a boss, once you get beyond a few core people. The population of kernel developers who can be ordered (the difference between "might get a driver" and "will get a driver") to write drivers for obscure hardware they have no interest in must surely be fairly small. Who's actually in on this? Are there a few hundred kernel devs who've agreed to work on whatever they are assigned? I'm worried that this will backfire when they can't actually find anybody who wants to write the driver for a engraving machine that sells 400 units per year and has a particularly baroque interface. I don't expect there will be a problem for WiFi, TV or video cards, but there's a whole lot of hardware out there and not all of it is interesting.
Those are some pretty big promises he's making. I'm wondering what's there to back them up.
Support? (Score:2)
you can add 'supported on Linux' to your product's marketing material.
Writing a driver is one thing, but providing support is another.
As far as I can see, there is nothing new here. People were always
willing to write drivers for Linux & provide it free. Many a times
they did it even without help from the manufacturing. So I don't
see what exactly this announcement offers the manufacturers?
I don't see manufacturers willing to stamp "supported on Linux"
on their boxes just because the community made an offic
Here's the new sticker for your device! (Score:5, Funny)
'Has been reported to work on Linux!'
The way they always have. (Score:2)
Sure it's in the source file, but it's not its preferred form for editing, unless everyone at ATi is a masochist.
Re: (Score:2)
I believe there is already a precedent. See SATA driver information for nvidia's SATA/NCQ support. [linux-ata.org] The trick here seems to be that the developers accept an NDA and in return get access to specifications. Any implementation written from those specs will be unencumbered, but the full contents of the specifications are not.
My guess: the specs for most chipsets are monolithic and contain all kinds of stuff, not just certain subsystems.
Actually, you're simplifying the problem. (Score:3, Interesting)
"Show me the money"
"We have to protect our IP"
Those two statements I get told QUITE often in relation to my driver consulting work I currently do.
Both are varying degrees of wrong- and where the trick lies is in convincing the company in question that it's wrong to hold that position in the first place. Both are very difficult to shift because they're usually NOT fact based positions to begin with.
Hardware design -- Meaningless?! (Score:3, Informative)
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 dev