Nobody in GNU/Linux tests old binaries; only whatever they recompiled for their current distro, and screw the rest.
The kernel is pretty good about maintaining syscall compatibility.
> Microsoft had gone as far as emulating undocumented/undefined API behavior for misbehaving/buggy applications
Yeah, I believe Chen writes about code for SimCity. This is where Microsoft loses balance. They keep backwards compatibility to a fault. Literally a fault. At some point the kernel will no longer have `struct buffer_head`, at least not in the mainline, though it may be a while. That backwards compatibility will go away. Microsoft has been and continues to be bad about end-of-life for their software. They keep things around that should be gone, and remove or stop supporting things that should stay.
> Sad but true: Once you document a file format, it becomes a de facto API.