Linux doesn't need binary compatibility as much as Windows, lot of source packages will compile right away with a vast array of different operating systems, typically excluding Windows but including Linux, and Linux is a few clicks away from running a fair number of MS-DOS and Windows applications, probably more than any single Windows version. Linux is king in compatibility.
Linux needs binary compatibility every bit as much as Windows. Even among people who are nerdy enough to run Linux on the desktop, very few are interested in compiling software to make it work.
I maintain a package for which the upstream source hasn't changed in about 23 years. I still need to intervene once or twice a year because something else changes in the distro to cause that package to no longer build or run.
As someone who still uses older software, thank you for your service! I still use Dia and xfig (because I’ve built up tons of “blocks” for them) and appreciate people donating their time to keep some ancient software going :)
Even if you get the source youbend up with incompatibilities. From compiler to libraries. (Especially when reaching GUI/Gnome etc.)
Systems like Solaris are a lot more restricted what sets of libraries they provide (not "package up everything in the world" as some linux distros) but what they provide they keep working. (I haven't touched an Solaris system in a long time, but assume they didn't start massive "innovation" since then)
That's great when you're distributing your software for free and giving away the source code too, but it's a complete non-starter for commercial software.
Considering that desktop apps nowadays rely on web counterparts to be functional, most commerecial apps will stop running after some time, regardless of whether operating systems keep compatibility or not.
Surely you've just outlined the very best reason to keep alive old applications that don't require a web counterpart!
Personally I want to keep GuitarPro 6 alive (There's no newer version for Linux because binary software distribution on Linux wasn't worth the trouble) and Quartus 13.1 (because I still write cores for a CycloneIII-based device and 13.1 is the last version to support that chip.)