Log in

Previous Entry | Next Entry

Interim GB 2.0

It's been a year since OpenJDK's Interim Governance Board was chartered by Sun Microsystems. The membership structure chosen was two Sun Microsystems employees, and three community members. My arrival at Sun Microsystems a few weeks ago changed that balance, resulting in an overweight on Sun's side, so the Interim GB had to figure out how to deal with that change.

I posted my blog post announcing the change of my employer to Sun Microsystems as soon as possible, which gave the Interim GB the chance to convene before I started at Sun, to discuss ways to fix the issue. We tried a couple of ideas out in our discussion in the Interim GB, some of which were discussed with the community on the #openjdk channel, as soon as I had announced on my blog I'd be heading for Sun.

The idea that had the most appeal for the Interim GB was to acknowledge that the OpenJDK Community has grown in the past year to include more developers outside Sun, by asking Sun to expand the Interim GB by two seats for the community, and appoint two new community members to fill those seats. So in IGB 2.0, Sun gets three seats out of seven, meaning Mark, Simon and me could continue to work on the Constitution representing Sun, together with Fabiane and Doug and two fresh faces representing the OpenJDK Community.

Since all of that was happening in the (now I know first hand, but that's for another blog post) extremely busy couple of weeks prior to Java One, the Interim GB discussed potential candidates to propose to Sun to add to the GB, but we didn't get the final list approved by Sun yet. So in the meantime, I won't be voting on the Interim GB, until the two fresh seats are filled by community members appointed by Sun, and I'll be clearing the backlog of minutes of our previous meetings, starting with the minutes from the last GB meeting discussing my change of status.

The careful reader has by now figured out that the Interim GB was chartered for one year, to create a Constitution and then disappear after the ratification of the Constitution, and the elections for the elected board. But there is no Constitution out there, yet. While we have discussed many fine points of what the Constitution for the OpenJDK project should cover, and what it should not cover, and had productive phone conferences and face to face discussions, it became quite apparent after a couple of months that the initial priority chain to finish the governance first, and then bootstrap the community around that self-governance model, was on its head.

So Mark Reinhold, Kelly O'Hair and other OpenJDK Members put in some heroic efforts to bootstrap the infrastructure for collaboration, and put core pieces like Mercurial in place, rather then to pen down a ratification process. Part of the motivation for that shift for me was founded in the need to work together with Sun while Sun undergoes massive (and slow, i.e. very careful) changes regarding its own infrastructure to be able to do its own work on the JDK in the open.

Having an increasing amount of the code out there made it easier for jpick and mjw to pull up the sleeves and experiment with new collaboration infrastructure on IcedTea, without having to wait for Sun to finish the much, much larger quest to migrate its development teams to Mercurial and (eventually) BugZilla. So pushing Sun to open up more code faster let us take the pressure off Sun's back to get everything right on OpenJDK immediately, while giving us something much less abstract, and way more attractive for GNU/Linux distributions than a Constitution to work on: The traffic on the OpenJDK distro-dev-pkg mailing list, where IcedTea development takes place, in two weeks is about the traffic the gb-discuss mailing list got in the past year.

Which explains why, despite not having a Constitution for OpenJDK yet, there is no hot controversy about it, as the focus over the past year on the "code" part of the project and the infrastructure around that is what the developers outside Sun hacking on the code wanted.

I started to speak about the necessity for Sun to shift priorities between bootstrapping and governance outside the regular IRC channels around the time Eclipse's Ian Skerrett wrote about OpenSolaris' troubles with its own, already bootstrapped governance process. At that point in time, the Interim GB could have still taken the existing interim governance guidelines, that have worked OK so far, and put them up for ratification in a slightly edited form.

But that would have meant asking the existing, largely Sun-employed membership to ratify a Constitution to govern itself, which is all nice and well, but given that the Sun-employed members already have internal governance mechanisms called "managers", it is massively more useful for the long term health of the OpenJDK project to first bootstrap a diverse community outside Sun around OpenJDK, for example through new ports being added to the Porters Group, and through Projects created through the OpenJDK Challenge, and then, with a significant membership outside Sun, decide how that community should govern itself, rather than to hope to create a governance model based on what works well for the current membership, that hopefully suits some idealized form of a future, significantly larger community. The small number of times the JCP has been reformed, despite providing seemingly easy ways to amend its "constitution", shows that once a governance model solidifies, it becomes really hard to patch, as everyone on the "inside" is invested in the status quo.

So, with that, we're starting round 2 of the Interim GB, with two more members outside Sun to be added to the GB soon, and the work to be spread out over more shoulders. And now please excuse me for a bit, I have to go back to writing up minutes ...