On Jan 16, 2006, at 10:29 AM, Rodent of Unusual Size wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

David Jencks wrote:

I also am not so sure that this magnitude of change needs prior
discussion on the list.  I've frequently made larger changes without
discussion of my specific code.  I've also broken lots of stuff at
various times.

Let's all come into agreement on the development model, then.

Apache historically has use two distinct models, called Review
Then Commit (RTC) and Commit Then Review (CTR).

Under the RTC model, all changes -- except to docco or minor
bug fixes -- need to be reviewed and garner at least three +1
votes before being committed.  Giving a +1 means you've applied
the patch and tested it yourself.  If a patch doesn't get the
requisite number of positive votes, it doesn't get committed.

Under CTR, any change can get committed at any time, although
major ones are supposed to follow the RTC model.  Committers
need to ask themselves whether the commit will spark controversy;
if so, they should follow RTC and get support first.

The advantages of RTC are code quality and team building.  Nothing
goes in that hasn't been tested by at least three people.  The
primary disadvantage is that its conservative approach tends to
slow down development.  Its enemies are self-interest and apathy;
supporters need to lobby for their work to be tested, and all
developers need to remember that they're dependent upon one
another.

The advantage of CTR is prototyping speed.  Its disadvantages
are less-assured quality and community divisiveness.  Its
enemy is ego.  Since criticism occurs after code has been
committed, personal investment is greater and defensiveness
higher.  Developers are typically less aware of each others'
work.

I believe it is safe to say that Geronimo has been operating
in CTR mode, but I think the specifics and ground rules may
not have been spelt out, or need to be again.  Is this the
way in which the majority wants to continue to proceed?


I'm fine with CTR on trunk. Discussion is a plus. If you don't discuss and check in and break something, well ... let's just say it's an opportunity to impress everyone with how much of a team player you are ;)

I'm mostly fine with CTR on a branch like 1.0.x, tempted to say RTC but don't want to go quite that far. Discussion or a heads up being more or less required; a really good idea at the least. Don't want to say full RTC because I think after a while we'll get a feel for what we think is good to add to a stable branch and what is not. We're probably going to have to be a bit chatty on what goes in 1.0.x in the sort term, though, while we find our groove.

-David

Reply via email to