Solaris was more stable in the mid-90s but that advantage had flipped by the turn of the century. It was an order of magnitude more expensive to support, especially at scale because Linux was far ahead on packaging and configuration management by 1998 or so, which in practice meant that no two Solaris boxes were the same unless your organization was willing to spend a lot of money on staffing.
Solaris 10 was intended as a catch-up release but the package manager took years to mature. I remember getting racks of systems in the mid-2000s where simply running the updater on brand new servers rendered them unbootable. By then the writing was on the wall.
SPARC was similar: the hardware had some neat aspects but what they really needed was the equivalent of a first-class LLVM backend now. Statistically nobody was hand-tuning assembly code to try to get it to be competitive with x86, especially since that meant not only your own code but most other libraries. The reason ARM is doing so well now is that two decades where the most popular computing devices are phones means that you can just assume that anything popular will compile and run well on ARM.
Yep packaging was a nightmare. The fix for a bug in cron could require you to apply a kernel patch and reboot. But not if you had already applied a different kernel patch beforehand for some specific hardware, but which wasn't available except for particular hardware. But if you just install the patch it may succeed! But it didn't really apply, because the solver that figures out your patches ran separately and doesn't run fast enough to be part of the patch process but the patch has its own script that checks whatever separately to determine that. Oh and if you wait a week your process may break because the -20 version of the patch doesn't fix your problem anymore but it superceded the -12 version you were using anyway. But whichever one you apply, you'll have to reboot.
Like, to update cron. Even though through 3 versions of the same patch id, it does and does not fix cron.
Pure insanity with no product focus on user experience.
Solaris 10 was intended as a catch-up release but the package manager took years to mature. I remember getting racks of systems in the mid-2000s where simply running the updater on brand new servers rendered them unbootable. By then the writing was on the wall.
SPARC was similar: the hardware had some neat aspects but what they really needed was the equivalent of a first-class LLVM backend now. Statistically nobody was hand-tuning assembly code to try to get it to be competitive with x86, especially since that meant not only your own code but most other libraries. The reason ARM is doing so well now is that two decades where the most popular computing devices are phones means that you can just assume that anything popular will compile and run well on ARM.