OpenSolaris - Open & Getting More So
By webmink on Aug 20, 2008
I got a comment this week from someone asking why OpenSolaris didn't accept commits from community members. The fact that a reasonably well-informed individual could ask that question suggests there are some misunderstandings that need clearing up. I've been investigating the current status.
First, the question itself is wrong - OpenSolaris accepts commits from outside Sun. Both Subversion and Mercurial have been available on OpenSolaris.org for a couple of years now so that projects there can host their source code. Indeed, one of the significant new-code updates in OpenSolaris - the integration of ksh93 - was accomplished mainly by Roland Mainz and his sponsor April Chin with support from a range of community members, who put in a huge amount of work and achieved integration into the OpenSolaris code in build 72 in August 2007.
Multiple projects are being developed in the open on the site with source code repositories out there using one or the other. Individual projects grant commit rights using whatever method they choose. There are multiple examples of non-Sun people having direct commit rights on projects - one that comes to mind is Shawn Walker on IPS before he became a Sun employee.
While many of the code groupings in OpenSolaris (consolidations) have been publishing source code for a while now, the version control systems (VCS) used by some of the OpenSolaris consolidations are still inside the Sun intranet at the moment, having completed their move from the old closed system to Mercurial (with much help from Richard Lowe). Changes to those must be done by a Sun volunteer - this is what the sponsor program is for. The outside person can work on the code (for the "ON" consolidation, using the Mercurial mirror repository that has been available for about a year), make changes, test, do a code review in the open, and so on.
The Sun sponsor is needed to update the bug tracking system inside Sun (although we now have a public one that many projects are using) and do the actual putback. The request-sponsor table lists the 600+ contributions offered to date via the sponsor program and their status (~43% integrated; ~20% in progress).
ON has transitioned to using Mercurial as its VCS as of this month. The tentative date for ON to move its VCS to the public internet is the end of October. Companion CD and JDS have been outside since 2006 (they use Subversion). G11N has been outside since 2007 (they use Mercurial). The new install code has been outside since it started; it's been developed in the open. Publications has a gate with source for four books so far (opened this Spring). I didn't get status reports from some of the consolidations, most importantly SFW, and I think it's important from them to move as soon as possible.
The summary is that OpenSolaris has been accepting commits from community members pretty much from the moment the source was published. Of necessity there were Sun employees inserted in the flow when the project opened because the VCS in use was closed source and internal. In the years since then the process has gradually been getting easier and easier. Having the gates internal to Sun certainly hasn't helped growth, but it was unavoidable. That is finally getting fixed.
The Sponsor system itself is actually a great idea and is now working better than ever before. Like Jim I think it should be retained - and populated with experienced developers regardless of employer - even when all the gates are publicly accessible. Even in the world of Linux it's hard to get started as a contributor and the Sponsor system provides a great pathway.