(Compare this with the JDK where they had to jump through ridiculous
hoops to make generics fully backwards-compatible, and created a
half-arsed mess in the process...)

This is the real problem. We must use a different namespace for the Java 
package itself. A lot of stuff depends on c-c 
(http://www.mavenregistry.com/search/artifact/19973 + 
http://www.mavenregistry.com/search/depended_upon_artifacts, quite impressive) 
and even in 3 years there will be stuff available that still depends on those 
old versions.

A new package name solves the problem of coexistence as long as the jar name 
contains the version (e.g. commons-collection-3.1 & commons-collection-4.2) but 
it creates new problems for e.g. Maven, that cannot handle two (binary distinct) 
versions at the same time.

So there are three points to decide:
- does a new package name imply a different Jakarta Commons project?
- shall we give up existing brands (it means in the end the establishment of a 
new brand for all commons projects)?
- if we keep the project name, do we have to accept the inevitable limits of 
popular tools such as Maven?

- Jörg

One possibility that occurs to me is that we could take the problem to a higher level. Since a number of projects are going to be facing this problem, what about a package rename at the "commons" level - say, org.apache.commons2 or org.apache.commons5? This way, the Maven problem and the package rename problems can be solved, and yet we can still keep the individual "brand" names untainted. This can also scale with new JDK releases - you would end up with a "commons" for each release where you have a binary incompatible break, but this seems less obnoxious to me than having each project have to keep up with a component-level naming scheme.

Kris

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to