Linux.com
Everything Linux and Open Source
Tainted love: proprietary drivers and the Linux kernel
By: Joe Barr
In that same email, Marc went on to explain "Unfortunately Linuxant cannot release the source for the proprietary portions of the Conexant HCF and HSF softmodem drivers, because it does not own these parts and the terms under which they have been licensed from Conexant prohibit it." He added that " We have tried to attenuate the inconvenience of these restrictions by isolating the proprietary code and releasing source for all operating-system specific code, so that people can rebuild the modules for any kernel."
We asked Marc if he felt this situation would be played out in a way which would keep everyone happy and allow Linuxant to continue to provide Linux users with drivers they would otherwise not have. He told us "Hopefully yes. The political situation is not easy but we will continue to work hard to find reasonable compromises that both proprietary & free sides, (and especially the average Linux user) can live and be happy with, and keep delivering badly needed drivers / hardware support that would otherwise be missing for Linux.
Why the tainted label?
Speaking of Linux users and the free software side of the issue, we emailed Linus Torvalds and asked what should happen when a proprietary driver is loaded in Linux. He replied:
Nothing much.The code sets a "tainted" flag, which will affect all subsequent kernel fault reports, so that developers will know that the system had been using a binary-only module (this was brought on by the fact that a _lot_ of time has been wasted trying to debug problems which later turned out to be triggered by binary kernel modules. The most common of which has been the nvidia 3d-acceleration driver, which has one).
There are some internal kernel interfaces that aren't exported to non-GPL modules, but they are _really_ internal, ie no normal module should need them.
We also asked Linus what users should do if they see the "tainted" message appear as a module is loaded. He replied:
Nothing. It's a warning that kernel developers probably won't care much about problems reported that happen afterwards, and that if you have any kernel issues, you should see if they go away by _not_ using the binary module, but there is really no action otherwise needed.