Before getting to the proposal I'd like to acknowledge the efforts of the community to adjust to
RTC. Blevins and Dillon helped to streamline the system with some changes to JIRA (I think Alan had
a hand in that as well) that improved the process and I think most of the folks in the community
reviewed patches and made a valiant attempt to work with the changes to the process. I think
overall we did improve communication but we also experienced some slowing (heck, a lot of slowing)
in innovation. As with all things there was some good and some things to learn from. Based on that
here is a proposal for a modified RTC that I think will help to address a number of issues and
capture the good.
*** Begin Proposal ***
Geronimo Development Process
Geronimo follows a model similar to Review Then Commit (RTC). Patches for new function are provided
by developers for review and comment by their peers. Feedback is conducted through JIRA comments.
The goal of this interaction is to solicit suggestions from the community and incorporate their
feedback as appropriate. In order for a patch to be accepted it requires the following:
* Needs to be reviewed by committers on the project. Others may comment but their comments are not
binding. The review may, but does not have to, include application and testing. The goal of the
review is to understand the technical attributes of the change as well as the assess other impacts
to the project as a whole.
* 3 +1 votes from committers on the project (1 of these committers needs to be a member of the PMC)
with no outstanding -1 votes.
* Any -1 votes need to be accompanied by a reason and a mutually agreed upon solution to the issue
raised.
* If the issues can't be resolved then the PMC can be called upon to settle the dispute and make a
recommendation.
* Issues are generally of a technical nature. However, issues may include other items like
usability, project cohesiveness or other issues that impact the project as a whole.
The goal of these guidelines is to facilitate timely communication as well as the fostering of ideas
and collaboration as well as innovation.
*** End Proposal ***
It is not my intention to make a list of "rules" to follow but rather to capture the best of RTC in
terms of communication as well as provide binding influence over the technical direction of the
project for both committers as well as PMC members and not create a hierarchical system. In the
case of dispute or problem resolution the responsibility falls to the PMC for resolution.
Please provide your input for this proposal. I'd like to bring this to the community for a vote
this week.