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."
Quick Scan (Score:4, Interesting)
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: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: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' doing anything in the LDD world are AMD, NVidia, HP and, I guess, Intel. Those contributions are nothing compared to their Windows effort.
This leaves scores of small manf. who hopefully will be interested enough in gaining that additional 5% market share to cooperate.
Where do I sign up as a developer?
Standard Driver Model? (Score:5, Interesting)
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."
Driver Petitions (Score:1, Interesting)
if i have a device that isn't supported by linux yet and i want the company that made it to let linux devs in on the hardware specs, my emails/calls won't mean SHIT to them. if there are several hundred signatures behind a petition for them to let people develop linux drivers for their product, on the other hand, maybe they'll take it more seriously.
Re:Standard Driver Model? (Score:2, Interesting)
Re:How many (Score:5, Interesting)
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?
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.
Re:seems like a good idea (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't include any hardware that there isn't a driver for. If Logitech gives us a mouse that will work with Linux, they shouldn't not release the specifications.
Re:How will the NDA work ? (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).
I have had trouble with a PVR-500 card in linux support. They changed hardware, but did not release full specs so the linux driver is lagging. People with access to the specs don't seem to care about making the driver work properly, so we are screwed. People with access to the specs are probably under NDA and can't release info.
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.
Re:Standard Driver Model? (Score:3, Interesting)
Re:How many (Score:5, Interesting)
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...).
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.
Re:Wonderful (Score:2, Interesting)
This past summer, I called a few of the major scanner companies such as Visioneer, Mustek, and I believe one or two others asking if anyone marketed a scanner that had linux drivers ( I wasn't asking about scanning software as I was planning to use the GIMP ).
Nobody made a scanner that had linux support 'out of the box' at any price.
The support people that I talked to appeared to have a disconnect with the driver realm also such that I speculated that a third party may have wrote their windows drivers.
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: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.
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 Epson models actually use third-party components for which no specs are available.)
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:How many (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 found one that doesn't work so far but I have yet to see any manufacturer list Linux on the box.
Re:Wonderful (Score:1, Interesting)
That's not true. There are several Linux drivers that, while being FOSS, are covered by NDAs. They're easy to spot as half of the code looks like this:
#define MAGIC1 0x5345987def
The BSD people aren't willing to accept NDAs which is, for all intent and purposes, like letting the hardware company shove an umbrella up your ass and open it.Glass
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:Wonderful (Score:4, Interesting)
Re:seems like a good idea (Score:4, Interesting)
Re:How many (Score:3, Interesting)
Re:Users need software freedom for all their softw (Score:2, Interesting)