OpenJDK

Interview with Andrew Haley, Tech Lead, Open Source Java at Red Hat


We asked Andrew Haley about how Red Hat is a leading force for open standards, and about the role the JBoss Community and JBoss Enterprise Middleware play in promoting them.

Q: Please tell a little bit about yourself, your job title, and what projects you are currently involved in?

A: I've been at Red Hat for twelve years, specializing in compilers and other aspects of programming language technology. At the moment I'm the technical lead of the Open Source Java team. We are responsible for the delivery and support of the core Java SE system, both to Red Hat's software developers and to our customers.

Q: What is OpenJDK?

A: OpenJDK is a complete implementation of Java SE, the core Java platform. It is fully free Java, unencumbered by proprietary licenses. It is based on a very large code base that was released by Sun on May 9, 2007.

Q: How does OpenJDK benefit users? What problems will it solve?

A: Java, despite its enormous technical advantages, never really took off for general use on free/open source operating systems such as Red Hat Enterprise Linux because its licence meant it couldn't be included in the core distribution. So, anyone shipping an application written in Java had to require users to download the Java runtime and install it on their machine. Other language platforms didn't have this problem, and people could just download an application and run it immediately. Sun have now freed OpenJDK, so we can ship it in the core OS. Java is such a great applications platform that it should now be one of the first choices for developers.

Also, the fact that OpenJDK is free software means that developers all around the world can co-operate to improve the platform: make it run on more systems, make it faster, test it more widely. This is good for everyone.

At Red Hat we have a strong test infrastructure that allows us to test OpenJDK continuously, with standard compliance tests and regression tests run every night on the development versions of OpenJDK. This ensures that when customers and users receive OpenJDK packages they can be confident in the quality and reliability of the implementation.

To begin with, the OpenJDK released by Sun wasn't complete and my team had to do a lot of work to integrate software from other projects such as GNU Classpath. That's much less true today, though, as we've worked with Sun to fill the gaps.

Q: How will JBoss developers and customers see these benefits? (project & product view)

A: At Red Hat we run the official Java SE Compatibility test suite on OpenJDK. This test suite has a crucial role in Java: to be called Java-compatible, an implementation must pass every one of tens of thousands of tests. Simply running this test suite on OpenJDK is a substantial effort, and as far as I'm aware most Linux vendors don't do it.

Having a team on hand that is expert in the internals of the Java SE platform will undoubtedly be useful to the JBoss developers, especially as JBoss products are being moved forward onto new versions of the platform, Java 6 and the forthcoming Java 7. Red Hat's customers will surely benefit from this too, especially in the area of security. The OpenJDK team works very closely with the Red Hat Security Response Team to ensure timely security fixes for our products.

Even before OpenJDK was released by Sun, the members of the Red Hat Open Source Java team already had excellent contacts with many of the free software community. We work closely with others in the community to deliver and customize OpenJDK.

Finally, it's worth pointing out that OpenJDK is a very high-performance Java implementation: it gives away nothing in terms of speed to its proprietary rivals. You really can have the most free Java and the best.

Q: How did you come to lead this effort? What have you done so far?

A: I've been working on Java language support since the beginning of 1999. Initially this was on a project called gcj which was started by Cygnus, a company that merged with Red Hat in early 2000. Red Hat had a small team to support gcj, so when Sun decided to release the free OpenJDK we were the obvious people to form the kernel of a larger team to work on that. We had a great deal of Java language implementation expertise, so we could hit the ground running.

Q: Where can I learn more about OpenJDK?

A: If you're using Red Hat Enterprise Linux or Fedora, just click on your favourite Add/Remove Software tool and select "OpenJDK Development Environment". Everything you need is there.

http://openjdk.java.net/ is the first port of call for those who are interested in learning about Java or contributing to the OpenJDK project.

For those who would like to contribute, OpenJDK developers communicate using the mailing lists at http://mail.openjdk.java.net. There is a bewilderingly long list of lists, but people interested in Linux-based systems should start with distro-pkg-dev.