Linux probably also had good timing while the Unix wars were fought.
In retrospect I really liked BSD for a lot of the ways it did things (more stable, excellent long-term backwards compatibility).
https://en.wikipedia.org/wiki/UNIX_System_Laboratories,_Inc.....
I'm wondering if it had a detrimental effect on adoption of *BSD, and thus increased Linux popularity at this early and critical time.
I think another issue is that linux added new features rapidly which probably helped adoption.
Linus has said as much[1]: "If 386BSD had been available when I started on Linux, Linux would probably never had happened."
Commercial Unix running on expensive hardware (and software) was the key opening for Linux, not the underpowered bit. Linux on X86 took a while to catch up performance wise.
The obvious thing for Google to do is to use this in Android, and this will solve a number of big problems for them (specifically, binary-only drivers and a better security model). They might even have some success in the server or desktop spaces as well.
I worry a bit that Linux will be the next Firefox.
If by this you're referring to their promises of a stable driver ABI, I can't understand what problem this is supposed to solve compared to Linux. There are plenty of binary drivers already shipped on Linux. IOT device vendors don't care about a stable ABI because they just pin to their kernel version. Android device vendors don't care because either way they will stop updating their kernels after a number of years. Enterprise users don't care because they also pin to a kernel version and backport what fixes they want.
It also does not seem to solve any problem for Google because they still have to make the same stability/support promises and deal with the same accumulation of legacy code either way. Yes, this is necessary to stop fragmentation but the problem is nothing really changes here compared to what they would do if they were going to take on the cost of backporting Linux kernel fixes. The only realistic cost saving for them I could see is if the greater stability came from reducing the total amount of hardware that is supported compared to Linux. Which makes sense for them but at the same time completely eliminates the possibility of them ever seriously touting this as a Linux replacement.
This one seems like a big problem to me. Maybe the handset manufacturer doesn’t care because they already made their profit, but this pushes the support burden onto app developers (including Google itself) who have to maintain support for these old Android devices that the manufacturers don’t care about.
This seems like a real issue to me, is there something I’m missing?
Back on topic though, I think it's just easier from an engineering perspective to maintain a stable ABI than it is to maintain a set of blessed kernel versions.
An ABI is something that can be reasonably well-defined and has a clear scope, whereas if you just say that you support kernel versions X, Y and Z, then who knows what weird undocumented behavior you'll need to maintain.
https://lwn.net/Articles/771974/
Also some vendors such as Sony have standardized kerbel versions across many devices & publish kernel major version updates for a range of devices (in Sonys case called the open device program).
But in my opinion, the second most important feature of Linux is in fact its ability to change large parts of the kernel when and if needed. And do it very very quickly.
And this something microkernels cannot do. They are just slower when doing major changes that touch many parts of there OS.
However, core components such as graphics, file systems, hardware devices, etc. are moved into userland, so in that sense it follows the microkernel idea of putting as little as possible in the kernel itself.
Personally, I love the design, and hope it takes off. We really need to get away from letting kernels and devices have elevated privileges in an OS.
As far as I'm concerned, Tanenbaum won the monolith/microkernel debate — Minix 3 is a true microkernel, and is currently a popular niche OS — and the success of Linux does not diminish the argument. (The infamous failure of GNU Hurd doesn't, either.)
Isn't it the most widely deployed operating system in the world? It's embedded in basically every Intel CPU
Without a hate figure like Steve Ballmer net relative momentum will decline. It just happens that so many other big players joined the band wagon and contribute, that you don't notice that relative decline.