Upcoming OpenJDK infrastructure projects

The publication last week of our experimental Mercurial repositories heralds the first of many infrastructure projects that we hope to initiate, and in most cases complete, over the next year or so. Here’s the entire list:

2007/Q4 Code-review publication
Core community database
Public Mercurial forests
2008/Q1 Mercurial forest management
2008/Q2 Improved content publishing
Process tools
2008/Q? Bug database
Distributed build system

All dates are—naturally—somewhat approximate. In more detail:

Code-review publication A simple way to publish webrevs for all to see. Should accommodate the code review robot and similar internal (for now) automated tools. Should also collect diffs and send them in e-mail, for those who prefer that format. This project will help move more Sun engineering conversations into the open. (I’ve previously blogged about this, and there was some good feedback on the discuss list.) — 2007/Q4

Core community database Tracks Members, Groups, Projects, Mercurial repositories, and the relationships between them. Holds personal information including full name, e-mail address, ssh keys, etc. The first version need only support a command-line interface; a full web interface can follow later. Required for Mercurial. — 2007/Q4

Public Mercurial forests Master repository forests as well as group integration forests for JDK 7, and then JDK 6. Forest management need not be fully automated at first; i.e., it’s okay to require manual steps on the Mercurial servers to create and configure forests, though those steps should be scripted insofar as possible. — 2007/Q4

Mercurial forest management Enable Moderators of any Project to create and manage Project-specific repositories and/or forests, and to grant push rights to contributors. Manual steps on the Mercurial servers should never (well, hardly ever) be required. — 2008/Q1

OpenGrok Install and configure OpenGrok for the JDK 7 and 6 forests; support others later on. — 2008/Q1

Improved content publishing Something beyond today’s interim mechanism, in which a Mercurial repository full of HTML files is transformed by an XSLT stylesheet and then pushed to the web servers. A full wiki is probably overkill, but it should be possible to edit content both locally as well as in a web browser, for those who prefer that mode. Should support dynamic page content. — 2008/Q2

Process tools External versions of the internal feature-planning, interface-review, change-approval, and other workflow tools that the Sun JDK team currently uses to manage work on the various JDK code bases. — 2008/Q2

Bug database An open bug database usable by all contributors, not just Sun employees as is the situation today. Our basic requirements are pretty much the same as those identified by the OpenSolaris Community, so naturally we’ve been following their evaluation process with interest. In their most recent discussions (see here, and here) they seem to be leaning pretty strongly toward Bugzilla. — 2008/Q?

Distributed build system A Tinderbox-like service that builds OpenJDK forests on demand, or nightly, and publishes the results. Should allow for builds to take place on non-Sun machines for ports that Sun does not maintain. Target the JDK 7/6 masters to start, then expand to group forests, then to arbitrary developer forests. We already have an internal system which does much of this and so might be a good starting point—see Kelly’s blog on JPRT for an overview. — 2008/Q?

That’s it If we’ve missed anything then please do let us know, either in comments below or on the discuss(at)openjdk.java.net list. (If you haven’t already subscribed to that list then please do so before posting, otherwise your message will be discarded as spam.)


This sounds great, and it's nice to see an outline of where things are heading and what we have to look forward to. In the same breath, it's also a little depressing that some aspects are so far in the future but I suppose that can't be helped.

I suppose one thing I'd like to see seems fairly trivial but, in my opinion at least, would help a lot and this is a kind of 'how to get started' guide for new contributors (which pretty much includes anyone outside Sun) e.g. what's the best way to get started, where to look for low-hanging fruit to start off with, the SCA, etc. I know some of these probably exist, but having some kind of short guide would be really helpful.

Posted by Andrew John Hughes on November 06, 2007 at 04:47 AM PST #

I'm a minor contributor, but I've just started writing on a "How to contribute to the OpenJDK" presentation that I intended to have at a future JUG meeting in Stockholm, if there is a wiki or somewhere I can put it once it is done I'll gladly do so.

Posted by Lars Westergren on November 06, 2007 at 07:42 PM PST #

I'm so glad that people are thinking about contributing and want to learn more about what is required to do that! In parallel to the infrastructure changes that Mark described, we are writing a guide for contributors. In addition to most of the items requested above, we expect it to include descriptions of our processes.

Expect more details in the coming weeks. An initial draft of one or two sections of this document will be available for review at approximately the same time the Mercurial JDK7 repositories go live.

Posted by Iris Clark on November 07, 2007 at 07:22 AM PST #

Post a Comment:
Comments are closed for this entry.

This blog has moved to http://mreinhold.org/blog. <script>var p = window.location.pathname.split('/'); var n = p[p.length - 1].replace(/_/g,'-'); if (n != "301") window.location = "http://mreinhold.org/blog/" + n;</script>


« August 2016

No bookmarks in folder


No bookmarks in folder

RSS Atom