[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: STOP INCLUDING EXTERNAL JARS IN YOUR JAVA PACKAGES!



On Sat, Nov 10, 2001 at 12:39:48PM +1100, Jeff Turner wrote:
> On Fri, Nov 09, 2001 at 02:05:17PM -0600, Adam Heath wrote:
> > Additionally, if libbar-1.1.3 breaks apps that that use
> > libbar-1.1.0, then libbar-1.1.3 is broken.  Please read the docs sun
> > has on the subject(they are very concerned about never breaking
> > backwards compatibility).
> 
> How about when libbar-2.0 comes along, and justifiably breaks
> backwards-compatibility? Must we not use all apps relying on libbar-1.x,
> until they upgrade?

Shared library versioning solved this problem long ago. libc5 and libc6
can coexist in the same system. You just package .jars that break
backward compatibility with a new package name.

> Also, Java has hierarchical classloaders, which allow multiple
> incompatible versions of classes to be loaded into the same JVM. Take
> Tomcat 3.3 and 4.0 for example. Tomcat uses JAXP 1.1 and Crimson, but
> webapps are free to use any incompatible jars they like (a hypothetical
> JAXP 2.0, for instance). So assuming a perfect world where everything is
> in a .deb, Tomcat requires libjaxp-1.1, my webapp requires libjaxp-2.0,
> and there's no conflict.
> 
> We're not in Kansas anymore, Toto :) The old rules don't always apply.

I got the impression that Adam was upset at least partly about the legal
issues.

-- 
Colin Watson                                  [cjwatson@flatline.org.uk]



Reply to: