Progress

Inspired by A Brief History of GNU Classpath created by Casey Marshall I looked at the actual lines of source code of GNU Classpath. Running SLOCCount on the releases of the last year gives:

Release Date SLOC
0.06 09 Sep 2003 185,803
0.07 05 Dec 2003 192,296
0.08 13 Mar 2004 200,471
0.09 02 May 2004 211,736
0.10 12 July 2004 225,049
CVS 17 Aug 2004 253,023

That means that in the last year GNU Classpath has grown with 67220 physical Source Lines of Code. SLOCCount automatically substracts comments and duplicate/similar pieces of code (the FindBugs paper said GNU Classpath 0.08 was 457 KLOC, but they just used wc -l on all the .java source code files, which gives a much higher number, but not a fair realistic one). So on average over the last year we have been growing at more than 190 lines of pure source code each and every day (including holidays and weekends).

If you want to see a nice overview of the progress that has been made please check out Jim Huang his presentation free-java-debian. It is in traditional chinese, so make sure you have some chinese fonts installed (xpdf displays the .pdf nicer than gpdf for me and OpenOffice gives some warnings opening the .ppt file, but renders it really nicely). But even you are not fluent in Chinese read it! It includes pictures of the different AWT backends (check out kawt – DirectFB AWT backend!), Odonata, GCJWebplugin + Frozen Bubble applet, native eclipse + kaffe integration, Kaffe + GL/SDL, J2ME (MIDP) MicroEmulator, SwingWT, Charva, Tomcat5 management console, X-Smiles, JavaTV (ftv) on kaffe, KOE/XEO (including webbrowser!), GTK+ 2.4-based AWT/Swing and Java-GNOME. Even if you think you know everything there is out there in the free software world written and deployed on free java-like environments these pictures will surprize you. And the English slides give a nice overview of the dangers of proprietary/SCSL licensing, an overview of GNU Classpath, gcj, kaffe, IKVM and JC VM and benchmarks between the different free and proprietary runtimes (including Latte!).