The Apache Geronimo project has recently changed it’s commit policy to a Review then Commit (RTC) policy. Which means no one can commit to the Geronimo project unless you submit a patch and then get 3 other Geronimo committers to review, apply, test, and then give you 3 +1s.
In theory, this is supposed to increase the communication between the developers. In practice, it’s looking a little scary. For example, I just wanted to move some ActiveMQ integration modules from living in the ActiveMQ project to live in the Geronimo project. Now, before I submitted the patch, everyone agreed that it was good idea. I submitted the patch and now I have been waiting 12 days to get enough +1s.
Why is it taking so long? I think it’s because the Geronimo project is bigger than what anybody knows. But we are lucky to have a large developer base that is specialized in different areas of the server. This specialization is what allows us to produced a server with high quality parts that in turn give us a high quality server. I don’t go wasting time figuring how what’s the best way to implement a Transaction Manager or Deployment system, because I trust the guys that are already working on those pieces.
With the RTC policy, if I we want to get Transaction Manager patch in, folks that might not know ANYTHING about Transaction Manager are going to be looking at those patch and pretending they understand what’s going on and then giving the +/- 1’s. The same thing goes for the developer tooling, JMS Messaging, etc. etc.
I guess in the long run, it may be good that folks get to know other Geronimo systems besides what they specialize in, but in short term, your going to slow down your development model by at least a factor of 10 (I’ve already been waiting over 10 days to do something that used to take me 10 seconds). Furthermore, since Geronimo is playing feature catch up, most developers already have enough on their plates, I doubt they also want to review and test other folks patches x3 if the previous development pace is to be sustained.