Hah, thanks for the details, Ralph. I will be sure to bring myself up to speed.

That being said: I would still like to get some consensus from those who will be voting from the PMC on what should be done, given the current report (since my opinion and thus vote are non-binding :D)

http://home.apache.org/~elserj/commons-vfs/commons-vfs-2.1-site/

Ralph Goers wrote:
FWIW, these discussions are not new.  You might enjoy reading these threads - 
http://www.mail-archive.com/user@commons.apache.org/msg03711.html. But maybe 
not! ;-)

Ralph


On Apr 29, 2016, at 12:43 PM, Ralph Goers<ralph.go...@dslextreme.com>  wrote:

On Apr 29, 2016, at 10:57 AM, Josh Elser<els...@apache.org>  wrote:



Ralph Goers wrote:
On Apr 29, 2016, at 9:27 AM, Josh Elser<els...@apache.org>   wrote:

sebb wrote:
On 29 April 2016 at 16:19, Josh Elser<els...@apache.org>    wrote:
sebb wrote:
On 29 April 2016 at 15:59, Josh Elser<els...@apache.org>     wrote:
How does changing the package name help? Doesn't that just push a
NoClassDefFound error instead of some missing implementation for a new
method?
That means we change ALL the package names and the Maven coords.
Effectively it's a different component, and users have to change the
import package names.
How is that at all improving *any* level of compatibility? I really don't
see how that is providing any service to your users. Now, instead of just
updating the version for the artifact and adding the new methods, they
*also* have to change the package...
It's not about compatibility, it's about avoiding jar hell.
Hold up now. We were talking about compatibility. I also don't know specifically what you 
mean by "jar hell", but it sounds like this is not relevant to the 
source/binary compatibility discussion (and thus not relevant to this thread). Please 
correct me if I'm wrong.
If a user of VFS drops in the new jar in place of the old one and their 
application gets runtime errors then, by definition, binary compatibility is 
broken.  This can happen if the user implemented their own FileSystem and are 
using interfaces that have had new methods added. It can happen if public 
methods have had signatures change.  If any of these happen then Commons policy 
is that the package names must change and the artifact id must change, as the 
jar is no longer compatible with the old one.  This allows the old jar and the 
new jar to be used side-by-side.
Ok. Can you point me at this documentation? Apparently the issues I take with 
this are more engrained into all of Commons :)
I would have to search the dev mailing list but this has been discussed in the 
past.  The first link below discusses the versioning policy but does not 
explicitly call out changing the package name and artifactid. The second two 
links are example of release announcements for incompatible releases.

https://commons.apache.org/releases/versioning.html<https://commons.apache.org/releases/versioning.html>
  
<https://commons.apache.org/releases/versioning.html<https://commons.apache.org/releases/versioning.html>>
http://www.h-online.com/open/news/item/Apache-Commons-Lang-3-0-makes-a-break-with-the-past-1283761.html<http://www.h-online.com/open/news/item/Apache-Commons-Lang-3-0-makes-a-break-with-the-past-1283761.html>
  
<http://www.h-online.com/open/news/item/Apache-Commons-Lang-3-0-makes-a-break-with-the-past-1283761.html<http://www.h-online.com/open/news/item/Apache-Commons-Lang-3-0-makes-a-break-with-the-past-1283761.html>>
https://commons.apache.org/proper/commons-collections/release_4_0.html<https://commons.apache.org/proper/commons-collections/release_4_0.html>
  
<https://commons.apache.org/proper/commons-collections/release_4_0.html<https://commons.apache.org/proper/commons-collections/release_4_0.html>>

Ralph



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

Reply via email to