Ted T'so writes an excellent analysis of Sun Microsystems' attempts to build a community around its Open Solaris project. In so doing, he ends up uncovering a much larger issue: The difficulty of getting community development around projects that are hosted and serve corporations.
But first, the critique:
...(I)f you run into a Sun salescritter or a Sun CEO claiming that OpenSolaris is just like Linux, it's not. Fundamentally, Open Solaris has been released under a Open Source license, but it is not an Open Source development community. Maybe it will be someday, as some Sun executives have claimed, but it's definitely not a priority by Sun; if it was, it would have been done before now. And why not? After all, they are getting all of the marketing benefit of claiming that Solaris is "just like Linux", without having to deal with any of the messy costs of working with an outside community.
Probably fair, but let's assume that Sun really, really, really wants to have outside developers contribute to Open Solaris? What's keeping that back (other than apparently poor developer tools, which he describes). As he writes in response to Brian Akers' distinction between "sponsored" (corporate) and non-sponsored communities:
We don't have a lot of precedent for projects who try to go in this direction, but I suspect they are skipping a step when they try to go to the end step without bothering to try to make themselves open to outside developers. And by continuing to act like a corporation, they end up shooting themselves in the foot.
Bingo. This is absolutely correct, but it's also hugely difficult, for a wide range of very business-y reasons. Corporations may well prefer to horde control of their projects because they think they know best (which is a very poor invitation to a development community), but they also crave control for reasons of indemnification and overall customer comfort. Customers like to hear that a company has 100 percent control of the software that they ship.
The ironic thing is that they also like to hear that there's a big community behind a project. This is one of Red Hat's primary selling points. "It costs less and does more because there's a global community behind it." That's a great sales pitch.
Any company that wants a true community to form around its software needs to let the community contribute to it, and not merely at the edges. A proper open-source license is a great start, but commit rights for outside contributors is the only thing that will truly make it a community project.
Looking around the commercial open-source world, it's hard to find these. MySQL, Zimbra, Alfresco, SugarCRM, JBoss, etc., all do the vast majority of their own development. Is "corporate" inimical to "community?"
What do you think?