I think you nailed it! ASF has a very simple rule (and this is one of the few times where it IS a process rule -- there's no way around it whether you like it or not). Here's the rule: anything that gets disclosed to the general public needs to be voted by a PMC as a formal release. That's it.
So I think the real question to ask of Spring folks is this: do they expect Mx and RCx artifacts to be consumed by general public? Thanks, Roman. On Wed, Jan 13, 2016 at 1:23 PM, John Blum <jb...@pivotal.io> wrote: > Hmm, interesting. I guess the main difference is in how we are defining a > "release candidate". > > With Apache, it would seem release candidates are used to start a process > to determine whether a project at it's current version (e.g. 1.0.0.M1) is > in a releasable state, as voted on by the PMC. Hence, the distinction > being a candidate for release rather than an explicit version qualifier. > > With Spring, while Milestones (Mx) and explicit RC (RCx) qualified version > are released, they are not "official" releases, as I have just learnt. This > means, we do not officially make Milestones and RCx (versions) available in > Maven Central, only in Spring artifact server. Once the > major.minor.patch.RCx based version(s) reach a relatively quite period in > terms of issue feedback, the team then decides to make an "official" > release (1.0.0.RELEASE) that is pushed to Central. > > Not sure if that changes the perspective on things, but wanted to make sure > that was clear. > > Thanks, > John > > > On Wed, Jan 13, 2016 at 12:40 PM, Roman Shaposhnik <ro...@shaposhnik.org> > wrote: > >> On Wed, Jan 13, 2016 at 12:18 PM, Justin Erenkrantz >> <jus...@erenkrantz.com> wrote: >> > Even if the release fails the vote, you shouldn't be reusing that >> > version again. >> >> And that's where the current suggested mode becomes super confusing >> *unless* we all agree not to use RC designation. >> >> Here's a scenario that is very likely to happen: >> 1. An actual release with a version string 1.0.0-incubating.RC1 is >> put up for a vote. Lets call it artifact #1 >> 2. The vote fails. >> 3. You create artifact #2 with exactly the same version string >> 1.0.0-incubating.RC1 to take care of the issues that made >> the vote fail >> >> How do you avoid confusion between referring to #1 vs. #2 ? In 99% >> of asf projects you'd call #1 an RC1 and #2 RC2. But then of course >> you're talking 1.0.0-incubating.RC1 RC2 -- if that's not confusing I don't >> know what is. So that's no good at all. >> >> Alternatively (and that's how Apache Subversion does it as community, >> not as a source code management tool) you could skip #s if the vote >> fails. So once #2 happens you will produce 1.0.0-incubating.RC2 without >> every using 1.0.0-incubating.RC1 ever again. I suppose that this could >> work, but lets be absolutely clear about the steps then. >> >> IOW, if the following statement captures what Geode community *really* >> wants to do -- I have nothing against it (aside from the fact that you'd >> be different from 99% of projects I know in ASF). >> >> Here's the statement: every single time a vote fails on MX or RCX artifact >> you proceed to vote on M(X+1) or RC(X+1) without *ever* re-using >> MX or RCX version IDs. IN ADDITION, when you're ready to produce >> .RELEASE release you simply re-use the last RCZ version and call >> it a RELEASE. IOW, the vote on a RELEASE never really happens. The >> vote always happens on RCZ and then the community declares it to >> be a release. >> >> Phew. That was a pretty convoluted statement, but if you really want >> the above to be your release policy -- sure. >> >> Thanks, >> Roman. >> > > > > -- > -John > 503-504-8657 > john.blum10101 (skype)