Microsoft is backwards compatible to an insane degree. Which gives you stability but not consistency.
OSX is consistent but Apple throws out backwards compatible features every other year, so not really stable.
But for users, it doesn't help if you bought a tool last year and it gets non functional because Apple removed or tightened down a function in their OS.
You can only hope than that the developers are still around and update it if that's even possible.
I think its significantly holding back desktop and laptop adoption. Besides all the distros and multiple desktop environments, all these permutations seems like its holding back applications. I use a cluster compute environment but my client is a mac. If apple can make a "unix" that runs applications well, why can't linux. (I can't code it but I would buy it)
I don't want a separate vm or container for each app I run.
I am asking this because just yesterday, I tried to run the steam streaming client and it kept crashing. As far as I can tell, because it must have been compiled with a different compiler or glibc than the rest of my system.
In fact, with closed source software I see a lot of problems in the Linux space which could be solved by recompiling, but that simply isn't possible. The reason behind all this is probably that Linux systems are just not build for closed source software as the devs keep changing things which would be required for that (e.g. stable ABIs).
Btw. does anybody know if there are tools out there to obfuscate code for games, so that they could release their code in a form which some distribution could compile, but which is too obfuscated for someone else to make use of it (e.g. steal the game)?