Report from the Debian Java developers meeting at FOSDEM
The Debian project shared a developers' room at FOSDEM
(http://www.fosdem.org/) with Free Java developers so this room was
particularly interesing for Debian Java maintainers like me. I had a lot
of discussions with Grzegorz Prokopski, Arnaud Vandyck and Dalibor Topic
but also with some GNU classpath, Kaffe and gcj developers.
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
Reply to: