Kaffe
Kaffe is a free software VM and development environment for programs written in the Java programming language. As an independent implementation, it was written from scratch and is free from all third-party royalties and license restrictions. It comes with GNU Classpath core class libraries, and a highly-configurable virtual machine with a just-in-time (JIT) compiler for enhanced performance. Kaffe integrates the bleeding edge of class library development and associated utilities into one package. It is capable of running Tomcat, Ant, Eclipse, and various other modern applications.
Kaffe is a clean room design of a Java Virtual Machine. It comes with a subset of the Java Platform, Standard Edition (Java SE), Java API, and tools needed to provide a Java runtime environment. Like most other Free Java virtual machines, Kaffe uses GNU Classpath as its class library.
Kaffe, first released in 1996, was the original open-source Java implementation. Initially developed as part of another project, it grew so popular that developers Tim Wilkinson and Peter Mehlitz founded Transvirtual Technologies, Inc. with Kaffe as the company’s flagship product. In July 1998, Transvirtual released Kaffe OpenVM under a GNU General Public License. Now it is developed by a world-wide team of programmers. Beside the mailing list, the developers can often be reached via IRC in the #kaffe channel on irc.freenode.org.
Kaffe is a lean and portable virtual machine, although it is significantly slower than commercial implementations.[1] When compared to the reference implementation of the Java Virtual Machine written by Sun Microsystems, Kaffe is significantly smaller; it thus appeals to embedded system developers. It comes with just-in-time compilers for many of the CPU architectures, and has been ported to more than 70 system platforms in total. It runs on devices ranging from embedded SuperH devices to IBM zSeries mainframe computers, and it will even run on a PlayStation 2.
Kaffe is a great choice as a base for virtual machine education and/or research, or if you need a virtual machine as an integral component of an open source or free software Java distribution.
Kaffe is not an officially licensed version of the Java virtual machine. In fact, it contains no Sun source code at all, and was developed without even looking at the Sun source code. It is legal — but Sun controls the Java trademark, and has never endorsed Kaffe, so technically, Kaffe is not Java.
Kaffe is constantly under development, and lacks compatibility in many ways with the current releases of Java. It lacks many key features of a full Java virtual machine implementation – including security related features such as a complete bytecode verifier essential for running untrusted code.
Kaffe is not the best Java virtual machine for developing Java applications, as it lacks much in the way of documentation, compatibility, debugging/profiling support, etc. If you are learning Java, or are looking for a complete Java development environment, you will probably be best served by using a “real” Java development environment (such as the JDK) licensed from Sun. Check out our links page for more information.
Kaffe is not the only free software Java project. There are other worthy VM and class library implementations to consider. Please check out some of the other projects on our links page.