Open Source Java: Interview with an Apache Harmony Project Founder
The Impact of Harmony

Maria Winslow
Monday, February 27, 2006 11:11:00 AM
LinuxPlanet: Why do you think it's important to have an open source Java implementation?
Topic: After ten years, Java has become one of the most popular programming
languages. There is a wealth of free software written in
the Java programming language. We've now got several full
free software J2EE stacks that run on top of free software support
libraries, and on free software operating systems. There is only one
remaining proprietary wedge in those stacks, and that's the Java
implementation. I believe that one should not be forced to use
proprietary software in order to use and share free software with
other people.
Unfortunately, up to a few years ago, before the GNU Classpath
project led by Mark Wielaard started really taking off, most of that
software would require a proprietary Java implementation to run.
Having free software that's so intimately tied to proprietary code
made the free software written in Java less useful to users and
developers than it could have been. For example, on those platforms
where no company felt a business need to pay for a port of a
proprietary implementation, no software written in Java could run.
That included GNU/Linux, when the Kaffe project was founded in 1996.
Today, the free runtimes in the GNU Classpath runtime family are
increasingly capable of running the latest free software written in
Java, be it Eclipse, Azureus, or JOnAS. We're working together with
distributors to make sure that the free software written in Java can
be packaged, i.e., is building and working, with the free runtimes.
Distributions like Ubuntu, Fedora, Debian, and others are shipping
Eclipse and OpenOffice.org working on top of gcj and GNU Classpath
today, which translates to millions of lines of code
no longer forcing proprietary virtual machines down the throats of
free software users and developers.
In addition, the free software runtimes around GNU Classpath are
leading to some innovations in the Java space: IKVM allows
Java code to run unmodified on top of .NET, JCVM, and gcj allow Java
bytecode to be pre-translated ahead of time into fast native code,
while projects like JNode are working on making the idea of a native
Java operating system come true.
LinuxPlanet: What is the current status of Harmony within the Apache Software Foundation?
Topic: The Apache Harmony project has received several generous
contributions. Archie Cobbs and Dan Lyddick have both contributed
runtime engines, and IBM and Intel have contributed class library
source code. Currently Archie and other Apache Harmony developers are
working on publishing a first snapshot of the work that went in over
the past nine months.
LinuxPlanet: If Sun releases Java as open source, or allows
distribution on Linux, how would that affect Harmony's future?
Topic: It would be nice if Sun one day suddendly decided to release the
source code for their J2SE implementation under an OSI-certified open
source software license. I think Harmony, just like other free
runtimes projects, would take a sharp look at the code and decide
what they could reuse. I'd hope that Sun would work with the Apache
Harmony project and other projects if they decided to go the open
route.
Unfortunately, for a lot of business reasons at Sun, I don't see it
happening in the near term future, although I know that it's a
somewhat popular speculation.
I believe that Sun has missed that boat a few years ago, when a lot
of people finally decided that they had enough of waiting for them to
do the right thing and join us, and started routing around the
problem, by working hard to make sure that the best implementation of
the platform in the future will be free software.
A different proprietary license for Sun's proprietary software would
not change anything. Developers and users increasingly do not want to
spend their time and energy dealing with the bizarre whims of
proprietary software publishers, if the free software alternatives
work equally well or even better. I'd expect the free software
runtimes in the GNU Classpath family, like Kaffe, gcj or Cacao to
become seamless drop-in replacements for proprietary implementations
in the next three years, removing the need for people to bother with
the proprietary implementations when they want to use free software.
LinuxPlanet: What is the relationship between IBM and Harmony?
Topic: IBM is the employer of one full-time developer on Apache Harmony.
They have contributed the implementation for a part of the core
class library.
LinuxPlanet: Which version of Java are you targeting?
Topic: Apache Harmony is targeting J2SE 1.5.
LinuxPlanet: What can we expect in the future from Harmony?
Topic: I would expect Apache Harmony to spend this year in a reasearch
and integration phase, where different components from different
sources are still being made to fit well together. I'd love to see
Apache Harmony run Eclipse next year, and I assume the project will
apply for a TCK scholarship once it has reached such a milestone, to
be able to run the compatibility test suites and keep improving the
compliance with the specifications.
I would expect Apache Harmony to become useful in the next three to
five years, depending on how many companies it can attract to
contribute components to it. Since Apache Harmony is deliberately not
using GNU Classpath, it will have to write all the class libraries.
As that took GNU Classpath around 10 years, I'd expect Harmony to
at best compress that to 5 years, assuming everything works out
optimally.
Apache Harmony has already succeeded in one major thing: making free
software Java runtimes something that most Java developers are no
longer afraid of.
LinuxPlanet: Thanks very much for speaking with us about the Harmony project.
As an open source strategy consultant, Maria Winslow assists clients
in understanding the technical and budgetary impact open source
software will have on their computing environments. Her current
book, The
Practical Manager's Guide to Open Source, guides IT directors
and system administrators through the process of finding practical
uses for open source that will integrate seamlessly into existing
infrastructures, as well as understanding the costs and savings.
« Back: The Origins of Harmony