Hi all,

after our mini-fiasco with 3.1.4, and the delays of 3.2 in general, I'd like to propose a few changes to our development release processes. John made some suggestions here, which I'm formulating in this proposal.

Please discuss. And yes, we will update the release process on the Wiki once we agree.

Cheers,

-- Leif


1. We formalize a strong development plan for 3.4, and we try to stick
   to it. We tried this, very loosely with 3.0 and 3.2, and we failed
   miserable. For v3.4, to meet a ~6 month release cycle, we have to
   reduce the number of feature additions to something reasonable.
2. During the development release phase, 2 weeks prior to making a
   release candidate, no feature additions are allowed. Period! Bug
   fixes are obviously still allowed. (See the 3.3.x branch suggestion
   below for how to deal with this).
3. In order to keep the momentums going, I'm suggesting three additions
   to our git processes:
    1. I've created a 3.3.x branch in git. This is the branch that gets
       feature frozen 2 weeks prior to someone deciding to start a
       release process. Anyone can merge master to this branch as
       necessary, up until the 2 week release process starts. From then
       on, we cherry-pick from master until the release is cut.
    2. We create feature branches for very large additions. For
       example, the DNS rewrite would be a branch, and the NUMA support
       would be a branch. Adding support for raw devices in FreeBSD
       would almost certainly not be a branch.
    3. Reiterating on our existing process, the master branch on git is
       still "commit then review". It is always open, it's always OK to
       add features to it. To make things very obvious, lets be
       religious about adding Jira tickets to all non-trivial commits,
       and annotate the commits (and jira tickets) accordingly.


Reply via email to