The talk by Arnaud and Dalibor
Arnaud and Dalibor gave a talk about packaging Java software which covered JPackage (http://www.jpackage.org/), Gentoo, FreeBSD and of course Debian. One goal of this talk was to improve collaboration between these projects and Red Hat's effort to package Java software which is compiled to native code using gcj (http://gcc.gnu.org/java/).
Unfortuantely, there were no Gentoo and FreeBSD Java developers present so I could only talk to one JPackage developer about this. It turned out that JPackage tries to make their packages work with differnt JVMs but they don't care as much as we do about running Java software with Free JVMs so their main interest is intergation of Java packages.
But the developers of Free Java Software (GNU classpath, Kaffe, SableVM and gcj) were very interested in more collaboration. One of their main problems is that they don't get enough feedback from end users if a Java application does not work with their JVM. It's often just an unimplemented method or a small bug that needs to be fixed to make larger applications work. So the Wiki page at http://java.debian.net/index.php/MovingJavaToMain which was started by Arnaud is also useful to them. In the future, the Debian Java maintainers will try even harder to make their packages work with free JVMs and send their results to them.
Main discussions with Java developers
Besides the issue of better collaboration we also had a lot of technical discussions:
- The proposed new Debian Java Policy by Jan Schulz
The core of this proposal is a script called findjava which tries to find a suitable JVM based on the installed JVMs, requirements of library packages and user preferences. Arnaud, Dalibor and Grzegorz agreed with me that there's no way to test Java libraries with all possible JVMs so findjava can never know which Java libraries work with which JVM. We'll have to discuss this further on the debian-java mailing list.
- How to deal with non-free JVMs
There are currently non-free Debian packages from Blackdown (http://www.blackdown.org/) for JDK 1.3 and 1.4 but most users seem to prefer to install a JDK from Sun in /usr/local. There should be some easy way to "register" these JDKs so installed Java packages will use them. This is what findjava (see above) tries to accomplish but setting JAVA_HOME in a configuration file is also an option and mpore compatible with what most other Java software expects.
- License conflicts with GPL'ed Java interpreters
Currently Kaffe 1.1.x is the best choice for running Java applications in Debian. It is, however, licensed under the GPL so there's been some discussion whether Java software which is licensed e.g. under the Apache License (version 1.1 or 2.0) can be run with it. The opinion of the Free Software Foundation can be found at http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL, however some developers have a different point of view since Kaffe's core classes are just another implementation of the standard Java API.
The long-term solution to this problem is probably the ongoing merge with GNU classpath (http://www.gnu.org/software/classpath/) which is licensed under the GPL with a linking exception. In a couple of months, basically all free JVMs will use GNU classpath as their core library. So the question for Debian Java packages will simlply be: Does if work with GNU classpath. If yes, the packages can go into main.
- Native compilation
Mark Wielaard and Tom Tromey showed a natively compiled version of Eclipse (http://www.eclipse.org) using gcj. Arnaud and I talked to them about packaging natively compiled software but this still requires patches for gcj so this is not yet an option for Debian. It will of course be interesting after the release of sarge but let's first see how well this works in the next release of Fedora/Red Hat.
There were also a lot of other discussions which are more or less relevant for Debian. For example, Chris Halls and Rene Engelhard talked to Dalibor about ways to build the Debian Openoffice.org packages with Java support.
Next steps
We'll try to get more Java packages from contrib to main. gjdoc will be a major step for this since this would allow us to build Javadoc API documenation for library packages in main. We will also try to set up some testing environments for building Java packages with Kaffe and SableVM so we don't have to manually try each new upstream version.
We also need to get/keep the free JVMs working on all architectures so they move to testing. This is the part where we currently need most help so if porters have a couple of minutes (or should I say hours?) please help us. Just send a mail to the debian-java mailing list.
Stefan
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]