A new version of Kaffe has been released. Kaffe is a free software runtime environment for programs written in Java. Among many bug fixes, and code cleanups, the new release added support for policy files, and improved posix threads, crypto, SSL and sound support.
Now that IBM and Sun will be talking about the possibility of supporting a free version of JVM and using it as a standard, I wonder if projects like Kaffe could gain something from what comes out of this. It would be nice if they used what projects like this have already done as a codebase, but I guess they would rather use their own implementations instead. Concerning Kaffe itself, is there any plan for it to implement VM sharing someday?
what do people actaully want to opensource about java the JVM ?? so people can contribute to it ?? if so thats fine, but wont that kill of all these other java version e.g. blackdown etc…
Snake
There are a few things Sun could do to make the lives of the developers of free versions easier. Access to the TCK, friendlier licensing terms on the documentation, removing ‘must implement all at once’ restrictions, and making clear that they will not pull a SCO on the developers of free versions.
As far as using the codebase goes, Kaffe is now largely switched to using GNU Classpath as the core runtime library implementation. Since all major free runtimes are cooperating on GNU Classpath development, it has made outstanding progress in the last year. Both IBM and Sun are cordially invited to join us in the development of free (as in software) versions of VMs and class libraries.
A fork of Kaffe called JanosVM was actually the first runtime to implement process separation, long before JDK 1.5 alpha was released. We need more volunteers to help with the merge of that code into the Kaffe source tree. It’s implemnted, we just need more helping hands to bring it into the main tree.
Read “What Kaffe is not” on their web site and you will get a good impression as to how useful this software is. I love how we have an existing technology (i.e. the Java programming language) that the oss community would like to have an oss version of and as always, instead of one good working version, we get a dozen useless ones. I’m sure that IBM and Sun won’t spend any amount of time looking to projects like Kaffe for help in getting a free, open-source Java implementation out to the public. Why would they? Sun doens’t need the oss community to get Java rolled out. They already have Java and it works great. The only thing I can say about this is thank God that Sun and IBM might actually get this accomplished because otherwise it never will. Oh wait, I take that back. I hear that there will be a GNU version of Java released with the HURD.
If you do a bit of research, you’ll find that all open source VMs use the gnu.classpath library. They only differ in the VM implementation. This is similar to how IBM’s and Sun’s JVMs have the same class library but different VMs.
Why did you even bother posting that rant? As long as we *get* an Open Source Java implementation in the end, who cares who writes it?
“Sun doens’t need the oss community to get Java rolled out.”
The “oss community” is a broad umbrella term covering absolutely everyone who chooses to work on Open Source code for any reason. Sun and IBM are already members.
Sun qualifies through its contributions to e.g. OpenOffice and Gnome, and IBM has contributed stuff like JFS and given Linux some much-needed marketing. Similarly, whoever goes about writing the Open Source Java implementation will by definition be a member of the Open Source community.
So what about BeOs is someone gonna do a port for BeOs
Oh yeah, you are totally right. Sun writes open source software, so do the Kaffe people. They are exactly the same. My Bad.
I was just looking at Kaffe. I read that there was a version that would run on Pocket PC. I havn’t been able to find a Java VM for my PDA and hoped this would work out. Alas, I couldn’t find it. I guess the Pocket PC vers is Vapor.
See http://bekaffe.sourceforge.net/ for a working fork of an older version of kaffe. All it takes is a BeOS developer willing to merge that code back in the main tree on http://www.kaffe.org. Drop me an e-mail if you feel like doing it.
There is an older version that runs on PocketPC at http://www.rainer-keuchel.de/wince/kaffe.html . Contact me if you’d like to volunteer to merge the code back into the main tree on http://www.kaffe.org .
Dear anonymous poster, you may want to take a look at my comments on OSNews when the last version of Kaffe was released here: http://www.osnews.com/comment.php?news_id=5396#177479 .
I sincerely hope that helps to alleviate your fears. Noone is going to force you to use Kaffe instead of the JDK.
For some people, in particular in embedded systems, research, non-mainstream operating systems, free software and other communities, it has its virtue. For others, like yourself, it may not have any. Maybe it will next year, though, you never know.
It’s been moving at a very quick pace in the last year and a half ( see http://www.kaffe.org/~robilad/loc.png ). It can run a lot of ‘common’ applications like Ant and Tomcat 4 ( http://www.kaffe.org/~robilad/tomcat-4.1.29-screenshot.png ). Tpgether with the developers of other free runtime environments using GNU Classpath ( http://www.classpath.org ) we are quickly moving towards having most of the class library implemented necessary to run common applications. Even a free software SWING implementation is in the works now, and shows some promise: http://people.redhat.com/graydon/free-swing-feb-09-2004.png . That code is not in kaffe yet, but should be there in the next release.
Of course, there are still some bugs left in Kaffe and its class library, presumably like in any other piece of software larger than 800000 lines of code. The good thing with free software like Kaffe is that we can try to fix the bugs together. The more eyeballs join in the hunt, the quicker we can squash them.
Look, I love oss. It’s definitely the future. Don’t get me wrong. I have all the respect in all the world for the people who work on. Their intentions are something to be admired. I even donate money to the FSF. I love Java too. I would very much like to see it become free software. But the criticisms that poeple have in regards to the oss community (i.e. that there is too much derision and consequently forking) it is very valid. I am currently working on a Java project and have been having some problems with gettin a good version of Java running on FreeBSD. I then saw this article about Kaffe and got excited. But when it was very obvious that it wouldn’t run my rather simple app, I thought “What’s the point?” I mean seriously, why bother? Why not work on other projects that has some meaning? Like other attempts at making a free version of the JVM. That’s all. But I think that things like this will disappear over time. The wheel has already been invented. No point in trying to make several more inferior versions of it.
In my experience, forking is a good thing. It allows people to try out new ideas, and solve problems relevant to them, without having to bother solving problems that are not relevant to them. There are a lot of kaffe ports to specific platforms (like BeOS, or WinCE I cited above) that are essentially forks of a stable version. When a fork stabilizes. it’s time to merge it back in, if there are volunteers for doing it. Otherwise it can happily live on. There is a fork of kaffe for MIDP, for example. Another fork implemented process separation last year already.
Kaffe is developed in a similar fashion to the linux kernel: GPL, no copyright assignments, and lots of forks that have their advantages for the specific problem they are trying to solve.
If you’d like to send in a descriptive bug report to the kaffe mailing list, maybe we could try to fix whatever problem there is.
As you say, there are other projects that attempt to make a free version of a runtime for java code. You could try them out, if you are unsatisfied with kaffe. Maybe you’ll find one that suits your needs better. Maybe you’ll find another inferior wheel. To take the wheel analogy a little further, I doubt that an attempt at creating a better cart wheel would come up with a superior wheel rubber tires immediately. It took a few thousand years to get there, afaik.
Fortunately, I believe the free runtimes wlll be able to meet the needs of people running rather simple apps rather quickly. Complicated apps, like tomcat4, seem to work quite alright (with the exception of ocassional bugs), though.