[Development] Setting up time-based releases for the project

Alan Alpert alan.alpert at nokia.com
Tue Aug 7 02:45:14 CEST 2012


On Mon, 6 Aug 2012 22:13:30 ext joao.abecasis at nokia.com wrote:
> Fire-hose is a development branch, things may be variously broken at all
> times. Typically, developers in this mailing list will be tracking that
> branch.
> 
> Leaky-faucet is deemed beta quality and somewhat more stable. At the very
> least it shouldn't break as often. We can expect that more people will be
> willing to track this branch with their own development.

This is the part that I don't quite understand. This makes it sound like Fire-
hose is the branch for destabilizing changes. Particularly destabilizing 
change sets are of course in their own branch, but the large numbers of 
normally destabilizing changes will make fire-hose mere Alpha quality at best. 
But then Thiago's email then said that fire-hose should be 'always ready for 
beta', which seems contradictory.

As I interpret it, the bump in quality comes from merging fire-hose to leaky-
faucet some time before the release. Unfortunately, I didn't get any extra 
detail when I zoomed in on your ascii art. Here's my zoomed in version of the 
diagram:

----------+----------------- fire-hose
           \
----------+---------+------- leaky-faucet
                     \
--------------------+------+ dripping-bucket
                           \ 5.1.0
~2 Months |-----------------|

Note that we also seem to disagree on the time scale, but that's what '~' is 
for ;) . Am I correct in assuming that merging fire-hose to leaky-faucet drops 
the quality of leaky-faucet to whatever fire-hose may be, and then developer 
focus shifts to leaky-faucet for stabilization (while destabilizing elements 
continue to flow rapidly into fire-hose for the next release)? How much lead 
time do we allocate per release? And what happens if we slip, because we 
couldn't get it to beta quality in time?

> > If we move the release testing onto leaky-faucet, then dripping-bucket
> > contains only the latest release, with at most a critical patch or two.
> 
> That depends on whether we consider that typical patch release traffic has
> an impact on release readiness. (Can bug fixes introduce new regressions?
> :-)

When applied in haste? Roll a d20 :P . More seriously, it sounds to me like 
dripping-bucket is just there for the release manager to have a further 
measure of control. But if that's where the packages are generated from, 
that's where the release testing will happen no matter how few patches we try 
to accept on top.

On a less important aspect, can we use less metaphorical names? master, beta, 
release perhaps? trunk, stable, release-managers-private-stash? I don't like 
starting the bike shedding part early, but since your metaphors aren't really 
working for me I think other names might allow for more clarity.

--
Alan Alpert



More information about the Development mailing list