Forum OpenACS Development: Re: Release plans for 5.1 (feature freeze 22 Feb!)

Collapse
Posted by Joel Aufrecht on
1) Don, do you have enough pending work that is both likely to be complete soon and useful in 5.1 it's worth delaying the end of coding and thus delaying the release?  On the one hand we want to release more often so that new work doesn't sit inaccessible on HEAD; on the other hand we don't want to go through the non-reusable overhead (doc updates, tags and merges, announcements, manual testing, etc) of a release more than necessary ; on the third hand our gradual improvements in automated testing should make the alpha/beta/rc cycles much shorter because HEAD should always be closer and closer to a releasable state.

2) On freezing HEAD: here are some examples one way or the other:

http://www.gnomedesktop.org/article.php?sid=162.  "Mozilla.org has closed the tree to approved checkins only, starting as of 12am Wednesday, and will do so until 0.9.8 has branched."

Here's FreeBSD's branch status, showing HEAD as "semi-frozen": http://www.freebsd.org/releng/index.html.

Here's Mozilla's roadmap, showing freezes on HEAD: http://www.mozilla.org/roadmap.html

Perhaps part of the problem is that we all seem to use openacs.org:/cvsroot as our working repository.  If we instead developed locally and committed in bulk and only after running local test suites, we would have fewer freeze and stability issues.  On the other hand, I'm not sure how to do this with CVS without losing lots of revision history; it would up the local setup burden for developers, and we don't currently have extensive test suites.

So perhaps OCT can make a decision:

1) freeze at code complete; branch on freeze
  - easier to enforce freeze because default commits won't go to the branch
  - HEAD is never frozen
  - easy to understand process
  - bug fixes made on branch are either delayed getting back to HEAD or require duplicate effort

2) freeze at code complete; branch some time between freeze and RC
  - no place to commit new work during freeze
  - freeze takes work to enforce
  - easier to fix bugs on HEAD
  - may encourage necessary bug fixing in priority over new work

Let's discuss and then I'll TIP.