Java in Harmony

There's a bunch of people wanting to start an open source (free, as in freedom) Java 5 implementation named Harmony ("Proposal":http://mail-archives.apache.org/mod_mbox/incubator-general/200505.mbox/%3cCA4BEB82-3D84-457D-9531-1477DD749919@apache.org%3e, "FAQ":http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200505.mbox/%3C50351021-6408-437D-949A-7AF2AD4DFD0F@apache.org%3E) under the Apache umbrella:

We propose that we create a new Apache project, Harmony, that will achieve the following goals :

1) create a Compatible, independent implementation of J2SE 5 under the Apache License v2

2) create a community-developed modular runtime (VM and class library) architecture to allow independent implementations to share runtime components, and allow independent innovation in runtime components

In doing so, we intend to create a broad, collaborative community of contributors, implementors and users of the modular platform specification.

Reimplementing the Java VM and possibly its class libraries is a lot of work. A lot. If you do something like this -- reimplement a development platform -- you better have a pretty damn good reason. Mono had such a good reason. .NET was a Windows-only technology until Mono came along. People wanted to run it on Linux and other operating systems as well, so they reimplemented as an open source project that runs on all kinds of operating systems. However, Java already runs on most operating systems. So why reimplement the whole thing? Just because the current version is not open source?

Who's going to be your audience? Sun has worked on this implementation of Java for years. They hired smart people to optimize it and make it fast. Why not just use that implementation. Who's going to care whether the code is open source licensed or Sun Whatever licensed? Consumers won't care. Is it just for the Richard Stallmans of this world that now might consider Java?

"Tim Bray (of Sun)":http://www.tbray.org/ongoing/When/200x/2005/05/08/Java-Harmony:

Suppose they pull it off, and that there's an OSS J2SE that anyone can download, build, and change. Why is this a good thing? If you're a member of the Free Software movement, the project is its own reward for reasons of pure ideology having nothing to do with technology, engineering, or business. I'm not among the faithful, but I've nothing against 'em. How about for the rest of us; are there any actually any practical real-world advantages? I’d think the most obvious win would be around patching and bug-fixing. In my experience, OSS software gets bugfixed quicker and better.

Bugs might be fixed faster. Ok.

But really, is it all worth this much trouble? And what if Sun decides to release their implementation as open source in a couple of years, which wouldn't surprise me?

Some more comments: * "Miguel de Icaza of Mono":http://primates.ximian.com/~miguel/archive/2005/May-07.html * "Tim Bray":http://www.tbray.org/ongoing/When/200x/2005/05/08/Java-Harmony * "Graham Hamilton of Sun":http://weblogs.java.net/blog/kgh/archive/2005/05/thoughts_on_the_1.html