On 5 July 2013 17:52, 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.

Agreed.

> 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.

That would obviously avoid jar hell (N.B. the Maven coords also need to change).

However: the names will need to change *even if* the API does *not*
break for the GA release.

I think that's worse than changing the names *only if* it turns out
that the API needs to be broken.

> 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