On 27 March 2017 at 19:49, Keith Suderman <suder...@anc.org> wrote: > +1 for changing Maven coordinates. > > -1 for changing package names. Sure, new code can use the new package > names, but changing existing packages is just breaking changes for the sake > of breaking things with no real benefit. I hope the Groovy team tries to > break as little as possible to avoid the "Python3 Effect", whether real or > imagined.
As a Python dev, who's just started working with Groovy for some work projects, I hope people don't mind me adding my opinion here. I think you're right. The Python problems were largely because we broke people's source code (that was a deliberate choice, 2-3 was always intended as a backward compatibility breaking change, but in hindsight I think the view is that we won't ever take that approach again). So the package name change would be a similar compatibility break for Groovy and you should consider carefully whether the benefits justify it. From what I've seen of Groovy code, the package names are needed relatively infrequently, so it's possible that the breakage would be limited - but what's the benefit? Python's experience is that simply "tidying up" is pretty risky as a justification... I'm not familiar enough with Java's packaging ecosystem and Maven to know what the impact of changing the Maven coordinates would be, so I'll say nothing on that one. I know very little about the Groovy or Java communities, though. Their tolerance for change is likely very different from the Python community's (both for better and worse) so I'd rely more on your sense of what your users will think than on what happened with Python. Hope this helps, Paul