Hi Juhani,

On Mon, Mar 19, 2012 at 2:45 AM, Juhani Connolly
<juhani_conno...@cyberagent.co.jp> wrote:
> On 03/19/2012 06:01 PM, Arvind Prabhakar wrote:
>>
>> [X] -1 No - Flume should adopt some other policy
>>
>> For two reasons:
>>
>> 1. The Apache Commons versioning policy is an elaborate policy that
>> categorizes interface type, based on which it defines the change types
>> along with the development states that the project can be in. This is
>> very rigid and process heavy for Flume in it's current state.
>>
>> 2. Labeling a release as beta in the version number implies that there
>> are no plans for feature addition and all work will go towards
>> stabilizing the artifacts. We cannot afford such constraint so early
>> in the life of the project. If we have a multitude of contributors who
>> are willing to dedicate all their work on a beta branch to stabilize
>> it, then it makes sense to follow such policy.
>
> This reason makes sense in the mental context you have for the release but
> highlights to me a communication failure in that I think others may have had
> a different image.
>
> I would just like to question what exactly our objective in providing this
> release is so that we can decide what state we want it out in and what label
> is most appropriate for such a state. I think there is some confusion
> regarding this.

The primary objective of this release, as is the case with any other
release, is to provide access to various features and bug fixes that
have gone into the system since the last release. The secondary
objective of this release is to provide some binaries in the hands of
our users who may not want to compile the system from the release
sources. A distant third objective for this release is to prepare
ourselves for graduation.

>
> What you are saying makes it sounds like the release is a glorified snapshot
> that we've decided to label as a release. Perhaps there is still some
> communication lacking. Before we can decide on a name for the release, I
> think we need to decide on what is going to go in, because I don't think
> there is a concensus on that. We can't name the baby if we don't know if
> it's a boy or a girl.

The model that I have followed so far, and have seen being followed in
other projects is this: Every release on the same major version line
is an incremental improvement over the previous release. It will
likely have more features and bug fixes, along with possibly some
regression which will be prioritized for being resolved in the
follow-up releases. As long as the major versions do not change,
compatibility is assumed although migration may be required between
versions.

The advantage of using this model is that all major version lines
automatically move towards stable releases over a period of time
driven by user issues and field feedback. This is way better metric
than having developers decide on what the quality of the release
really is, when there is no formal way to measure or enforce it
without incurring the cost of inhibiting community driven development.

Thanks,
Arvind Prabhakar

Reply via email to