“That scruffy beard… those suspenders… that smug expression… You’re one of those condescending Unix computer users!”
–Wally, Dilbert, June 24, 1995.
It’s not easy to pin down the exact date of the birth of OpenSolaris, but it’s really easy to nail the date of its demise: Friday, August 13, 2010. This was the date a leaked Oracle internal memo was released on the Internet: a memo that effectively announced the end of the OpenSolaris Project, just over five years after the general release of the OpenSolaris code and 830 days after the first official release of an OpenSolaris distribution from Sun Microsystems.
The life of OpenSolaris may be relatively brief, particularly compared to the decades venerable Unix has been in existence. But its tumultuous history serves as an important lesson in how not to manage an open source project. More importantly, it raises questions about the long-term viability of the Solaris operating system itself and, by extension, the entire Unix pantheon of operating systems.
OpenSolaris was conceived as early as September 2004, when Jörg Schilling and two other community members met with 440 Sun developers in Santa Clara for an initial summit. There are varying versions of what happened at the meeting, but the end result was clear and public: The pilot program was soon announced and the Common Development and Distribution License (CDDL) was submitted to the OSI for approval in December that same year.
Many people, myself included, saw the ratio of Sun employees to outside community developers (about 150:1) as an early sign of the way things would work with OpenSolaris: Sun Microsystems would heavily manage the community in a top-down approach. This approach can work, but the balance is tricky: too heavy a hand, and the community members will revolt or leave. Too light a hand, and a project can potentially diverge from the commercial interests of the corporate sponsor/manager.
You can tell a lot about the real motivations of a corporate sponsor of open source projects by its position in this spectrum. If the bottom line is its big motivator, then it’s command-and-control all the way, no matter how many community platitudes it spouts.
There have been observations that OpenSolaris sputtered because of languishing community strength. That simply seems untrue. The OpenSolaris was chock-full of talented and energetic members — but no amount of talent will make a project prosper if the leaders of the project aren’t listening.
One significant example of this corporate deafness was Project Indiana, the project spearheaded by Ian Murdock of Debian GNU/Linux fame, who joined Sun in 2007. Indiana was Sun’s effort to create a binary-based “distribution” from the OpenSolaris Project that IT shops around the world could download and evaluate. Indiana would provide a single point of download, as well as be a regularly updated version of OpenSolaris.
OpenSolaris 2008.05 was the first Indiana-based distribution from Sun, and the name of the release caused serious animosity in the OpenSolaris community, particularly members involved with other flavors of the OpenSolaris Project, such as BeleniX or Nexenta. Participants in those projects were none too thrilled that the final build to come out of Project Indiana was named “OpenSolaris”–effectively usurping the “official” moniker for Sun’s use and marginalizing those other flavors. This is analogous to Linus Torvalds declaring that only one Linux distribution could be called “Linux.”
There were some things Sun did right: There was great technology built in OpenSolaris, which was shared with other Unix-like operating systems. And the commercial Solaris OS was commoditized and made available on Dell and IBM blade servers, thus broadening the user base for Solaris in one broad stroke.
But through it all, Sun would maintain a tight hold on OpenSolaris, which would eventually be the cause of OpenSolaris’ death. Once Sun’s acquisition by Oracle was complete, Oracle found itself with an almost completely self-contained project that, thanks to the rigid controls, it could do with as it pleased.
As the world saw last month, what pleased Oracle was folding the community aspect of OpenSolaris and releasing the CDDL code whenever it wanted. A free edition of Solaris will live on in Solaris Express, but as an open source project, OpenSolaris was dead.
The problem was Sun
The end of OpenSolaris raises questions about the viability of open sourcing existing projects, but history has demonstrated that open source communities work very well when effectively managed. The specific problem OpenSolaris had was Sun itself. The goal of OpenSolaris was also misdirected: Sun repeatedly marketed OpenSolaris as a being a better Linux. Perhaps it should have instead focused on being a better Unix.
With a tactic of forced competition with Linux, Sun made a strategic mistake with OpenSolaris. It immediately put the project in a position to be compared with Linux distributions, where it was found lacking in key areas, which made Unix users take OpenSolaris less seriously. While objectively Unix and Linux can handle many of the same jobs, try telling Unix folks that. Once lumped in with Linux, perceptually the Unix community regarded OpenSolaris (and its commercial “parent” Solaris) as minor, bit players in Unix-land. That probably was not a fair assessment, but it happened nonetheless.
There have been some rumblings about the death of OpenSolaris as a precursor to the inevitable decline of Unix operating systems in general. That’s pretty much not the case, since OpenSolaris was seen as a detached experiment in open sourcing Unix rather than a mainstream Unix flavor. Its passing will not harm the trajectory of Unix in the slightest.
And, as much as it will pain OpenSolaris developers to hear this, Solaris will likely continue just as before. The overabundance of Oracle-employed Solaris developers will make darn sure of that outcome.
No, the fates of Solaris and all the other Unix versions may depend on how well each platform can adapt to the recent shift in IT focus to cloud implementations. With Software as a Service apps being built on the cloud layer, the operating system layer is becoming less and less important in the server room.
Smart Unix vendors are putting their R&D budgets into cloud integration, such as end-to-end stack solutions, which customers can just plug in and run. These are the types of deployments Linux vendors are heading toward, and Unix vendors that can also get into this market should do very well.
The loss of OpenSolaris is not without its lessons, but it will not determine the final destiny of Unix.