On Thu, Jun 2, 2016 at 3:42 PM, Benedikt Ritter <brit...@apache.org> wrote:
> Hi, > > we do seem to have different opinions when it comes to binary compatibility > and how it should be handled. Usually we would say "this should be decided > on a component basis". However this discussion is coming up again and again > and I think we should try the impossible and agree on something that we can > document. > > So here is my view on the topic: > > - since our components are depended upon by a lot of projects, we need to > take special care regarding compatibility. > - we must not break BC in a release that could collide with an earlier > version. In other words, when we break BC, we have to change package and > maven coordinates. > - BUT since we're all doing this on our spare time, there is no need to > hold on old APIs just for the sake of it. For this reason, BC may be broken > any time, if the steps above a followed and it has been discussed on the > ML. Fixes can always be backported to old releases, by people who need it. > - If there are committers who are willing to work on old version and > committers who want to work on API redesigns, we can branch and work in > paralell. > - Changing the Java Language requirement does not break BC and can > therefore be done without pumping the major version. > > What is your view on the topic? > > +1 to all points Matt > Benedikt >