Wayne Beaton is employed by The Eclipse Foundation where he works as an evangelist, spreading the word and helping folks adopt Eclipse technologies. Wayne has extensive experience in object-oriented software development and is a strong proponent of refactoring, unit testing, and agile development methodologies. He is also the editor-in-chief of Eclipse Corner, PMC Lead for the Technology Project, Project Lead for the Examples Project, and an advisor for osbootcamp. In 1982, he received the prestigious Chief Scouts Award from then-Governor General Edward Schreyer. In 1984 his team was selected to represent beautiful British Columbia in the Kinsmen Voyageur Relay. In his spare time, he writes down meaningless accomplishments from his youth in a lame attempt to impress the reader. Wayne is a DZone MVB and is not an employee of DZone and has posted 64 posts at DZone. You can read more from them at their website. View Full User Profile

Exceptional Circumstances

08.22.2012
| 1942 views |
  • submit to reddit

Sometimes open source projects lose steam. This is the way of things. Developers get pulled off projects. Sometimes the resulting gaps get filled naturally. Diversity in a project is one way of making sure that gaps fill naturally: if the developers from one organization lose interest, then developers from other organizations step in. The more organizations involved in a project, the better; more involvement means more options when one of the contributors steps away.

But sometimes gaps don’t get filled. This is generally the case when the sole sponsor of a project steps away. Sometimes the right thing to do is to just terminate the project. The Eclipse Technology PMC, for example, terminates inactive projects in a regular annual purge.

Sometimes the right thing to do is to find replacement developers for a project. This may be the case, for example, if the project code is being used by adopters who have not yet stepped up to join the project. The Eclipse Development Process has a provision for this. Section 4.6 states (in part):

In exceptional situations, such as projects with zero active committers or projects with disruptive Committers and no effective Project Leads, the Project Leadership Chain has the authority to make changes (add, remove) to the set of committers and/or Project Leads of that project.

This passage is useful if there is somebody waiting in the wings to take the project over. I actually don’t like to exploit this power and reserve its use for truly exceptional circumstances. If there is somebody “waiting in the the wings”, then I have to ask why? Why are they waiting and not already participating in the project? It’s also not a particularly transparent or open process. When this sort of “rip and replace” happens, we do try to document what’s happening in public mailing lists. But they tend to happen fast (at least by our standards) and oftentimes include the appointment of committers who haven’t accrued the generally-required level of merit.

When we do invoke the “rip and replace” rule, I monitor the project for a few months after the change to make sure that they are adjusting well and working in accordance with the Eclipse Development Process.

Published at DZone with permission of Wayne Beaton, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)