why should it NOT be fragmented? We don't use one OS. We don't use one programming language. We don't use one assembly language. We don't have one CPU design. Why would we have one GPU API?
Fragmentation isn't stable; the largest fragment tends to expand to dominate the market.
And we get the joy of Electron...
That is the problem right there.
Hence now we have ChromeOS as the Web, just give Chrome a couple more years with the current trend.
And OSes adopting the Linux ABI, or even running it virtualized, instead of caring for POSIX compatibility.
> adopting the Linux ABI, or even running it virtualized, instead of caring for POSIX compatibility.
So what happens when you want to use a feature that's not in pure POSIX?
I remember that quite a lot of the ugliness and insecurity of the original OpenSSL code was attributed to having #ifdefs all over the place to deal with weird and eventually dead systems.