GNU Radio release cycle

Yesterday I realized I have no idea when Josh’s cmake work will go into
GNU Radio and be part of an actual release.

This is a big headache for me because I am updating the root file
systems for the E100 at the moment and there is some stuff in the cmake
branch that is useful for the E100 (such as being able to build and
package GNU Radio companion). On the other hand, I can’t cherry pick the
best git repo/branch every time I want to make a new root file system
for the E100. I really need some kind of deterministic release cycle so
I know when I need to finish tasks and shepherd them into GNU Radio and
have some confidence they will appear in a release.

Fortunately, other projects also have the same problem, so there are
examples to work from. Since I’ve been working on getting all my u-boot
patches upstream lately, I’ll use them as an example:

This is based on the Linux kernel development cycle, which has become a
very successful work flow.

So the workflow becomes:

  1. A release every three months.
  2. After each release, there is a period where new work is added.
  3. After the merge window closes, only fixes are allowed.
  4. A release occurs.

I’m not super attached to this model, other than I am familiar with the
process already and the fewer things I need to remember, the better. It
should serve as a starting point for discussion.