Oracle JDK vs OpenJDK and Java JDK Development Process

Last modified on December 15th, 2014 by Joe.

This article is to discuss about the difference between Oracle JDK and OpenJDK, then followed by a highlight on the JDK development process. Before going into detail let us recap on what is JDK?

What is JDK?

Java Development Kit (JDK) consists of Java Runtime Environment (JRE) along with tools to compile and debug Java code for developing Java applications. JRE consists of libraries, Java Virtual Machine (JVM), Java Pluging and Java Web Start to run Java applications. JRE as a stand-alone does not contain compilers and debugging tools.

Oracle JDK vs OpenJDK

How Oracle JDK and OpenJDK is kept in Sync?

For such a huge code base it should definitely be a complex process. All of the development and bug fixes happens in OpenJDK and then they are propagated to the Oracle JDK. Security fixes happens in private forest without public code reviews unlike general fixes, then they are pushed to Oracle JDK and then to OpenJDK.

As quoted by Martijn Verburg of JClarity in StackExchange, “Some vendors also choose not to push their changes back into OpenJDK. For example both Google and Twitter have modified OpenJDK versions that they use internally with bug fixes and features that have not gone back into the main OpenJDK project.”

What is IcedTea?

IcedTea was a project started by RedHat in June 2007. It is a hybrid between OpenJDK and GNU Classpath. GNU Classpath is a GNU project that creates a free software implementation for the standard Java class library.

IcedTea is a marriage between OpenJDK and GNU Classpath. IcedTea is currently bundled default with GNU/Linux distributions such as Fedora, Gentoo and Debian. java-web-plugin one component example completely rewritten for IcedTea and name icedtea-web.


Can I Contribute to OpenJDK development?

Yes any developer can contribute to OpenJDK.

Can I create my own Java JDK?

Of course, you can create your own version of Java JDK by using OpenJDK as foundation and building on top of it or customizing it. Once such Java JDK is created, can I claim that to conform to the Java SE specification? Before that, you need to apply to Oracle for access to Java Test Compatibility Kit (TCK) and get your Java JDK tested for compatibility against the specification. For example, few companies that have got such access are The FreeBSD Foundation, Red Hat, SAP, Twitter for Java SE 8. The complete list is given in OpenJDK page and as of now there are only 9 companies listed for Java SE 8.


This page is collated from various sources in Internet and intended to be a tutorial to know how things happen, just behind the screens. I do not belong to Oracle and do not represent Java or Oracle in any strength, I am just yet another Tech blogger. If you are taking business or legal decisions, please refer the authoritative pages on Oracle’s site.

Comments on "Oracle JDK vs OpenJDK and Java JDK Development Process"

  1. Poonam Gaigole says:

    I never knew this. I use Ubuntu that means I’m using Open JDK??? Awesome … Very useful :)

  2. dhrumil says:

    thank you for this article

  3. Kaushik says:

    Hey, its really very helpful.
    Thanks for such a nice information sharing.

  4. Khaleel says:

    Its great stuff to Joe. Thanks for collecting and feeding at one place for our easy dinner.

  5. Nakul says:

    Hey, nice article.

  6. Hogly Rubio says:

    Thankyou for this article, very helpful.

  7. Anonymous says:

    Thanks a lot for such nice stuffs!

  8. Bipin says:

    nice article.

  9. Sreekanth says:

    Thank you for sharing the information. This is really helpful.

  10. Anonymous says:

    very nice explanation BRO

Comments are closed for "Oracle JDK vs OpenJDK and Java JDK Development Process".