As more direct examples than Jython: gjdoc implements javadoc. If a user installs a non-natively-gcj-compiled gjdoc and the Sun Java packages, and then runs gjdoc, it will run gjdoc with the Sun Java packages. That looks very much like a violation of DLJ clause 2 (c).
jikes-sun implements a javac compiler, and uses the Sun JDK. Any libfoo-java package in Debian will run with the current installed JDK. Thus, any libfoo-java package in Debian which implements "the same or similar functionality" as Sun Java causes Debian to violate the license on Sun Java. Obvious examples include libswingwt-java (which implements much of the Swing API), libcharva1-java, libcommons-*-java ("similar functionality"), Java XML processing tools that implement the standard APIs, libgnu-regexp-java (since, if I recall correctly, Sun Java includes regular expression handling), liboro-java (same reason), libregexp-java (same reason), libgetenv-java (specifically notes itself as a replacement for java.lang.System.getenv), and probably others. Most of these issues would go away if DLJ 2 (c) limited itself to software which replaces Sun's java.* or javax.* APIs; since Sun Java prevents non-Sun software from doing so unless you use -bootclasspath, Debian need only ensure that nothing invokes Sun Java with -bootclasspath. This does not handle the case of running software like gjdoc with Sun Java; to handle this, the clause could limit itself to software which provides binaries with the same names, and then implement the planned solution of preventing Sun Java from running with any of the java alternatives set to software from other packages. Software like jikes-sun which explicitly makes use of Sun Java components may still violate the DLJ even with these measures in place, but packages in contrib take their chances about remaining distributable; such packages may need to declare conflicts, or this package may need to declare conflicts on them. Alternatively, this package could conflict with any and all software in Debian considered objectionable to DLJ clause 2 (c), but this seems like an unmaintainable option. - Josh Triplett
signature.asc
Description: OpenPGP digital signature