[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
UserLinux & free runtimes for java applications
From: |
Dalibor Topic |
Subject: |
UserLinux & free runtimes for java applications |
Date: |
Sun, 21 Dec 2003 19:14:43 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312 |
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
- UserLinux & free runtimes for java applications,
Dalibor Topic <=