Understanding OpenSolaris & Its Governance

Posted on May 25, 2010

I’ve discussed this many times before, but the reality still alludes many in our community. Therefore let me speak plainly such that you may understand.

OpenSolaris is not an open source project in the traditional sense. It can not and should not be thought of as such. If you attempt to do so you will only be frustrated and confused.

We have today seen yet another example of such a misunderstanding, when a community member wished to have a community leader punished by the OGB for failing (in his mind) to appropriately act in the best spirit of open source ideals. The specifics of the incident are irrelevant.

“OpenSolaris” as an “open source community” is little more than scaffolding around Solaris Engineering. There is a community structure, but its not really used. There is a governance and governing board, but they have no power and do nothing of significance. You can’t put back (ie: commit) to ON directly and must sign a contrib agreement to even submit code, which is only actually commited at the sole discretion of Sun/Oracle employees (typically your assigned “sponsor”).

Consider my analogy: scaffolding. Scaffolding allows you to navigate the exterior of a structure, to look in to the exterior windows on each level, to build things onto the exterior, or repair cracks and such, so on and so forth. Scaffolding doesn’t allow you to climb through the windows. You can knock on the glass and point at things, but you aren’t inside that structure… your on the outside, looking in.

So it is with OpenSolaris. Oracle owns the structure. We can’t see into its inner rooms, only those with windows to the exterior. We have the ability to look in, suggest or propose or create changes or additions, but we can only hand them to others who actually have access. We can repair the outside of the structure or create custom additions, but no one on the inside of that structure needs to be involved, since its no part of the primary structure itself. We can chat with other folks on the scaffolding, share ideas and fellowship, but we’re still on the outside. Those on the inside may choose to open a window to communicate with us, but only if they choose to do so.

Compare this with what you hear people say about OpenSolaris. I’ll include myself. We like to think we’re inside that building, along side everyone else. And we’re not. We are only as empowered as the good employees of Oracle choose to let us be, through their sponsorship. And this is never guaranteed anywhere… its purely based on their good will.

If you consider the constitution of OpenSolaris, it defines within it a social organization. The conventional word would be: club. And that’s what OpenSolaris is… a club. Little more, little less.

Whats important to you, my faithful reader, is to embrace the reality of this and then leverage it. If you dilute yourself, as I did for many years, into believing that you have some power or ability beyond influence, you will simply frustrate yourself and become ineffective.

What OpenSolaris provides is an amazing amount of access. The developers are available to you (CG/Project forums), the code is available to you, parts of the decision making process are available to you (ie: ARC, CR’s, etc), the support structure is available to you (bug databases), and more. You are not an Oracle employee and you are not in Solaris Engineering… but you can hang out with the folks who are. You can help them, you can talk to them, you can influence them, you can even send code their way. At the end of the day, they are going to do what they and their superiors (now that they have them, har har), instruct them to… but a little constructive and friendly influence can go a long long way in this world.

The harsh reality is, that if you don’t like this, you need to consider your options. Many of us have fought hard against it already and failed again and again and again, and only made enemies along the way. If you don’t like it, consider starting your own project based on the code. Build onto that structure all you wish. Nexenta has done it very successfully, so has Belenix, and Blastwave too. Those projects are successful and strong, but they don’t penetrate into the structure, that is, into Solaris Engineering. They stand independently.

One of the advantages of IPS will be that once a repo is added to your publishers list, you no longer thing about where the package comes from. Blastwave has traditionally provided add on packages in /opt/csw… clearly seperated from the OS. In the future, they will overlay the OS seamlessly. Therefore, consider a situation, such as above, in which the Sun version of some package isn’t what you wish it to be? Simply create your own version, publish it on your repo, and then go tell the community that a better version is available, please add it to their publisher list and install it. Viva la revolution. This, is the way to effect change, far more effectively than pounding and yelling through the glass.

I really have a desire to see the anger, bitterness, and cynicism die away from our great community. Consider the venerable Sun-Net-Mangers list… perhaps the best support list ever. Resources such as this have existed in the Solaris community for almost two decades, without Sun/Oracle involvement. We, as a community, have a lot of capability with or without Sun/Oracle. Lets not loose that can-do spirit. Re-kindle that passion, leverage the OpenSolaris community for what it really is, and make good things happen.