Hi all,
I've recently heard about the UserLinux effort from Mark Wielaard, the
GNU Classpath maintainer, who asked GNU Classpath developers to chip in
to the discussion on UserLinux mailing list to help out figuring out how
free java runtimes fit into the 'enterprise linux' picture painted by
Bruce and fix some of the misunderstandings of whoever wrote the bit in
the white paper about Java.
Reading through your whitepaper's short paragraph on Java in the
enterprise, I got the impression that it was written by someone
without much knowledge of current developments in the java world. So
I'd like to start by correcting a few mistakes:
The whitepaper says:
"Java-like environment: It sounds as if GCJ/Classpath is in the lead
among free Java-like implementations, but is not up to Java 2.0 and
even misses the Java 1.3 standard. There is an implementation of
Swing, and Eclipse can now be built . Some of the service providers
will need to provide a Sun-derived JDK as an option."
a) There is no such thing as Java 2.0. There was a failed marketing
effort by Sun to relabel JDK 1.2 as Java 2.
b) The latest version of the JDK from Sun is JDK 1.4.2, if that's what
the author tries to alude to as 'Java standard'. In reality, there is
no such thing as a Java standard: tha language, library and virtual
machine specification haven't been blessed by any standards body.
It's about as standard as the 'Netscape Navigator 4.71' standard.
c) GNU Classpath is the leading free software java runtime class
library around, being used most free VMs out there. It's not a java
runtime by itsef, though it's a vital component of one.
d) GCJ is the GNU Compiler for the Java Programming Language, and is
one of the many free software java runtimes that utilize GNU
Classpath. Other popular runtimes are SableVM and kaffe. Each one has
is leading in one aspect or another. You should evaluate carefully
which one to pick, depending on your customer's needs . Since you
haven't specified those, it's hard to give a recommendation. I hope
authors of GNU Classpath based java runtime environments will take the
opportunity to present the pros and cons of their solutions to this
forum, which is why I cross-post this e-mail to the GNU Classpath
mailing list.
e) You can see how far in implementing the java runtime class
libraries the various efforts are here: http://japi.sab39.org/. Most
Java applications only use a fraction of the APIs. That's why many
free java runtimes will happily run enterprise applications for java
servers, despite not having a full Swing implementation yet.
f) The Swing implementation in GNU Classpath is incomplete. It's being
worked on by several great hackers, but implementing a whole graphical
toolkit from scratch is a lot of work, and GNU Classpath could use
some more developers in that area.
g) Eclipse can not only be built it can also be run ;)
h) Recently, we had some more success with 'enterprise' type of
applications: kaffe[1] (and presumably many other GNU Classpath based
java runtimes) can run apps like tomcat [2], eXist
[3], ant [4], and is rapidly getting better at running apps like
Eclipse3 [5], or JBoss [6]. It's no longer just about providing a
runtime environment for "HelloWorld.java", it's also about a truely
free cross-platform enterprise software solution stack. ;)
i) RedHat's enterpise linux distribution uses GCJ to build important
java enterprise apps like tomcat as native applications. In terms of
using GCJ to build native applications, debian is currently (quite a
bit) behind RedHat's projects like RHUG.
j) The policy of 'some providers will need to provide a Sun-derived
JDK as an option' is contrary to UserLinux' goal of having one
carefully picked provider of each crucial component of the enterprise
software stack. If there is only one gui toolkit, one desktop, one web
server, then there should also be only one VM.
Instead of trying to work around the (percieved) weeknesses in free
java runtimes by providing for non-free, limiting alternatives, you
could consider pooling your resources with the free java runtime and
debian hackers to make UserLinux's support for Java shine.
k) You can not legally provide a Sun-derived JDK as an option unless
you sign a contract with Sun, and your JDK on your platform passes
Sun's tests. All that debian does is to provide some wrappers to make
debian packages around Sun's proprietary offers. Your users would
still have to fetch the JDK for themselves from Sun.
I hope to make clear that by picking and actively supporting any of
the fine runtimes based on GNU Classpath, you do a great favor to both
your customers, and the free java runtime projects. Even if Sun goes
down (i.e. bankrupt), their investment in free java runtimes would be
safe.
I'm not advocating blindly picking kaffe over GCJ or SableVM. You
should make an informed decision, and the Java paragraph as it stands
in the white paper shows that you are lacking input from java
developers ;)
cheers,
dalibor topic
[1] http://www.kaffe.org
[2] http://www.kaffe.org/~robilad/tomcat-4.1.29-screenshot.png
[3] http://www.kaffe.org/~robilad/eXist-0.9.2-screenshot.png
[4] Ant screenshots would be quite boring. ;)
[5] http://www.klomp.org/mark/classpath/Screenshot-Kaffe-Eclipse3.png
[6] http://www.kaffe.org/~robilad/jboss-3.2.2-screenshot.png
_______________________________________________
Discuss mailing list
address@hidden
http://lists.userlinux.com/cgi-bin/mailman/listinfo/discuss
List administrator: address@hidden 510-526-1165
Perens LLC / 1563 Solano Ave. / PMB 349 / Berkeley CA 94707 / USA