AFAIK, a release is a release. If you're voting on a project, a successful
vote creates an Apache artifact that needs to be published to the world.
Maven just released their 3.1.0-alpha. That release will be forever out
there, but since it's not production quality, usage will eventually
drop-off once the GA release is pushed -- but a release is a release. So
the decision to publish a Collections 4 Alpha should be done under the same
guidelines.


On Fri, Jul 5, 2013 at 12:41 PM, Phil Steitz <phil.ste...@gmail.com> wrote:

>
>
> On Jul 5, 2013, at 9:52 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
>
> > On Fri, Jul 5, 2013 at 12:45 PM, Phil Steitz <phil.ste...@gmail.com>
> wrote:
> >
> >> On 7/5/13 9:32 AM, Gary Gregory wrote:
> >>> On Fri, Jul 5, 2013 at 11:33 AM, Phil Steitz <phil.ste...@gmail.com>
> >> wrote:
> >>>
> >>>> On 7/5/13 7:59 AM, sebb wrote:
> >>>>> On 5 July 2013 15:47, Phil Steitz <phil.ste...@gmail.com> wrote:
> >>>>>> On 7/5/13 4:35 AM, Gary Gregory wrote:
> >>>>>>> Over at log4j we release betas to maven central. I think we should
> do
> >>>>>>> so here too for alphas. It's just too much of a pain to use a jar
> in
> >> a
> >>>>>>> build otherwise.
> >>>>>> Do you subsequently introduce incompatible API changes with no
> >>>>>> package name change in the "stable" releases?  That's what I would
> >>>>>> worry about here.  Collections is so widely used / depended on that
> >>>>>> having API-incompatible versions with the same package name
> >>>>>> eternally in the wild would seem a bad idea to me.
> >>>>> Surely API-instability is part of the point of an Alpha release?
> >>>>>
> >>>>> Users should be aware that if *they* release anything that depends on
> >>>>> an Alpha release it may cause breakage in the futiure.
> >>>> It would be great if we and all downstream users of whatever stuff
> >>>> ends up shipping with a dependency on a to-be-broken API could
> >>>> depend on that.  History suggests that you really can't count on
> >>>> that.   The problem is that it is not just or even primarily the
> >>>> immediate "users" who get hurt by this.  If it were just the case of
> >>>> project A direct user of the alpha breaking, I would agree.  For
> >>>> something like [collections], though, the problem is project A ships
> >>>> with alpha dependency, gets consumed by B, itself consumed by C, ...
> >>>> and some poor soul trying to use the actual release in Z get borked
> >>>> because somewhere along the line the now-abandoned A with
> >>>> incompatible not package-renamed classes got consumed.
> >>> This problem happens already today with normal releases of software,
> just
> >>> with behavior changes, not even API breakages.
> >>>
> >>> At least with an alpha or beta label we are explicitly warning users.
> >>>
> >>> If *you* choose to release with a dependency on an alpha or beta
> >> component,
> >>> then *you* are creating a potential problem.
> >>>
> >>> Similarly, if *you* choose to consume a project with direct
> dependencies
> >> on
> >>> an alpha or beta, that should raise a red flag, and are also possibly
> >>> creating a problem.
> >>>
> >>> The jar hell of transitive dependencies is well know and this does not
> >> make
> >>> it any better or worse.
> >>
> >> It *does* make it worse whenever you release incompatible versions
> >> of the same class.  This is why we agreed to change package names
> >> when we do that.  We have agreed to make an exception for limited
> >> distribution alphas / betas.
> >
> >
> > There is no such thing as "limited distribution" IMO, if it's accessible
> on
> > the internet, then it's open for business.
>
>
> Good point.  I probably should have said "limited advertisement" or
> something.  A beta tarball can be pushed to the mirrors and later taken
> down when the actual release is published.  It will still be available in
> the archives and likely other places, but it will not be linked on the
> website or otherwise "advertised" once the stable release is out.  If it is
> pushed to maven central, it will forever show up among the release versions
> and builds depending on it will continue to work.  If we can get the
> feedback we need without this, my HO is that we should avoid it.
>
> Phil
>
> >
> > How about putting "alpha" in the package name? That would work for major
> > releases like collection 4 which will come in a new package anyway.
> >
> > So, call the root package o.a.c.collections4.alpha1. So if you want to
> use
> > it, you have to hard wire to it and jump through a special hoop. Same
> when
> > alpha2 and beta1 come out. Then when it's the real release, it's just
> plain
> > o.a.c.collections4.
> >
> > Gary
> >
> > We should do what we can to limit
> >> dependency propagation as we get the feedback we are looking for.
> >> Keeping the artifacts off of maven central will help.  The real
> >> question is can we get the feedback we need without forever
> >> advertising these artifacts on maven central.
> >>
> >> Phil
> >>>
> >>> Gary
> >>>
> >>>
> >>>> Phil
> >>>>> So long as we don't break the API between non-Alpha releases, I don't
> >>>>> see this as a big issue.
> >>>>>
> >>>>> However, we do need to ensure that the non-Alpha release is not left
> >>>>> too long or people may get impatient and ignore the warnings.
> >>>>>
> >>>>>> Phil
> >>>>>>> Gary
> >>>>>>>
> >>>>>>> On Jul 5, 2013, at 4:24, Thomas Neidhart <
> thomas.neidh...@gmail.com>
> >>>> wrote:
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> just to make sure we have agreement on this topic.
> >>>>>>>> Reading again the thread about release alpha/beta releases I think
> >> we
> >>>> did
> >>>>>>>> not reach consensus whether to publish alpha releases to maven
> >>>> central.
> >>>>>>>> It would be easier for people to try out things, but the release
> >> will
> >>>> stay
> >>>>>>>> there forever and some people had objections against it.
> >>>>>>>>
> >>>>>>>> We also know for sure that the API will change, as we will at
> least
> >>>> rename
> >>>>>>>> one new class introduced for 4.0 (CompliantBag -> CollectionBag).
> >>>>>>>>
> >>>>>>>> So the questions is:
> >>>>>>>>
> >>>>>>>> Shall we publish to maven central?
> >>>>>>>>
> >>>>>>>> Thomas
> >>>>>>>
> ---------------------------------------------------------------------
> >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >>>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
> >>>>>>>
> >>>>>>> .
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >>>>>> For additional commands, e-mail: dev-h...@commons.apache.org
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >>>>> For additional commands, e-mail: dev-h...@commons.apache.org
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >>>> For additional commands, e-mail: dev-h...@commons.apache.org
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >> For additional commands, e-mail: dev-h...@commons.apache.org
> >
> >
> > --
> > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > Java Persistence with Hibernate, Second Edition<
> http://www.manning.com/bauer3/>
> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> > Spring Batch in Action <http://www.manning.com/templier/>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

Reply via email to