[Updated Dec. 3] — Binary-only drivers will never work for the majority of Linux users, Harald Welte told hardware developers at a Taipei conference. The Linux kernel's lack of a binary interface and ever-changing programming interface make binary drivers impractical purely for technical reasons, he suggests.
Binary kernel modules have long inspired legal, philosophical, and even moral debate in the community. However, Welte focuses only on technical reasons to avoid binary drivers. Instead, companies should work with the Linux kernel developer community, through resources such as the Linux embedded mailing list.
Welte explained that unlike some OSes, the Linux kernel offers no ABI (application binary interface) for external binary modules. So, there is not really any way for a driver to exist outside of the kernel.
Furthermore, Linux is not intended to have a stable kernel-space API (application programming interface), Welte said. That means that if you build a binary module, there is no guarantee it will work with a later kernel, including even the most minor of interim dot releases. “Every minor new Linux kernel release can and will break the API,” Welte said.
Why doesn't Linux aim to offer a stable kernel-level API? There has been debate about it in the past, but Welte explains that the current system has been kept so that “if there's a technical reason to change the ABI, we can do so.”
Welte concludes, “Please don't do binary only Linux drivers. You will put resources into a driver that in the end, almost no one will be able to use.”
Harald Welte on binary-only drivers
More about the conference
The Freedom Hardware Engineer Conference, 2008 was held in Taipei on Nov 20-21. It was sponsored by the Taiwan-based IDEAS Institute of the Institute for Information Industry, and co-sponsored by the Linux Foundation and the Linux Driver Project.
The conference was billed as an opportunity for hardware vendors “looking for a cost-effective Linux driver strategy.” Other speakers included Brandon Philips of Novell SUSE Labs, and speakers from Asus and NTT Data Corp.
Welte gave two speeches at the event, including one very introductory one about Linux, and a second more interesting talk at which binary modules were discussed. Videos of two speeches have been posted on YouTube..
In July, open source leader and OpenMoko Lead System Architect Harald Welte agreed to be Via Technologies's Open Source Liaison. However, in speaking at FreedomHEC, he expressed only his own opinions, he was careful to point out. For its part, Via has a long history of developing binary-only modules, although it did hire Welte, and earlier this year started the process of opening up its chipsets with open source drivers.
Welte earlier gave a similar presentation at the Consumer Electronics Linux Forum (CELF) Embedded Linux Conference Europe (ELCE).
This article was originally published on LinuxDevices and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.