I’m in favour of emulating the core Go repo style of development. master should be best-effort stable, at least until Dgraph is 1.0. Long-term, risky, incomplete or changes being considered are the kinds of things done in branches at dev discretion. The model of branching for releases is excellent.
This is what I’ve adopted for all my personal projects. It has the least friction with new users, one-time contributors, and I believe captures the most important elements of DVCS without hassle.
Someone mentioned switching to a model like this at the next minor release, I think that’s ideal.