"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
"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."