To my thinking, a release candidate is believed to be done. All
features are complete and no unshippable bugs are known. An RC is
posted to give users a chance to shake out any unknown bugs. If no
unknown bugs are found then the RC is the release, module a version
change.

A milestone, by contrast, is a step on the way and is definitely not
feature complete.

The way you're describing Maven's milestone releases they sound like
the outcome of a big bang release process. There are certain features
that have to go in to a milestone, and the product won't ship until
they're done. Only, some features and bug fixes are needed before then
so you ship the product anyway and call it a milestone. It's a bit of
a wishy washy middle ground.

As a user I find this scheme confusing. I'd prefer a more
straightforward versioning scheme: if it's ready for end users then
there's no classifier, just 3.0.0, 3.0.1, 3.1.0, etc. If it's not call
it 3.1.0-beta or some such. It doesn't make a big difference to the
code that gets shipped when, just how it's labeled for end users.

As a developer I definitely prefer to release features and bug fixes
sooner rather than later. I also find smaller, more frequent releases
a lot easier to manage than once a year big bang releases. As long as
the external facing API is stable--in the case of Maven this
essentially means the syntax of the pom.xml file--there's no reason
not to ship with every significant improvement. If you're planning on
10 improvements in a product, and two are done, ship it, assuming none
of the remaining eight are going to break anything incompatibly. Ths
does assume the release process is automated and lightweight, but
that's a good thing to have in any case.

On Tue, Nov 12, 2019 at 10:21 PM Tibor Digana <tibordig...@apache.org> wrote:
>
> Elliote,
>
> It is stable. We do not want to break users, but we split the global
> picture for the version Y.0.0 into multiple complete stages (not
> incomplete!), but the Y.0.0 becomes a bunch of these Mx.
> It does not mean that a bugfix is incomplete or appears across multiple
> versions.
> I think you have another view and another scope of the work in your mind.
>
> For me Mx is only a naming conventions.
> This team is calling it milestone Mx and not RCs.
> Many OSS projects are releasing RCs. Not sure why we do not.
>
> If the Wildfly project is going to cut a new major version, they release
> RC.
> For me it is a kind of "give it a try in users" and then they fix the
> realistic issues which could not be found by the integration tests.
> And then they have nice version. Somebody can still use the RC and he will
> never see a bug because not everybody is using different versions of
> JMS/Artemis publisher and subscriber.
>
> So the model can be anything but this model does not mean that we want to
> intentionally break the users.
> We can propose more alternatives and finally the result will be naming
> conventions, when/how to use them....
>
> T
>
> On Tue, Nov 12, 2019 at 1:01 PM Elliotte Rusty Harold <elh...@ibiblio.org>
> wrote:
>
> > I'm a little nervous about this is being messages to and being
> > understood by developers. How stable is a milestone release? If it's
> > not stable, they shouldn't be seeing as abroad an adoption as they
> > are. If it is stable, then why not give it a full release as 3.0.0.
> > (or whatever) and add more in 3.1.0, 3.2.0, etc.?
> >
> > On Tue, Nov 12, 2019 at 6:51 AM Tibor Digana <tibordig...@apache.org>
> > wrote:
> > >
> > > Hi Elliotte,
> > >
> > > I am also using milestones in Surefire, as you may have noticed, because
> > > the complete work is too big and for one release.
> > > As for instance, milestones are fantastic for the major versions like in
> > > 3.0.0 because it is the only chance when you can break some backwards
> > > compatibility in plugin configuration.
> > > That's our case. For instance the system properties for config parameters
> > > of plugins share the same because they do not have prefixes. So i put the
> > > prefix in the system property and that's what i break, a little. It was
> > > just an example, but this is the principle that i understand and we
> > > untilize it in the milestones.
> > >
> > > T
> > >
> > > On Mon, Nov 11, 2019 at 7:55 PM Elliotte Rusty Harold <
> > elh...@ibiblio.org>
> > > wrote:
> > >
> > > > What is the significance of the M2/M3 classifier in the version
> > > > string? It's not obvious to me whether this is a release version or
> > > > not.
> > > >
> > > > Is there a reason not to call this simply 3.0.0 or 3.0.1?
> > > >
> > > > On Mon, Nov 11, 2019 at 1:50 PM Karl Heinz Marbaise <khmarba...@gmx.de
> > >
> > > > wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I've seen there are a lot of fixes in the meantime in the current
> > state
> > > > > so I would like to cut a release and the end of the week.
> > > > >
> > > > > So if someone has any objections please raise your hand.
> > > > >
> > > > > Kind regards
> > > > > Karl Heinz Marbaise
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > > > > For additional commands, e-mail: dev-h...@maven.apache.org
> > > > >
> > > >
> > > >
> > > > --
> > > > Elliotte Rusty Harold
> > > > elh...@ibiblio.org
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > > > For additional commands, e-mail: dev-h...@maven.apache.org
> > > >
> > > >
> >
> >
> >
> > --
> > Elliotte Rusty Harold
> > elh...@ibiblio.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > For additional commands, e-mail: dev-h...@maven.apache.org
> >
> >



-- 
Elliotte Rusty Harold
elh...@ibiblio.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to