MPE and OpenVMS have easy answers about why they still perform in 2020. The operating systems drive essential business computing. Taking them offline means installing something newer. And something newer needs to integrate with legacy designs. It’s easy to see for these two environments. Sun boxes and SPARCstations get the same consideration.
Not so long ago, developers on a reddit forum kicked this idea around. Why not just use Linux, instead of Solaris? “Solaris seems like an inferior version of Linux. What makes it attractive to some sites?”
“I’d guess because it was what they used a while ago,” said another developer. “Solaris has some cool features like ZFS and DTrace. They were probably a selling point when they were exclusive features. But now you can get those features on other operating systems.”
There’s still the Oracle link that keeps Solaris alive. “If the rest of your stack is Oracle-based (Fusion Middleware, Oracle SQL, etc.), it makes sense to use Oracle’s operating system. I don’t know why people use Solaris over Oracle’s own flavor of Linux, though. Maybe because you want a Unix kernel instead of a Linux kernel? Maybe the Oracle apps work better on Solaris?
Solaris got enough attention that Sun invested “a significant amount of resources into developer and ecosystem support,” one of the reddit developers said. “It was the only Unix at that time (other than SCO UnixWare) to run on x86. And it was enterprise-ready well before Linux came onto the scene. That made it popular with schools, governments, enterprises, and other large organizations, which used Solaris as a platform to develop their own proprietary software.”
In short, Solaris runs legacy applications built for Solaris — software that still exists today.
When an application’s created to run on a Solaris box, it comes with a cost to move it from Solaris. This is the sticky nature of legacy computing. It keeps greying developers at work long after their creations have been novel or unique. “If an application is profitable and was originally written in the ’70s and ’80s,” one developer said, “you’re going to have to use programming languages and hardware from that timeframe. It’s either that, or start over. And starting over sucks.”