Linux driver development project bears fruit
On Linux, device drivers typically work out of the box or not at all. One core developer explains his plan to bring more companies' products onto the supported hardware list.
By
Don Marti, LinuxWorld.com
May 18, 2007 04:41 PM ET
- Share/Email
- Tweet This
- Print
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.
Comment