

Now, get any installer from Windows and try to run.

deb from an old Debian and try to run on a new Debian, it likely won't work. This means that distributed binaries will eventually fail to run. Unfortunately distros rarely keep around old libraries indefinitely.

Traditionally, Linux binaries aren't distributed with their libraries it's expected that the distro will place the libraries in the right version and in the correct place. I think the point is that the Linux kernel ABI is super stable, but the Linux userland ABI (meaning, the system libraries your program uses) has breaking changes. That is, Linux churns so much that a given program written today won't work in a year meanwhile, programs written in the Windows 95 32-bit era are guaranteed to never change again. I think I started thinking about this idea when I read the remark "win32 is the stable Linux userland ABI".
