5 ms·
Win32 is Linux's only stable ABI.
by snarfy 1mo ago
Win32 is Linux's only stable ABI.
- somat 1mo agoA fair statement, but a stable ABI is only needed when you don't have the source. Seeing as most of the value proposition of Linux is that having the source is good, I find no fault in an unstable ABI.
- M95D 1mo ago> a stable ABI is only needed when you don't have the source > 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.
- somat 1mo agoThat is mixing up a stable ABI vs a stable API. 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.
- M95D 1mo agoIt's the compiler too. I recently found out that kernel 6.6 can't be compiled by gcc 15. So, even if you have the source, unless it's extremely simple, at some point the current toolchain will refuse to build it.
- avadodin 1mo agoSource available is of little use for many of the current breed of languages and libraries. Even standard C support is starting to break down as incompatible "standard" newC is being pushed because some C++ guy didn't like K&R function definitions. Linux's remarkably stable kernel ABI is the only reason we can still use a lot of unbuildable dependency hell stuff on Docker containers.