Brian Kernighan on the origins of Unix
Brian Kernighan on the origins of Unix
Posted Jan 18, 2022 18:36 UTC (Tue) by mfuzzey (subscriber, #57966)In reply to: Brian Kernighan on the origins of Unix by karim
Parent article: Brian Kernighan on the origins of Unix
However I think there are other factors at play in your examples.
Android: hardware was a huge factor too. The Android OS would be useless with appropriate hardware and that is still difficult / impossible to fully open source and even harder to develop in a community manner.
Now that suitable hardware exists there are projects building open source, non AOSP based, operating systems for them. They will probably never become mainstream, just as Linux isn't and will probably never be mainstream on the desktop but they do exist.
I also think Android wouldn't have succeeded as well as it has if it hadn't been open source, even though it definitely isn't a community driven project.
Furthermore Android had specific time to market pressures (to have a chance of avoiding Apple dominating the market and Microsoft taking the rest).
ChromeOS: hardware too (though you can run it on a PC so not entirely). But also the chromeOS web centric model relies on huge Google data centres that aren't really reproducible outside of huge companies.
GCC / LLVM: I think this was more a question of the incumbrent being less nimble. GCC, as the dominant OSS compiler saw less need to innovate and, because they had a large existing code base doing so was harder. This happens in the proprietary world too where innovation is often more likely to occur from a new entrant than a large existing player.
But I think where the open source community has really suceeded is in the development model rather than particular technologies.
Back in the 90's many people thought the future of computing would be building systems from sets of commercial , closed source, components. That was the model Microsoft technologies like ActiveX, OLE, COM/DCOM etc were supposed to enable.
That failed to materialize and most new languages / frameworks today are non starters unless they are open source.
For many if you can't get it with "git clone" and no jumping through hoops it doesn't exist.
Sure source availibility isn't everything, and isn't the same thing as community (the point Andy Rubin makes) but, when the source is available with no community it is still possible for a community to form later (by forking if needed). To some extent this happened, albeit temporarilly, with Android with early "community" Android forks like Cyanogen actually bringing significant new features that ended up becoming available in official Android only later (stuff like tethering and permissions modifications come to mind).
