No, your anecdotes do not constitute facts or
objectivity. More importantly, I'm not the person you
would have to convince, and the people who would need
to be convinced consider this argument over and done
with long ago.
Then why are you still arguing it? Why are your anecdotes somehow superior to mine (if you want to call an entire mainstream market "anecdotal" evidence)?
By accumulating a massive amount of cruft that they can never remove.
Yes, it's possible; it's also possible to run the old kernel in an
emulation layer to run older drivers, but that doesn't make it a good
idea. (Though that'd probably still be a better idea than attempting to
support the old in-kernel APIs in a newer kernel.)
No, and no. As a kernel developer (my day job) I can assure you that is not the case. And note I never said that you have to maintain ABI/API compatibility forever. Even operating systems with stable API/ABIs do change them from major release to major release.
The point is, the Linux kernel could successfully adopt a stable ABI/API without accumulating all of the "massive cruft" you claim is impossible to avoid and make lives better for their users. At the very least, providing an ABI/API they guarantee to be stable for some period of time instead of breaking things almost every point release.
And incidentally, if you need kernel ABI stability, you can also go run
RHEL, which backports changes from newer kernels while maintaining in
kernel ABI stability for out-of-tree drivers, within a given major
release. So for the support lifetime of that RHEL release, you can
count on ABI stability.
So in other words, there's a genuine need for a stable API/ABI and RedHat supports it, but you still think it's stupid and useless to have and there's clearly no need for Linux to do it, except RedHat has proven there is a market for it. Hmmm....
And, in practice, a shockingly successful one. There's very little
mainstream hardware left that the kernel doesn't have in-tree support
for. (No, that's not an invitation to enumerate the remaining
exceptions.) And even for a fair bit of nVidia hardware there's the
reverse-engineered nouveau driver, which is good enough for desktop
environments and light gaming on the hardware it supports
"Pay no attention to the exceptions; it's a complete success!" The exceptions are proof that it's not a complete success and yes, quite frankly, some hardware that is not widespread enough or is special to a given organisation doesn't belong in the Linux mainstream kernel. What would be the point of "accumulating all that cruft" after all...
However, for a production-quality Linux system, it makes more sense to
select hardware with in-tree drivers.
Right, because all of those Linux systems at DreamWorks and other places with nVidia cards in them aren't "production-quality"; oh wait...
And how many of those various crashes and other problems reported with nVidia systems are due to the rapid changes in the Linux kernel instead of the driver itself? You could argue it's hard to say without source to the nVidia driver, but that seems like a tautology at best.
It's fine that we disagree, but your assertions thus far are easily contradicted by the entire mainstream market (nevermind your own RedHat example) so sound kind of silly.