Manufacturing a community

OpenSolaris, the open source community that is bravely forging ahead in unchartered waters for the company formerly known as Sun Microsystems, now known as JAVA. OpenSolaris is the creating of Sun, designed, architected and implemented by Sun. But can a manufactured community work? And how long does it take to become a real community?

In thinking about how the OpenSolaris community came to be, I find the temptation to liken the construction of OpenSolaris with that of modern city planning: someone sits down, designs where roads will go, where houses will be, where shops will be, etc. The end result is carbon copied suburbs/communities with neatly mowed lawns, 2.5 kids per house, etc. Compare this to parts of cities that have grown organically, before we tried to plan everything: location, geography, access to water and transport formed the foundation for where communities grew. In some cases there have been extraordinary influences (gold rushes) that have led to a surge in local development of a community, only for them to be ruins today because the foundations were rotten. Compare how the core of a city such as London functions with that of its outer suburbs: readily available public transport, need for a car is low as many things that are necessary for day to day life are not far away, etc. The community has grown and built itself up in a way that enables it to function. In contrast, modern communities are designed around an expectation that people will go there and function in a specific way (ie drive a car) rather than evolve. To visit a city with history is akin to visiting a living organism, whereas those communities that have been created feel "stale" by comparison.

Step back to OpenSolaris. Someone came up with a grand plan for how OpenSolaris would be built, with communities, community leaders and a bunch of process to match. Why? Because there was a perceived need to be able to present OpenSolaris as an 2-minute instant noodle style of dish: add some water, push the button and shortly thereafter, voila, baked open source community. Compared to all of the other significant open source projects, there has been little or no evolution. Leaders haven't emerged: they've been selected because of what they do or who they are at Sun. The structure within OpenSolaris has been loosely modelled on Sun: create communities that reflect the organisational structure. But here's the catch: for an instant bake OpenSolaris structure, was there any other way that we Sun folk could recognise and function with?

What is wrong with this approach? Well, where (for example), is the user community for OpenSolaris? Or is the user community simply the OpenSolaris community itself? Is there a developer community? Is there a kernel hackers community? What about a systems administrator community? Or one of people interested in appliances? Some of these do exist today, which is good, but similarly we have communities that are dedicated to single pieces of technology where they otherwise might not exist as explicit communities if OpenSolaris had grown.

The best example of this is SMF. No other open source platform has a community around what it uses to boot the system up into a state that it can be used. Does SMF need to be a community in its own right? Yes, it deserves and needs its own discussion forum, but SMF is a central topic for any OpenSolaris systems administrator and in part for some application developers too, although their involvements are quite different. As part of this consideration, it is important to acknowledge that every platform is different so maybe this construct is correct for OpenSolaris.

Part of this issue is that in the construction of OpenSolaris, thinking has been limited to communities. Community this, community that. Everyone wants to have or be a community. In contrast with other open source projects, there is no concept of "leaders" and communities form around individual products that are in general independant of operating systems. People gravitate to be around something that interests them. The last point is important to consider as there is only one product being delivered by OpenSolaris: OpenSolaris itself. The reflex action in OpenSolaris to support a group of people that want to do X is to say "you need a community to do that" - this puts the cart before the horse. For example, if someone came to OpenSolaris and wanted to port it to the ARM CPU, they'd be offered an ARM-OpenSolaris community. Sure, this gives them a great platform to do lots of wonderful thigns and share what they're doing, but for the peron(s) involved, it creates more infrastructure that they need to manage (web pages, leaders, etc) than what they're usually interested in at first: getting it to work. It could be argued that a community of people porting OpenSolaris to various platforms would have more to offer as people traded tips on how to get it working on their hardware (some issues in tasks like this are platform/machine dependent, others relate to the architecture of the operating system.) The catch here is that it is unlikely with the current OpenSolaris makeup for such a community to happen.

It is almost like OpenSolaris has been built to be a competitor of the existing open source communities, rather than being a participant of the open source movement/community as a whole.

If OpenSolaris was made up of living pieces of Lego and we dismantled the current building, would it put itself back together the same way as it is now? Would it even look the same? And dare we dismantle it now or in the future so that it can build itself up in the fashion that OpenSolaris (and not a group of architects at Sun) desires?


Good blog post Darren and nice that someone is asking the questions. Much of the community structure did indeed evolve thinking that everything was a community. With the introduction of SCM privileges later on with projects, and the limitations of the web applications, I think we probably have unnecessarily complicated things. I'd like to think that things would be quite different if we tried again. I've certainly felt it's massively different to other open source communities I've been involved in, and that at times we've created far too much bureaucracy for our own good. However, I think you probably need to draw the difference from a bottom up community (where no code existed at the start) and a top down one.

Posted by Glynn Foster on August 26, 2007 at 07:38 PM PDT #

Working as an outsider with the OpenSolaris community can be difficult. It is hard to get in and it's hard to figure out what's going on.

The main place I'd think to look is opensolaris-discuss, but that list is just too much noise to bother to follow. The problem is, where else would I go for general code discussions (opensolaris-code exists but doesn't seem to have this kind of thing going on). I'd like to help but the barrier to entry is high.

Even when submitting patches, it can take a _long_ time for stuff to get put back. It was around 2 months for a simple patch to get included into nevada. (I can understand why due to the testing, but man, it's very discouraging to sit and wait, and wait and wait.) I ended up wandering off to other things instead of continuing to play.

On my blog:

Posted by dan sinclair on August 27, 2007 at 01:29 AM PDT #

Good post, Darren, I think you've hit the nail on the head. Coming from the FreeBD community with a good number of years of participating in the Solaris community under my belt, the OpenSolaris scene still feels very strange.

One example; nominating someone as a core contributor. Doesn't that tend to speak for itself in other places?

OpenSolaris is strange enough that I still don't really understand how to get involved and feel involved, even though I've been lurking since its inception.

Posted by Ceri Davies on August 27, 2007 at 04:58 AM PDT #

Post a Comment:
Comments are closed for this entry.



« June 2016