It has been quite interesting to see that passions that have been ignited since the Apache Harmony announcement. The majority of postings I have read jump to the conclusion that this effort will try to create a new JVM and class library to compete against or replace gcj, Kaffe, and GNU Classpath. It is easy to see how somebody could have this opinion since the announcement was unclear on the implementation (approach). I feel fairly confident that this is not the case. Since the announcement (and prior to the announcement) Classpath and Apache developers have had irc discussion on how to move forward (together) on this effort. Mark Wielaard (project leader for GNU Classpath) created a page that captures his thoughts on Harmony. This page has links to other documents relevant to this discussion. You can find it here.
The progress made by free java developers is nothing short of amazing. If you are interested in developing free java applications you will find that there are stable and robust compilers, runtimes, class libraries, application servers and development environments. The entire software stack runs on free software. A lot of hard work has gone to get us to this point. I must say that free java is alive and well.
Java in GNOME
The larger question to be answered is what place does Java have in GNOME. I personally find the entire debate of Java vs. Mono misguided at best. Developers should have the freedom to choose the language of their choice when they write applications targeting GNOME. That is why we have C#, Java, Python, Perl, C++ and other language bindings. It is possible to do this because the majority of the platform libraries are written in C. If we allow core platform libraries to be written in C# or Java or (pick another high-level language) we immediately limit the ability of language bindings to provide this core capability to their users. My argument for not including Mono or Java in the platform has nothing to do with a possible threat from Microsoft or Sun. It has to do with freedom and choice.
I think Java, Mono, Python, C++, and other language bindings have an important role to play in the application space. They all contribute to the rich GNOME environment we love so much.