Views on software from Bryan Cantrill's deck chair

The liberation of OpenSolaris

As many have seen, Oracle has elected to stop contributing to OpenSolaris. This decision is, to put it bluntly, stupid. Indeed, I would (and did) liken it to L. Paul Bremer‘s decision to disband the Iraqi military after the fall of Saddam Hussein: beyond merely a foolish decision borne out of a distorted worldview, it has created combatants unnecessarily. As with Bremer’s infamous decision, the bitter irony is that the new combatants were formerly the strongest potential allies — and in Oracle’s case, it is the community itself.

As it apparently needs to be said, one cannot close an open source project — one can only fork it. So contrary to some reports, Oracle has not decided to close OpenSolaris, they have actually decided to fork it. That is, they have (apparently) decided that it is more in their interest to compete with the community that to cooperate with it — that they can in fact out-innovate the community. This confidence is surprising (and ironic) given that it comes exactly at the moment that the historic monopoly on Solaris talent has been indisputably and irrevocably broken — as most recently demonstrated by the departure of my former colleague, Adam Leventhal.

Adam’s case is instructive: Adam is a brilliantly creative engineer — one with whom it was my pleasure to work closely over nearly a decade. Time and time again, I saw Adam not only come up with innovative solutions to tough problems, but run those innovations through the punishing gauntlet that separates idea from product. One does not replace an engineer like Adam; one can only hope to grow another. And given his nine years of experience at the company and in the guts of the system, one cannot expect to grow a replacement quickly — if at all. Oracle’s loss, however, is the community’s gain; I hope I’m not tipping his hand too much to say that Adam will continue to be deeply engaged in the system, leading a new generation of engineers — but this time within a larger community that spans multiple companies and interests.

And in this way, odd as it may be, Oracle’s decision to fork is actually a relief to those of us whose businesses depend on OpenSolaris: instead of waiting for Oracle to engage the community, we can be secure in the knowledge that no engagement is forthcoming — and we can invest and plan accordingly. So instead of waiting for Oracle to fix a nagging driver bug or address a critical request for enhancement (a wait that has more often than not ended in disappointment anyway), we can tap our collective expertise as a community. And where that expertise doesn’t exist or is otherwise unavailable, those of us who are invested in the system can explicitly invest in building it — and then use it to give back to the community and contribute.

Speaking for Joyent, all of this has been tangibly liberating: just the knowledge that we are going to be cranking our own builds has allowed us to start thinking along new dimensions of innovation, giving us a renewed sense of control over our stack and our fate. I have already seen this shift in our engineers, who have begun to conceive of ideas that might not have been thought practical in a world in which Oracle’s engagement was so uncertain. Yes, hard problems lie ahead — but ideas are flowing, and the future feels alive with possibility; in short, innovation is afoot!

I’ve been tracking OpenSolaris for a while and I understand how open source can make a software product immune to the death of any one organization save the community, but one thing bothers me that you may be able to clear up.
What about patents. Key features of Solaris and OpenSolaris must have been subject to many patents within Sun. Oracle must now hold these patents and use them against the community, or other corporate sponsors to disrupt your efforts?
I don’t mean to be doom and gloom about this and forgive me if the answer is simple and I just haven’t done enough research. I’m just trying to understand if this is a real problem for OpenSolaris and potentially other open source projects started initially under heavy corporate sponsorship.

“The CDDL provides an explicit patent license for code released under the license. This means that you can use, modify, and redistribute code released under CDDL without worrying about any patents that the contributors of the code (including Sun) might have on the contributed technology. The license also includes a provision to discourage patent litigation against developers by revoking the rights to the code for anyone initiating a patent claim against a developer regarding code they have contributed.”

I recall interviewing with Adam at Sun, and of course speaking with you and he on many occasions regarding the DTrace port, before the late John Birrell took over that endeavor. I was quite amazed at the depth and breadth of knowledge the two of you possessed, as was I amazed with everyone I met on that team, Dan Price, David Comay, Keith Wesolowski… you all have a fantastic affinity for not only solving problems creatively, but for imparting your knowledge on others in an understandable and even fun manner. It’s been my pleasure to know you guys, and Oracle is stupid to have come to this unfortunate decision — especially if that has served as any kind of catalyst for the two of you leaving.

Back then when Sun decided to open the Solaris source code my first thought was that they where thinking way ahead: in case the company ceased to exist due to acquisition or folding one of its gems would survive outside it. Same for the Niagara designs. Thank you to whoever decided it.

“This confidence is surprising (and ironic) given that it comes exactly at the moment that the historic monopoly on Solaris talent has been indisputably and irrevocably broken”

BS. There are dozens of equally talented Solaris engineers still at Oracle, far more than there are anywhere else, so that’s still a monopoly. And I for one am glad to see the end of the fawning “rock star” culture that built up in Sun over the past few years around the ZFS and dtrace guys. Hopefully now that Oracle doesn’t have to pander to them anymore, some of their other top-notch engineers will get a chance to shine now.

I think we’re operating under different definitions of the word “monopoly”; in no way does my statement imply that there are not many talented Solaris engineers at Oracle — indeed, I count many of them as friends. (Indeed, it is out of empathy for them that I am so saddened by Oracle’s action.) Your further comment is absurd and doesn’t actually merit a response, but I find the insinuation that I was somehow preventing other engineers from succeeding too insulting to ignore: working with and developing other engineers is critically important to me, and my greatest pride at Fishworks was the incredibly broad, deep team that we collectively built — not only in Fishworks itself, but in the company at large…

I was once in a meeting with Sun’s CEO where he walked a group of us through how impossibly difficult it was to get Sun off the “contain and retire” vendor list – for ALL their products – which they were placed on for messing about with Solaris in the 1990′s before committing to x86 and open source. I guess Larry’s going to reexperience that. Those ignorant of history, repeat it.