Linux's remarkably stable kernel ABI is the only reason we can still use a lot of unbuildable dependency hell stuff on Docker containers.
> A stable ABI is only needed when you don't have the source or you don't know enough C to fix incompatibilities with every new version.
There, I fixed it for you.
OpenBSD is sort of the poster child here, They notoriously do not have a stable ABI, I would not want to try and ship closed source software on obsd, it would be an absolute nightmare. But their API is very stable (insert counterexample of the recent pledge change here)
An interesting side effect of obsd changing their ABI fairly often is they are good at it(add comment about this is because it is a small self contained system with few users here), in Linux land an ABI change is a nasty, messy, multi year process with much wailing and gnashing of teeth, for obsd, it just happens. To misquote Raul Julia in Streetfighter "For you, the day the ABI changed was the most important day of your life. But for me, it was Tuesday.