Well, I am talking about a source level API, so I don't see your point really.
What makes API so much different from ABI? In my experience breakage occurs not at format ABI/API level, but at level of semantic: old driver presume that something is done in some specific way and it does not work in exactly this way after small fix in kernel (I've personally seed cases where driver stopped working with NP4SP5=>NT4SP6 and XPSP1=>XPSP2 upgrades) - at that point the only solution is some person who can maintain driver... and if you have such person why do you need stable ABI or API?
Plus, I disagree with your example.
How can you disagree with truth?
The vast majority of drivers did work between Windows versions.
The wast majority of drivers work with Linux out-of-the-box. Speaking as a Linux user.
I was asked to troubleshoot a Debian Lenny image on a new batch of POS machines. Well, guess what, Lenny's kernel 2.6.26 does not support the network adapter (Intel 82567LM-3).
How is it different from my example above - where Windows XP SP2 broke drivers for Pinnacle DV500?
So, WTF am I supposed to do?
You know the answer - you just refuse to resign yourself to it.
Should I perhaps install a newer kernel version?
Yes. Either that or ask your vendor for older motherboard.
What about security updates?
What about them? Latest version of kernel always have the latest version of security updates applied - it's up to your distribution to package them.
Remember that bug in driver can make your system volnerable (case to the point - and
conveniently it's about e1000 as well) so there are only two ways to
1. Use drivers from your distribution kernel (and forgo latest and greatest hardware), or
2. Use latest and greatest version of kernel (and live with possible bugs).
Both approaches don't need any stable API or ABI...
P.S. Infromation from Windows campus agrees with me: substantial percentage of problems with the (in)famous Windows (un)stability are caused by drivers.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds