Linux developer Greg Kroah-Hartman, who leads the development of several kernel subsystems including USB and PCI, admits that his January offer of free Linux device driver development was "marketing hype" -- but says it has brought companies and developers together anyway.
In a talk at today's FreedomHEC, the Linux device driver unconference, Kroah-Hartman said, "We have had 12 companies say 'yes please'." One resulting driver is already in the kernel, and five are in progress. About 80 people have signed up to help with drivers, and in an unusual twist for an open source project, not all are developers. Some volunteers are project managers.
"A lot of people volunteer their management skills and want to help the developer and the company," Kroah-Hartman says. Although one large OEM "wants everything they make supported," Kroah-Hartman says, most of the companies involved are small, and seek drivers for niche products including a serial over TCP controller for remote telescopes, a professional video product, and several data acquisition cards.
The development project now has its own Wiki at linuxdriverproject.org. Companies participating in the Linux Driver Project must commit to include the final driver in the mainstream kernel under the GPL, but through the Linux Foundation they're able to make the necessary documentation available under NDA. Most Linux drivers today are written under non disclosure agreement (NDA), Kroah-Hartman points out, because they're done by employees of the manufacturer under their employee confidentiality agreements.
While one developer of a competing open source operating system has criticized the NDA approach, developers are free under the GPL to use the Linux driver as the documentation for a new one as long as they don't copy the actual code. "The drivers are generally better written than the specs," Kroah-Hartman says.
While the number of drivers included with the kernel continues to increase, Linux developers have no desire to exclude a driver just because it's used by few customers. Kroah-Hartman has accepted drivers into the kernel for which only one unit of hardware exists in the world, he says. Having many drivers in the kernel helps developers spot situations where "You're unique just like everybody is" and move common functionality out of individual drivers to the core.
"We add 2,000 lines of code every single day, and modify 1,500 lines," Kroah-Hartman says, and adds that on average, Linux drivers are one-third the size of drivers for other operating systems. He adds that Linux supports more devices "out of the box" than any operating system ever has, supports more architectures than any other operating system, and with few exceptions supports most of the devices on most of the architectures. "Our end results are different, so maybe we're right," he says.