The difference between
OpenJDK and Oracle JDK
Want to collaborate on an open source version of Java SE? Head to OpenJDK.
Both individuals and companies (Apple, IBM, Oracle, Red Hat, and more) contribute code to OpenJDK. Oracle uses OpenJDK as the code base for Oracle JDK, and
other organizations—particularly Linux distributions—produce builds of the Java
platform based on OpenJDK sources for their distributions. Oracle JDK is a specific
implementation of the JDK that is produced by Oracle. Although the code bases
are very close, Oracle JDK has some minor differences. For example, Oracle JDK
includes closed-source third-party components like a graphics rasterizer, third-party fonts, and additional documentation. Over time, Oracle intends to open
source as much of Oracle JDK to OpenJDK as it can, except commercial features
(such as Oracle JRockit Mission Control). Most of this open sourcing work involves
replacing closed-source third-party components with open source alternatives or
negotiating licensing agreements with third parties.
JAVA IN ACTION
Why use one over the other?
From a feature perspective, there is not much difference between Oracle JDK and
an OpenJDK build. Oracle publishes up-to-date and fully tested JDK binaries for
popular development and server platforms. For most end users and developers,
this is the most convenient way to get Java. If you are an enterprise user and need
long-term support, or you want the most-predictable binary distribution for an ISV
application, Oracle JDK is the better choice of the two. If you want to build, create,
and tweak your own JDK, perhaps to address a niche performance variable or to
support a specialized platform, you will want to use OpenJDK as your code base.
THE GOOD NEWS
Diversity is important
for open source
Unfortunately, I think some people
assumed the worst during the quiet period
of 2009 during the acquisition, which as a
bystander at the time seemed to take forever.
But as soon as they could, Oracle made it clear
that we were serious about OpenJDK. We
wanted it to be the place to do Java SE development, first and foremost, and we wanted a
lot more diversity, which means having a lot
of the key Java stakeholders participate.
Java Magazine: Can you give us some concrete numbers that shed light on OpenJDK
Smith: First, let’s agree that diversity is
important for open source projects. One of
the lessons I learned at Eclipse is that diversity is an important metric for the quality and
longevity of projects. Optimally, you want
to have a diverse mix of types and sizes of
organizations and some key individuals participating in an open source project. It’s also
a plus to have diversity based on geography,
experience, and other factors.
For OpenJDK, the initial code base and
contribution came from Sun and then Oracle
so we started from a position of low diversity,
which is typical of many open source communities that start with a large initial contribution. But we want to keep pushing in the
direction of more diversity. We can debate
how fast and how far we move toward this,
but pretty much everyone in the community
agrees that we seek diversity.
The good news, based upon
the census taken when the
bylaws were approved in mid-
2011, is that we have about
350 developers in the OpenJDK
community, and about 80 of
those are not employed by
Oracle. This is a good start.
We can also look at diversity in
terms of e-mail traffic—about
40 percent of the e-mail traffic,
according to MarkMail, is from
Java Magazine: Can you talk
about the OpenJDK community
Technology Compatibility Kit
[TCK] for Java SE 7?
ORACLE.COM/JAVAMAGAZINE /////////////////////////////////////////////// MAY/JUNE 2012