I think the idea is that we don't break BC between an older full
version and a new alpha/milestone/rc/whatever, unless of course, the
new alpha/milestone/rc/whatever release is on a new major version.
For example, we can have API breaks between commons-foo-1.0 and
commons-foo-2.0-alpha.  We can have API breaks between
commons-foo-2.0-alpha1 and commons-foo-2.0-alpha2.  We cannot have API
breaks between commons-foo-2.0 and commons-foo-2.1-alpha.  How does
that sound (the concept not the choice of alpha)?

On Thu, Oct 10, 2013 at 9:47 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> On Thu, Oct 10, 2013 at 9:06 AM, James Carman
> <ja...@carmanconsulting.com> wrote:
>> On Thu, Oct 10, 2013 at 8:25 AM, Emmanuel Bourg <ebo...@apache.org> wrote:
>>>
>>> I'm afraid this is more than a perceived issue, the plexus-container
>>> example given by Jörg is a very good one. Pushing drastically
>>> incompatible versions to Maven Central is not a good service for the users.
>>>
>>> I think my suggestion is a good compromise, otherwise the die-hard
>>> compatibility defenders here will never agree to publish incompatible
>>> artifacts to Maven Central.
>>>
>>
>> This gets back to my earlier comments on another thread.  We can't try
>> to stupid-proof our code.  If our users want to do something stupid,
>> we can't protect them from themselves.  If they want to "release" code
>> which points to milestone/alpha/rc/SNAPSHOT/whatever, then that's on
>> them.
>>
>>>
>>> I agree this is annoying, but this has to be balanced with the annoyance
>>> of dealing with incompatible dependencies (for example, components
>>> depending on different versions of BouncyCastle). It's easy to rename an
>>> import in your code compared to fixing a jar hell situation.
>>>
>>
>> If a third-party library releases a version which points at one of our
>> alpha releases and relies upon an API that they've been told may not
>> be stable, then they need to fix it.  Again, we can boil the ocean
>> trying to think up all the stupid things people can do with our
>> software and try to code/process around it, but at the end of the day,
>> you can't fix stupid.
>
> Indeed, developers and users will forever find creative and painful
> ways to shoot themselves in the foot and other appendages.
>
> Conversely, we should not hand out defective weaponry by breaking
> Binary Compatibility (this relates to a discussion on another thread:
> I claim it is never OK to break BC, you release a new (Java) package
> to do the equivalent).
>
> Gary
>
>>
>> ---------------------------------------------------------------------
>> 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
> JUnit in Action, Second Edition
> Spring Batch in Action
> 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
>

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

Reply via email to