Posted Sep 30, 2004 14:12 UTC (Thu) by elanthis
In reply to: Mistake
Parent article: Driver core functions: GPL only
Because each minor kernel revision includes massive changes. It's foolish to expect a distro to QA a new kernel when it has such huge differences in it besides just updated drivers. You'd either spend sickening amounts of developer time for each kernel release, or you'd destabilize your users's systems.
Getting new drivers is easy. The driver could be delivered on a CD with the hardware. Web sites (like the hardware vendors' or a central Linux Driver Database) could contain simple driver packages.
As things work now, to release a usable driver, you have to package the driver for each kernel revision of each os release of each architecture of each os. That's a hell of a lot of drivers.
You don't really *need* ABI stability. Even just API stability would work. Then you could use something like DKMS, or another similar system, to install drivers. A simple "driver package" could be delivered on CDs or on a vendor's web site that let normal users click-and-install drivers; the driver would just be compiled and installed, initrd images updated, etc. When a new kernel is installed, the driver would just be rebuilt. That's only possible with a stable API, though.
A stable ABI would help when you want to install an OS on newer hardware. A compiler is generally not going to be available on the installation image, and even running a compiler in that environment is iffy at best. A stable ABI would let vendors ship a single binary that users could load off of a disk during installation to get support for such things as disk controllers or network cards that they need access to in order to install the machine.
Again, this is all assuming only GPL modules. I'm fine with the kernel devs legally banning non-GPL modules. Just make it possible to actually *use* the GPL modules.
to post comments)