classpath
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]