A small firestorm was set off over the weekend as Slashdot noted the proposed creation of Apache's project Harmony. Since I tend to not read Slashdot on weekends the first I heard of this was from a phone conversation with the other former Classpath project maintainer. After getting the scoop from #classpath however I'm quite happy that Apache has taken an interest in making Java permanently free software. Below are my list of pragmatic reasons for why Java must be free software.
- What Sun gives freely today, may not be free tomorrow. Anyone who has built a house of cards understands what happens when you pull out a card from the foundation.
- Sun provides Java runtimes free of cost on only a few processor architecture/operating system combinations. This leaves out many others that should not be left behind or to innovate without.
- When developers encounter a bug in the Java runtime provided by Sun they are legally barred from fixing the bug and using the fix in their software (where you want to distribute the result), forced instead to wait for Sun to release an official version.
If you are a developer looking for more information, read Mark's email to the Classpath community concerning Harmony.
What concerned me most about project Harmony had to do with the phrase, "from scratch". Everyone in the free software Java world is aware that GNU Classpath has been around for 7 years now. There is no need to start from scratch. There are recourses available to us, Classpath's contributors, should Apache and the FSF not work things out on their own that can still prevent re-inventing this wheel.
To the critics of the current free software Java initiatives and the comparisons to Mono in terms of pace of development, please keep in mind that Mono has had paid, full-time, hackers from day one. I was never paid to work on Classpath, which is rather unfortunate because I really wanted to be and I think a number of Classpath's current hackers would make that claim today.
Harmony can be a good thing for us all, to ensure Java remains a free and viable platform for implementing software whether or not Sun continues to support it, or exist.