Versioned APIs in the kernel?
Posted Sep 9, 2007 17:45 UTC (Sun) by skybrian
In reply to: Versioned APIs in the kernel?
Parent article: LCE: Linux, hardware vendors, and enterprise distributors
The whole point of having a stable API that conforms to a standard is to support interoperability with other software when you *don't* have source for it. You shouldn't need to test that specific apps work. A regression test suite that shows that you conform to the standard should be enough. If an app breaks because it's not following the standard, fix the app.
This is how application API's and network protocols work. Why can't it work for device drivers?
Of course, due to the wide variety of devices and introduction of new kinds of devices, no single standard can cover everything and no standard will last more than a few years without being replaced. But it still seems feasable to define a driver API for each type of device and support it for multiple versions of the kernel, until it eventually becomes so old that it needs to be replaced. In a typical kernel release, some of the API's will change, but most should stay the same.
to post comments)