OpenJDK FAQPublished: December 18th, 2010
Open Source, Open Innovation, Open Standards
What are Oracle's plans to support open innovation in Java?
We intend to to continue to support open-source and open standards. Oracle is committed to offering choice, flexibility, and lower cost of computing for end users, and we cannot stress enough the importance of using open standards, whether in the context of open-source or non-open-source software.
Does Oracle practice open-source development?
Oracle is leading or involved in a large number of open-source projects. Please see http://oss.oracle.com for a list of open-source and for more information about open-source at Oracle.
Can I learn more about Oracle's view on open-source and open standards?
Sure. See http://www.oracle.com/technetwork/oramag/2010/o40interview-086226.html for an interview with Oracle Chief Corporate Architect Edward Screven on the importance of open source and open standards.
Oracle's plans for OpenJDK
What are Oracle's plans for the OpenJDK Community?
Oracle plans to continue to work on the next release of the Java SE platform with the Java community as part of the OpenJDK project. OpenJDK is the only open-source Java SE implementation to which Oracle plans to contribute.
Is Oracle committed to OpenJDK?
Yes. Oracle remains committed to OpenJDK as the best open-source Java implementation and we will continue to improve OpenJDK and welcome external contributors.
Could you elaborate some more on Oracle's plans for OpenJDK?
Of course. The roadmap announced at JavaOne 2010 for Java SE accelerates the availability of Java SE with two releases, one in 2011 and one in 2012. The corresponding OpenJDK releases will continue to serve as the basis for the Oracle Java Development Kit (JDK) 7 and JDK 8. You can find out more about the roadmap and Oracle's plans at http://blogs.oracle.com/henrik/2010/10/java_roadmap_from_javaone_2010.html.
What is JDK 7?
JDK 7 is the name of Oracle's implementation of the next version of the Java SE platform. The JDK 7 Project in the OpenJDK open-source Community is the where Oracle, in concert with the broader Java and open-source community is working on implementing the features to be specified in the recently-approved Java SE 7 JSR.
What happens with JRockit? Will it become part of OpenJDK?
Oracle engineers are currently working to merge the Oracle Java HotSpot Java Virtual Machine (JVM) and the Oracle JRockit JVM into a converged offering that leverages the best features of each of these market-leading implementations. Oracle plans to contribute the results of the combined Oracle Java HotSpot and Oracle JRockit JVMs into OpenJDK.
Will Oracle change the OpenJDK licensing model?
No. The OpenJDK Community continues to thrive with contributions from Oracle, as well as other companies, researchers, and individuals, and the GPL-based licensing model is one large part of this success. Oracle has no plans to change it.
I heard that IBM is joining OpenJDK?
Yes. Oracle and IBM announced in October 2010 that we will collaborate in the OpenJDK Community to develop the leading open-source Java SE implementation, and make the OpenJDK Community the primary location for open-source Java SE development. Oracle and IBM will support the OpenJDK development roadmap that was proposed before JavaOne 2010, which accelerates the availability of Java SE across the open-source community. The collaboration between Oracle and IBM builds on the success of OpenJDK as the primary development platform for Java SE, and of Oracle's and IBM's long history of contributions to the Java community. You can find out more about the roadmap and Oracle's plans at http://blogs.oracle.com/henrik/2010/10/java_roadmap_from_javaone_2010.html.
OpenJDK Users & Contributors
Who uses OpenJDK?
Major Linux distributions such as Ubuntu, Fedora or Red Hat Enterprise Linux offer OpenJDK as their default Java SE implementation. In addition, the Eclipse Community Survey 2010 found that while most Java developers use Oracle's commercial JDK releases, 21% of the developers participating in the survey used OpenJDK. Last but not least, many academic institutions publish research referencing or based on OpenJDK.
Who contributes to OpenJDK?
Most OpenJDK contributors are engineers employed by companies like Oracle to work on OpenJDK. In addition, the OpenJDK Community has a strong showing of academics, open-source operating system distribution developers, and individual software developers with an itch to scratch. Oracle has no plans to change the contribution model and is gladly accepting new contributors. In order to learn how to contribute to OpenJDK, please see http://openjdk.java.net/contribute/.
Why is Oracle participating in OpenJDK ?
Oracle is committed to developing the JDK codebase using an open-source model. Oracle is committed to this way of working because it allows the best ideas for evolving the technology to be shaped and brought into the codebase by lowering the barriers to participation.
Is Oracle welcoming new contributors into OpenJDK?
Absolutely - but be prepared to do a lot of learning! A good way to get into the project is to subscribe to a mailing list on a subject that interests you, watch discussions and reviews to pick up the tone of developers working in that area, and to then start reviewing patches proposed by other OpenJDK Community members.
Will Oracle make the Java SE 6 TCK available to the OpenJDK Community?
For implementations meeting the requirements of the OpenJDK TCK License Agreement, a process to obtain the TCK is documented on the OpenJDK web site in the Conformance Group at http://openjdk.java.net/groups/conformance/JckAccess/index.html.
How can I test whether my OpenJDK based implementation is Java SE compatible?
To test for compatibility of your implementation to the Java SE specification, you will need to apply to Oracle to obtain access to the Test Compatibility Kit (TCK). Oracle makes the Java SE TCK available under a variety of commercial and non-commercial agreements. If your implementation meets the condition of the OpenJDK Community TCK Licensing Agreement, then you can request access to the JCK under those terms.
Is the list of organizations and individuals who have acquired the Java SE 6 TCK via the OpenJDK TCK License Agreement available?
Can I use OpenJDK as the foundation to create a fully open-source build that can meet the compatibility requirements of the Java SE 6 TCK?
Yes. The first such builds, based on the source code published in the OpenJDK 6 project, were announced in 2008.
Contributing to OpenJDK
Is Oracle planning to change the way developers participate in OpenJDK ?
No. The OpenJDK project continues to accept contributions under existing contributor agreements, and to accept new contributors under the same terms. There are no plans to change the participation model at this time.
Should I continue to discuss my ideas in projects in Open JDK?
Absolutely! If you'd like OpenJDK developers to know about your ideas, please take some time to locate the most appropriate OpenJDK project to raise them in and be sure to visit this page, which describes how to contribute in general. Many developers have contributed valuable ideas to projects in OpenJDK and Oracle hopes that will continue.
Under what terms can I participate in the OpenJDK mailing list discussions?
If I don't work for Oracle, can I participate in OpenJDK?
Of course, we'd be happy to have you join! You can participate under the same conditions as other contributors. See http://openjdk.org/contribute for details.
Can I continue to discuss bug fixes and feature enhancements in the mailing lists in OpenJDK?
Yes, and Oracle welcomes your participation.
What open-source license is OpenJDK published under?
GPL v2 for almost all of the virtual machine, and GPL v2 + the Classpath exception for the class libraries and those parts of the virtual machine that expose public APIs.
How do I know which license applies to a given source code file in OpenJDK?
Each source code file is individually licensed - look for the copyright header with the license information.
Why don't you use a different open-source licensing model?
When OpenJDK was created, it adopted the most popular open-source licensing model for open source VMs at the time. The licensing model has served the project well over the years, ensuring its steady growth and adoption, while minimizing risks of proprietary forks and fragmentation.
Can I download the OpenJDK source code?
Are there any restrictions on what I can do with it?
OpenJDK is released under an well-known open-source licensing model, that places no restrictions on your ability to run OpenJDK. Please check the legal section of the OpenJDK project site to understand the scope of your rights and obligations.
Can I expect to get specific legal advice or answers to my legal questions on OpenJDK mailing lists?
In general, no. The OpenJDK mailing lists serve for technical work around development of specific OpenJDK projects.
JDK 7 & JDK 8
Will the features in the OpenJDK builds also make it into in other implementations of Java SE?
Other compatible implementations of Java SE contain the features defined in the JCP for the platform, so it will depend on which of the features Oracle proposed to the Java SE expert group are accepted for inclusion into the platform. Or it may depend on whether the feature itself is judged to be implementation specific (like a performance enhancement) or one that all implementations would like to include (like a new developer API).
Is Java development frozen?
Definitely not! Oracle engineers and the OpenJDK Community are busy working on JDK 7 as well as on JDK 8 Projects such as Project Lambda and Project Jigsaw. JDK 7 early access builds are available on http://jdk7.java.net.
Will the Java programming language continue to evolve?
Yes. We are actively at work on major language and platform improvements, such as Project Lambda, Project Coin, Modularity, parallel libraries, and more. Oracle has increased the investment in these areas since the acquisition.
Can I use OpenJDK builds to experiment with new features like the invokedynamic bytecode instruction?
Of course. You can either build OpenJDK binaries yourself by following the build instructions, or save time and get a binary snapshot release of the latest JDK 7 build from http://dlc.sun.com.edgesuite.net/jdk7/binaries/.
I'd like to use an upcoming JDK 7 feature in my production code. Can I rely on all features from binary snapshot releases of JDK 7 making it into the final release?
Not necessarily: While JDK 7 binary snapshot releases contain a lot of features that are ready to get feedback from a broader Java developer audience, not all of them may make it into a final release, depending on a developer feedback, among other aspects. In other words, if you like a feature, please do tell the developers about it - positive feedback is at least as welcome as negative feedback!
Oracle JDK and OpenJDK
Is Oracle JDK based on OpenJDK?
Yes. Oracle JDK is based on the OpenJDK source code. In addition, it contains closed-source components. The final result is licensed under a Binary Code License.
What is the Binary Code License?
It’s the license Sun has used for the JDK and JRE (and many other Java products). You have to accept the license prior to downloading/installing Java. See http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u21-license-159167.txt for the license text for Oracle JDK 6u21, for example.
How much does OpenJDK cost to download?
Oracle makes the OpenJDK source code available under an open-source licensing model. It's both gratis, and free (as in freedom) software.
Doesn't OpenJDK make other Java SE implementations superfluous?
No. Java users can benefit from a choice of compatible Java SE implementations provided by multiple vendors under various commercial models. The different compatible Java SE implementations compete on aspects such as tuning to different architectures, performance, tools and deployment.