Hi,
When the same program works on one version of an operating system but
not on another, there's nothing to ask. The operating system has
clearly failed to provide a usable interface.
We don't want stable interfaces (not quite yet, maybe in time). Windows
may have more stability in this regard, but the down side is you end up
stuck with bad interfaces that you cannot change due to 'compatibility'
issues. Users of these interfaces then start writing there own kludgy
workarounds. A mess.
Linux IMHO, has a different view. If an interface is broken don't try
and live with it but fix it. If this breaks things downstream so be it,
in the OSS world fixing things is not so hard. The problems are with
closed sourced entities where those changing the interface cannot fix
the closed source.
Lets be specifc - Most of the issues you refer to (nivida, vmware)
relate to the kernel. Here developers may change some interface, but
such changes are internal to the kernel, like drivers. In this case
those changing the interface fix the driver so the end shot is all is
still OK. They cannot do this for closed source stuff, which is why such
things are disliked and distros like Fedora do not support them. A quote
from Linus I recently read
"Asked by Zemlin why the Linux kernel does not have a stable device
driver application binary interface, Torvalds said, "We really,
really, really don't want one. The main reason most people want a
stable ABI [application binary interface] is so that they can have
their binary drivers and not have to give out source. They don't want
to merge that source into the stable kernel or the standard kernel.""
I for one agree and do not want the kernel developers to stop changing
(improving) things just to provide a more stable interface to external
closed source stuff drivers etc. If those closed source providers want
to support linux, they either keep up with the kernel developers (which
they could if they wanted, kernel release candidates are always
available before release) or they allow their drivers to be OSS'ed and
placed in the kernel, where they will be maintained 'for free'.
One day kernel development might slow down, but I don't want that to
happen prematurely and for us to end up with bad interfaces.
Chris