First Community Branch (Anand)

Now that has been merged, we should make it a priority to create a public/community branch (Anand) which we stabilize. Some questions that we need to resolve, before we make the branch.

  1. Is the community build mechanism ready for a branch? If not, what needs to be addressed prior to branching?
  2. What is the mechanism for creating PRs in GitHub against the branch (i.e. - how would community request cherry-picks from master to the branch)? If this is clear, we need to document it.
  3. What are the criteria for cherry-picking code to branch? Should we have a voting mechanism to have the community decide that?
  4. Anything else that needs to be sorted out before we branch?

The idea is to cut a community branch once every quarter. Then we stabilize it (fix bugs) for a few weeks and then the stable build is something our community users can download until the next stable branch.

Initially, the community branch and the product branch will have no relation to each other. We will see if that becomes a cherry-picking headache for us and adjust, if needed.

To answer question 3:

I would recommend against voting. If you can figure out an easy way for people to propose commits to be cherry-picked, it typically comes down to the maintainer(s) to decide what is put in a stabilization branch.

Just to be clear for anyone reading: the idea is that both new features and bug fixes will continue to go into master, but only bug fixes will be added to the anand branch, which will become a stable release.

Thanks Oleg!



Regarding question 1)
I believe this pull request is all that’s left before we can attempt to do an anand branch/tag build.

There’s still some discussion as to what’s in the VERSION file in the PR for the types of builds:

  1. build master from tip (nightly builds)
  2. build master off of a sha1
  3. build anand branch from tip
  4. build anand-1 tag off of anand branch at anand-1 tag

Hopefully that PR will be resolved and merged soon and we’ll be ready to branch.