Still More Eclipse Development Process Discussion

On March 22, I will be presenting my revised edition of the Eclipse Development Process to the Eclipse Board of Directors for their approval. I’ve been discussing the upcoming changes in this blog, and in a handful of bug reports, so I’m pretty comfortable with the ideas. But like many things in life, the delivery date has snuck up on me and I find myself scrambling a little to get all the words down right.

As I said, the ideas are all out there and I’m in a process of wordsmithing it all at the moment. The original document was built in the days before XHTML and stylesheets were popular, so I’ve been trying to fix up as much of the markup as possible while I’m at it while trying not to disturb the content any more than necessary (so that the viewcvs diff remains at least a little useful). I’ve tried to add annotations in places where significant changes have occurred. You can turn annotations on by clicking the appropriate link on the right side of the page. It occurred to me to let the document use more of the screen. Right now, it’s crammed into a relatively narrow band down the middle of the window. But then I thought of Ward’s TenWordLine and decided to leave it alone.

There are three major changes in the document.

First, I’ve removed the notions of Container- and Operating-Projects. Now we just have projects. All projects can opt to either have code or not. Projects can have downloads, builds, websites, etc. or not. Projects can opt to do roll up builds of sub-projects. I have also added some words that attempt to actually define the term “project” and have taken steps to deformalize the use of the term “sub-project” (a “sub-project” is simply a way of talking about a project that has a parent). I’ve talked about this particular change at length already.

Second, the notion of Incubators is made formal. Incubators do not do releases. They do not graduate. They do not require continuation reviews (or reviews of any form). Incubators remain perpetually in the Incubation phase. I have also already blogged about this.

Third, I’ve made an existing project creation loophole formal. New projects can be created directly from a restructuring review (I’ve also consolidated Move and Restructuring Reviews) without going through the proposal and creation phases under certain conditions (the scope must be preserved). This one, which came up as a side effect of Bug 241041 and the recently-announced Mylyn Restructuring, is potentially one of the more controversial changes.

There’s other less significant changes, like the elimination of the notion of a review call in favour of a “review period”. There’s nothing to prevent a call from happening, but there is no mention of in the process. I’ve also acted on some excellent suggestions for some wording changes in the section on project leadership.

The original document uses capitalization similar to what you might find in a legal document. I am inclined to change it to instead follow more common language rules. This will mess up the diff, so I may just put that particular exercise off for a while; I don’t believe that changing the capitalization of the text will require further scrutiny from the Eclipse Board of Directors.