Thursday, December 2, 2010

Development time

Let's say you want to contribute to PostgreSQL development and want to play by the rules (which are actually not rules, but guidelines or encouragements), such as:
  1. While a release is in beta, you work on finalizing the release, not on future projects.
  2. During a commitfest, you work on testing and integrating the proposals submitted for the commitfest, not on new features.
  3. Major features should not be submitted for the first time at the last commitfest.
The final release of PostgreSQL 9.0.0 was on 2010-09-20. By that time you already missed the first commitfest (2010-07), and the second commitfest (2010-09) was already under way. The second commitfest was actually slightly delayed and ended on 2010-10-26, whereas the third and next-to-last-for-9.1 commitfest (2010-11) started punctually on 2010-11-15.

That means if, while being a team player on all the community efforts, you wanted to develop a major new feature for PostgreSQL 9.1, you had a total of about 20 days to do it. (That is, if you didn't spend several days in early November at PgWest.) And that is within a one-year release cycle.


  1. I, too, have felt that the 9.1 dev cycle has not allowed much in the way of pure design/development time.

    I'm not sure what this means exactly. It probably doesn't affect me much as a humble contributor, but I assume it does affect those with responsibilities like committers and core.

    One negative thing, I think, is that it leaves me confused about when exactly design discussions should take place. I suppose during that 20 days? Any other time, and I feel like I'm either pulling people away from their duties (to a release or commitfest); or I'm leaving them out of discussions where they may have some valuable input.

    I'm going to refrain from expressing an opinion here, because a lot of great development has happened in 9.1 as well. But, at minimum, some clarification is required.

  2. I think we should focus on what people should do more than what they shouldn't do. Working on new features isn't a bad thing. It just doesn't get the release out the door. People need to contribute to both efforts.

  3. Robert:

    So when is the time to submit design proposals? Is any time OK? (I have seen some developers criticized for starting new discussions in the middle of a commit fest, for instance).

  4. Well, I'm not the final arbitrator of anything, but I feel that people who are regular contributors to the patch review process really shouldn't be criticized for submitting design proposals at the time that is most convenient for them. All things being equal, I'd probably prefer to see them submitted between CommitFests rather than during them, but I don't think it's productive for us to get too pedantic about that. I - personally - think submitting them during beta is fine - good, even. That helps the patches land early in the next cycle, which makes things easier all around. Of course, I would also like the people making those design proposals to help get the betas out the door, but the idea that everyone is required to shut up for 5+ months seems totally counterproductive to me.