OpenJDK

Last updated

OpenJDK
Original author(s) Sun Microsystems
Developer(s) Oracle, OpenJDK and Java Community, Red Hat, Azul Systems, IBM, Microsoft, Amazon, Apple, SAP
Initial releaseMay 8, 2007;17 years ago (2007-05-08)
Stable release
23 [1]   OOjs UI icon edit-ltr-progressive.svg / 17 September 2024;2 months ago (17 September 2024)
Repository
Written in C++ and Java
Operating system Linux, FreeBSD, macOS, Microsoft Windows, OpenIndiana, OpenVMS; several other ports in progress
Type Java development kit
License GPL-2.0-only with linking exception
Website openjdk.org

OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). [2] It is the result of an effort Sun Microsystems began in 2006, four years before the company was acquired by Oracle Corporation. The implementation is licensed under the GNU General Public License 2 with a linking exception, preventing components that linked to the Java Class Library becoming subject to the terms of the GPL license. OpenJDK is the official reference implementation of Java SE since version 7, and is the most popular distribution of the JDK. [3] [4] [5]

Contents

History

Sun's promise and initial release

Sun announced in JavaOne 2006 that Java would become open-source software, [6] [7] and on October 25, 2006, at the Oracle OpenWorld conference, Jonathan Schwartz said that the company intended to announce the open-sourcing of the core Java Platform within 30 to 60 days. [8]

Sun released the Java HotSpot virtual machine and compiler as free software under the GNU General Public License on November 13, 2006, with a promise that the rest of the JDK (which includes the Java Runtime Environment) would be placed under the GPL by March 2007, "except for a few components that Sun does not have the right to publish in source form under the GPL". [9] According to free-software advocate Richard Stallman, this would end the "Java trap", the vendor lock-in that he argues applied to Java and programs written in Java. [10]

Release of the class library

Following their promise to release a Java Development Kit (JDK) based almost completely on free and open-source code in the first half of 2007, [11] Sun released the complete source code of the Java Class Library under the GPL on May 8, 2007, except for some limited parts that had been licensed to Sun by third parties and Sun was unable to re-license under the GPL. [12] Included in the list of encumbered parts were several major components of the Java graphical user interface (GUI). Sun stated that it planned to replace the remaining proprietary components with alternative implementations and to make the class library completely free.

When initially released in May 2007, 4% of the OpenJDK class library remained proprietary. [13] By the appearance of OpenJDK 6 in May 2008, less than 1% (the SNMP implementation, [14] which is not part of the Java specification) remained, [15] making it possible to build OpenJDK without any binary plugs. [14] The binary plug requirement was later dropped from OpenJDK 7 as part of b53 in April 2009. [16]

This was made possible, over the course of the first year, by the work of Sun Microsystems and the OpenJDK community. Each encumbrance [17] was either released as free and open-source software or replaced with an alternative. Beginning in December 2010, all the so-called binary plugs were replaced by open-source replacements, making the whole JDK open sourced and the binary plugs not necessary anymore. [18]

Community improvements

On November 5, 2007, Red Hat announced an agreement with Sun, signing Sun's broad contributor agreement (which covers participation in all Sun-led free and open-source software projects by all Red Hat engineers) and Sun's OpenJDK Community Technology Compatibility Kit (TCK) License Agreement (which gives the company access to the test suite that determines whether a project based on OpenJDK complies with the Java SE 6 specification). [19]

Also in November 2007, the Porters Group was created on OpenJDK to aid in efforts to port OpenJDK to different processor architectures and operating systems. The BSD porting project led by Kurt Miller and Greg Lewis and the Mac OS X porting project (based on the BSD one) led by Landon Fuller have expressed interest in joining OpenJDK via the Porters Group. As of January 2008, both are part of the mailing list discussions. Another project pending formalization on the Porters Group is the Haiku Java Team led by Bryan Varner. [20]

In December 2007, Sun moved the revision control of OpenJDK from TeamWare to Mercurial (and later to Git and GitHub), as part of the process of releasing it to open-source communities. [21] [22]

OpenJDK has comparatively strict procedures of accepting code contributions: every proposed contribution must be reviewed by another OpenJDK committer and the contributor must have signed the Sun/Oracle Contributor Agreement (SCA/OCA). [23] Preferably, there should also be a jtreg [24] test demonstrating the bug has been fixed. Initially, the external patch submission process was slow [25] and, until September 2008, commits to the codebase were only made by Sun engineers. [26] The process has improved and, as of 2010, simple patches and backports from OpenJDK 7 to OpenJDK 6 can take place within hours rather than days. [27]

In 2011, an unofficial port of OpenJDK 6.0 to OS/2 was first released. [28] This port is included in the OS/2 derivative ArcaOS. [29]

On 25 September 2013, Microsoft and Azul Systems collaborated to create Zulu, [30] a build of OpenJDK for users of the Windows Azure cloud. Zulu is available as a free download from the community site Zulu.org. It is also possible to get Zulu on Amazon Web Services [31] via Canonical's Juju Charm Store, [32] the Docker Hub, [33] and Azul Systems repositories. Azul contributes bug fixes and enhancements back to the OpenJDK project and has several project committers on staff. [34] Red Hat resigned leadership of OpenJDK 6 at the beginning of 2017 and this was then taken up by Azul Systems. [35] [36]

Since April 2016 there are unsupported community builds of OpenJDK for Microsoft Windows on GitHub in the project ojdkbuild [37] which are released in pace with updates for Oracle JDK. From build 8u151 on, the MSI-installer offers an optional component for using Java Web Start based on the IcedTea-Web project.

In 2020, a port of OpenJDK 8 to OpenVMS on the Itanium platform was released. [38]

The number of external contributions to OpenJDK is growing since project inception. OpenJDK 11, released in September 2018, received 20% of external fixes [39] and brought 17 new JEPs (features), out of which 3 were contributed by the community. Namely, JEP 315: "Improve Aarch64 Intrinsics" (contributed by BellSoft), JEP 318: "Epsilon: A No-Op Garbage Collector" (by Red Hat) and JEP 331: "Low-Overhead Heap Profiling" (contributed by Google). [40]

Collaboration with IBM, Apple, and SAP

On October 11, 2010, IBM, by far the biggest participant in the Apache Harmony project, decided to join Oracle on the OpenJDK project, effectively shifting its efforts from Harmony to OpenJDK. [41] [42] Bob Sutor, IBM's head of Linux and open source, blogged that "IBM will be shifting its development effort from the Apache Project Harmony to OpenJDK". [43]

On November 12, 2010, Apple Inc. (just three weeks after deprecating its own Java runtime port [44] ) and Oracle Corporation announced the OpenJDK project for Mac OS X. Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. [45]

On January 11, 2011, the Mac OS X Port Project was created on OpenJDK, and Apple made the first public contribution of code to the project. The initial Apple contribution built on the OpenJDK BSD port. [46]

In July 2011, SAP AG announced that SAP officially joined the OpenJDK project. [47]

Components

The OpenJDK project produces a number of components: most importantly the virtual machine (HotSpot), the Java Class Library and the Java compiler (javac).

The Web browser plugin and Web Start, which form part of Oracle Java, are not included in OpenJDK. Sun previously indicated that they would try to open-source these components, but neither Sun nor Oracle Corporation have done so. [48] The only currently available free plugin and Web Start implementations as of 2016 are those provided by IcedTea.[ citation needed ]

OpenJDK 9+ supports AOT compilation (jaotc) using GraalVM (JEP 295). [49] The experimental -XX:+EnableJVMCIProduct flag enables the use of Graal JIT (JEP 317). [50]

OpenJDK versions

OpenJDK was initially based only on the JDK 7 version of the Java platform. [51]

Since JDK 10, the effort to produce an open-source reference implementation of the Java SE Platform was moved over to the JDK Project. [52] Unlike past JDK Release Projects, which produced just one feature release and then terminated, this long-running project will produce all future JDK feature releases and will ship a feature release every six months according to a strict, time-based model. [53]

OpenJDK builds

Due to Oracle no longer releasing updates for long-term support (LTS) releases under a permissive license, other organizations have begun to publish their own builds, both in regular and long-term support terms. [54] [55] [56] Many Linux distributions offer their own builds through their package manager, including Microsoft Windows.

BuildOrganizationLTSPermissive
license
TCK
tested
Built
unmodified
Commercial
support
AdoptOpenJDK [57]
(moved to Eclipse Temurin at Adoptium in 2021) [58]
YesYesYesOptionalOptional (IBM)
Alibaba Dragonwell [59] Alibaba YesYesNoNoNo
Amazon Corretto [60] Amazon YesYesYesYesOptional (on AWS)
Azul Zulu [61] Azul Systems YesYesYesNoOptional
BellSoft Liberica JDK [62] BellSoft YesYesYesNoOptional
Eclipse Temurin [63] Adoptium YesYesYesNoOptional (Azul, IBM, Red Hat)
IBM Java SDK [64]
(moved to IBM Semeru Runtime Certified Edition at version 11)
IBM YesNoYesNoYes
IBM Semeru Runtime Certified Edition [65] IBM YesYes [66] [67] YesNoOptional (IBM)
IBM Semeru Runtime Open Edition [65] IBM YesYes [67] NoNoOptional (IBM)
JetBrains Runtime [68] JetBrains YesYesNoNoNo
Microsoft Build of OpenJDK [69] Microsoft YesYesYesNoOptional (on Azure)
ojdkbuild [70]
(Discontinued)
YesYesNoYesNo
OpenLogic OpenJDK [71] OpenLogic YesYesNo[ citation needed ]NoOptional
GraalVM Community Edition [72] GraalVM YesYesYesNoNo
Oracle GraalVM Enterprise Edition [73] Oracle YesNoYesNoYes
Oracle Java SE [74] Oracle YesNoYesNoYes
Oracle OpenJDK [75] Oracle No [75] Yes [76] YesNo [77] [78] No
Red Hat build of OpenJDK [79] Red Hat YesYesYesNoYes
SAP SapMachine [80] SAP YesYesYesNoOptional (for SAP products)
Tencent KonaJDK Tencent YesYesYesNoOptional

IcedTea and inclusion in software distributions

In order to bundle OpenJDK in Fedora and other free Linux distributions, OpenJDK needed to be buildable using only free software components. Due to the encumbered components in the class library and implicit assumptions within the build system that the JDK being used to build OpenJDK was a Sun JDK, this was not possible. To achieve openness, Red Hat started the IcedTea project in June 2007. [81] It began life as an OpenJDK/GNU Classpath hybrid that could be used to bootstrap OpenJDK, replacing the encumbrances with code from GNU Classpath. [82] [83]

On November 5, 2007, Red Hat signed both the Sun Contributor Agreement and the OpenJDK Community TCK License. [84] One of the first benefits of this agreement is tighter alignment with the IcedTea project, which brings together Fedora, the Linux distribution, and JBoss, the application server, technologies in a Linux environment. IcedTea provided free software alternatives for the few remaining proprietary sections in the OpenJDK project.

In May 2008, the Fedora 9 [15] [85] and Ubuntu 8.04 [86] distributions included IcedTea 6, based completely on free and open source code. [87] Fedora 9 was the first version to be shipped with IcedTea6, based on the OpenJDK6 sources from Sun rather than OpenJDK7. It was also the first to use OpenJDK for the package name (via the OpenJDK trademark agreement [88] ) instead of IcedTea. [15] Ubuntu also first packaged IcedTea7 [89] before later moving to IcedTea6. Packages for IcedTea6 were also created for Debian and included in Lenny. On July 12, 2008, Debian accepted OpenJDK-6 in unstable, [90] [91] and it later was included in stable. [92] OpenJDK is also available on openSUSE, [93] Red Hat Enterprise Linux and RHEL derivatives such as CentOS. [94]

In June 2008, Red Hat announced that the packaged binaries for OpenJDK on Fedora 9, built using IcedTea 6, had passed the Technology Compatibility Kit tests and could claim to be a fully compatible Java 6 implementation. [95] In July 2009, an IcedTea 6 binary build for Ubuntu 9.04 passed all of the compatibility tests in the Java SE 6 TCK. [96]

Since August 2008, OpenJDK 7 is usable on macOS and other BSD variants. [97]

On Android Nougat, OpenJDK replaced the now-discontinued Apache Harmony as the Java libraries in the source code of the mobile operating system. Google was in a legal dispute with Oracle over claims of copyright and patent infringement through its use of re-implementations of copyrighted Java APIs via Harmony. While also stating that this change was to create a more consistent platform between Java on Android and other platforms, the company admitted that the switch was motivated by the lawsuit, arguing that Oracle had authorized its use of the OpenJDK code by licensing it under the GPL. [98]

See also

Related Research Articles

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.

<span class="mw-page-title-main">OpenOffice.org</span> Discontinued office suite software

OpenOffice.org (OOo), commonly known as OpenOffice, is a discontinued open-source office suite. Active successor projects include LibreOffice and Collabora Online, with Apache OpenOffice being considered mostly dormant since at least 2015.

In computing, a directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network resources, which can include volumes, folders, files, printers, users, groups, devices, telephone numbers and other objects. A directory service is a critical component of a network operating system. A directory server or name server is a server which provides such a service. Each resource on the network is considered an object by the directory server. Information about a particular resource is stored as a collection of attributes associated with that resource or object.

<span class="mw-page-title-main">GNU Classpath</span> Implementation of standard class library of Java

GNU Classpath is a free software implementation of the standard class library for the Java programming language. Most classes from J2SE 1.4 and 5.0 are implemented. Classpath can thus be used to run Java-based applications. GNU Classpath is a part of the GNU Project. It was originally developed in parallel with libgcj due to license incompatibilities, but later the two projects merged.

Free Java implementations are software projects that implement Oracle's Java technologies and are distributed under free software licences, making them free software. Sun released most of its Java source code as free software in May 2007, so it can now almost be considered a free Java implementation. Java implementations include compilers, runtimes, class libraries, etc. Advocates of free and open source software refer to free or open source Java virtual machine software as free runtimes or free Java runtimes.

javac is the primary Java compiler included in the Java Development Kit (JDK) from Oracle Corporation. Martin Odersky implemented the GJ compiler, and his implementation became the basis for javac.

HotSpot, released as Java HotSpot Performance Engine, is a Java virtual machine for desktop and server computers, developed by Sun Microsystems which was purchased by and became a division of Oracle Corporation in 2010. Its features improved performance via methods such as just-in-time compilation and adaptive optimization. It is the de facto Java Virtual Machine, serving as the reference implementation of the Java programming language.

Apache Harmony is a retired open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the board of directors voted to make Apache Harmony a top-level project. The Harmony project achieved 99% completeness for J2SE 5.0, and 97% for Java SE 6. The Android operating system has historically been a major user of Harmony, although since Android Nougat it increasingly relies on OpenJDK libraries.

In computing, Java Web Start is a deprecated framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser. The technology enables seamless version updating for globally distributed applications and greater control of memory allocation to the Java virtual machine.

<span class="mw-page-title-main">GlassFish</span> Application server project

GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by OmniFish, Fujitsu and Payara. The supported version under Oracle was called Oracle GlassFish Server. GlassFish is free software and was initially dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the Classpath exception. After having been transferred to Eclipse, GlassFish remained dual-licensed, but the CDDL license was replaced by the Eclipse Public License (EPL).

<span class="mw-page-title-main">Java (software platform)</span> Set of computer software and specifications

Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.

The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901. In September 2017, Mark Reinhold, chief Architect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the then-current two-year schedule. This proposal took effect for all following versions, and is still the current release schedule.

<span class="mw-page-title-main">History of free and open-source software</span>

The history of free and open-source software begins at the advent of computer software in the early half of the 20th century. In the 1950s and 1960s, computer operating software and compilers were delivered as a part of hardware purchases without separate fees. At the time, source code—the human-readable form of software—was generally distributed with the software, providing the ability to fix bugs or add new functions. Universities were early adopters of computing technology. Many of the modifications developed by universities were openly shared, in keeping with the academic principles of sharing knowledge, and organizations sprung up to facilitate sharing.

<span class="mw-page-title-main">JavaFX</span> Java software platform for GUI

JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linux, and macOS, as well as mobile devices running iOS and Android, through Gluon Mobile.

The Java Class Library (JCL) is a set of dynamically loadable libraries that Java Virtual Machine (JVM) languages can call at run time. Because the Java Platform is not dependent on a specific operating system, applications cannot rely on any of the platform-native libraries. Instead, the Java Platform provides a comprehensive set of standard class libraries, containing the functions common to modern operating systems.

IcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007. IcedTea also includes some addon libraries: IcedTea-Web is a free software implementation of Java Web Start and the Java web browser applet plugin. IcedTea-Sound is a collection of plugins for the Java sound subsystem, including the PulseAudio provider which used to be included with IcedTea. The Free Software Foundation recommends that all Java programmers use IcedTea as their development environment.

The Java Development Kit (JDK) is a distribution of Java technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java Application Programming Interface (API). It is derivative of the community driven OpenJDK which Oracle stewards. It provides software for working with Java applications. Examples of included software are the Java virtual machine, a compiler, performance monitoring tools, a debugger, and other utilities that Oracle considers useful for Java programmers.

<span class="mw-page-title-main">GraalVM</span> Virtual machine software

GraalVM is a Java Development Kit (JDK) written in Java. The open-source distribution of GraalVM is based on OpenJDK, and the enterprise distribution is based on Oracle JDK. As well as just-in-time (JIT) compilation, GraalVM can compile a Java application ahead of time. This allows for faster initialization, greater runtime performance, and decreased resource consumption, but the resulting executable can only run on the platform it was compiled for.

References

  1. Mark Reinhold (September 17, 2024). "Java 23 / JDK 23: General Availability" . Retrieved September 18, 2024.
  2. "OpenJDK homepage". Oracle Corporation and/or its affiliates. Retrieved January 1, 2013.
  3. "Moving to OpenJDK as the official Java SE 7 Reference Implementation".
  4. "Java Platform, Standard Edition 7 Reference Implementations". jdk.java.net.
  5. "Java Platform, Standard Edition 8 Reference Implementations". Archived from the original on November 21, 2015.
  6. Schwartz, Jonathan (May 23, 2006). "Busy Week..." Sun Microsystems. Archived from the original on July 17, 2006. Retrieved May 9, 2007.
  7. "Sun Opens Java". Sun Microsystems. Archived from the original (OGG Theora) on March 19, 2009.
  8. "Sun CEO sets open source Java time frame - Announcement set for 30 to 60 days". InfoWorld. October 25, 2006. Retrieved December 22, 2011.
  9. "Sun Opens Java". Sun Microsystems. November 13, 2006. Archived from the original on April 21, 2007. Retrieved May 9, 2007.
  10. Stallman, Richard. "Free But Shackled—The Java Trap" . Retrieved December 4, 2007.
  11. Oracle and Sun Archived March 3, 2012, at the Wayback Machine . Sun.com (2011-10-04). Retrieved on 2013-08-09.
  12. "Open JDK is here!". Sun Microsystems. May 8, 2007. Retrieved May 9, 2007.
  13. Fitzsimmons, Thomas (May 18, 2007). "Plans for OpenJDK" . Retrieved May 22, 2007.
  14. 1 2 "OpenJDK 6 b10 source posted". May 30, 2008. Retrieved June 1, 2008.
  15. 1 2 3 Wade, Karsten (March 13, 2008). "OpenJDK in Fedora 9!". redhatmagazine.com. Archived from the original on April 21, 2008. Retrieved April 5, 2008. Thomas Fitzsimmons updated the Fedora 9 release notes source pages to reflect that Fedora 9 would ship with OpenJDK 6 instead of the IcedTea implementation of OpenJDK 7. Fedora 9 (Sulphur) is due to release in May 2008.
  16. "Changes in OpenJDK7 b53". April 2, 2009. Archived from the original on April 6, 2009. Retrieved September 5, 2009.
  17. Herron, David (October 4, 2007). "Plans for OpenJDK". Archived from the original on October 11, 2007. Retrieved October 9, 2007.
  18. Kelly O'Hair (December 2010). "OpenJDK7 and OpenJDK6 Binary Plugs Logic Removed". Oracle Corporation . Retrieved November 25, 2011.
  19. "Broad contributor agreement and TCK License pave way for a fully compatible, free and open-source Java Development Kit for Red Hat Enterprise Linux". Archived from the original on February 28, 2010. Retrieved January 4, 2008.
  20. koki (January 3, 2008). "New java for haiku team formed". Haiku. Archived from the original on January 5, 2008.
  21. James Gosling (October 2006). "James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1" (Interview). Interviewed by Robert Eckstein.
  22. O'Hair, Kelly (December 12, 2007). "Mercurial OpenJDK Questions". Archived from the original on March 5, 2012.
  23. "Sun Microsystems Inc. Contributor Agreement" (PDF).
  24. "Regression Test Harness for the OpenJDK platform: jtreg" . Retrieved August 26, 2008.
  25. Tripp, Andy (July 16, 2007). "Classpath hackers frustrated with slow OpenJDK process". Archived from the original on July 17, 2013. Retrieved April 20, 2008.
  26. Kennke, Roman (September 29, 2008). "A small step for me". Archived from the original on October 3, 2008. Retrieved October 19, 2008.
  27. Darcy, Joe (June 10, 2010). "Backporting changeset from 7 to 6 for bugfix".
  28. "Java for OS/2 and OS/2-based systems". netlabs.org. Retrieved September 9, 2020.
  29. "Compatibility Subsystems". arcanoae.com. Retrieved September 9, 2020.
  30. "Microsoft, Azul Bring OpenJDK to Windows Azure With 'Zulu'". www.eweek.com. Retrieved December 3, 2015.[ permanent dead link ]
  31. parthik, dahima (October 14, 2024). "Java Programming Interview Questions And Answers For students". www.boxoflearn.com. Retrieved October 14, 2024.
  32. "Azul Systems Joins Canonical's Charm Partner Program". EnterpriseTech. Retrieved December 3, 2015.
  33. "Azul Systems puts Java 8 into Docker containers for Linux users". www.v3.co.uk. Retrieved December 3, 2015.
  34. "Java Standards: Essential for Your Business - Azul Systems, Inc". Azul Systems, Inc. Retrieved February 6, 2018.
  35. Haley, Andrew (October 1, 2016). "OpenJDK6 End Of Life". jdk6-dev (Mailing list). Archived from the original on July 2, 2017. Retrieved February 12, 2018.
  36. Bell, Tim (October 1, 2016). "New lead for the JDK 6 Project: Andrew Brygin". jdk6-dev (Mailing list). Archived from the original on February 19, 2018. Retrieved February 19, 2018.
  37. ojdkbuild
  38. "New OpenJDK for OpenVMS announced". vmssoftware.com. June 10, 2020. Retrieved September 9, 2020.
  39. Dalibor Topic (October 2018). "Building JDK 11 Together". Oracle Corporation . Retrieved May 27, 2019.
  40. Mark Reinhold (October 2018). "JDK 11". Oracle Corporation . Retrieved May 27, 2019.
  41. "Oracle and IBM Collaborate to Accelerate Java Innovation Through OpenJDK". Oracle Corporation . Retrieved October 22, 2010.
  42. Ryan Paul. "Java wars: IBM joins OpenJDK as Oracle shuns Apache Harmony". Ars Technica. Retrieved October 22, 2010.
  43. Bob Sutor. "IBM joins the OpenJDK community, will help unify open source Java efforts". Archived from the original on October 18, 2010. Retrieved October 22, 2010. IBM will be shifting its development effort from the Apache Project Harmony to OpenJDK. For others who wish to do the same, we'll work together to make the transition as easy as possible. IBM will still be vigorously involved in other Apache projects.
  44. "Java for Mac OS X 10.6 Update 3 and 10.5 Update 8 Release Notes". October 20, 2010.
  45. "Oracle and Apple Announce OpenJDK Project for Mac OS X". Business Wire. November 12, 2010. Retrieved November 12, 2010. Oracle and Apple today announced the OpenJDK project for Mac OS X. Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. OpenJDK will make Apple's Java technology available to open source developers so they can access and contribute to the effort.
  46. Mike Swingler (Apple) (January 11, 2011). "Announcing: OpenJDK for Mac OS X source repository, mailing list, project home". OpenJDK. Retrieved November 12, 2010. I'm very happy to let you know that today we made the first public contribution of code to the OpenJDK project for Mac OS X. This initial contribution builds on the hard work of the BSD port, and initially has the same functionality. Today's contribution simply modifies the build process to create universal binary, and produces a .jdk bundle which is recognized by Java Preferences and the JVM detection logic in Mac OS X.
  47. Volker Simonis (SAP AG) (July 14, 2011). "SAP joins the OpenJDK". OpenJDK. Retrieved November 12, 2010. I'm really happy that as of today, SAP has signed the Oracle Contributor Agreement (OCA). This means that with immediate effect the SAP JVM developers can officially join the discussions on the various OpenJDK mailing lists and contribute patches and enhancements to the project.
  48. Darcy, Joe (June 8, 2009). "OpenJDK and the new plugin" . Retrieved September 5, 2009.
  49. "Ahead-of-Time (AOT) Compilation May Come to OpenJDK HotSpot in Java 9". InfoQ.com. October 1, 2016. Retrieved October 6, 2016. AOT brings about a new tool called 'jaotc' which uses Graal as the backend (to generate code)
  50. "[JDK-8232118] Add JVM option to enable JVMCI compilers in product mode - Java Bug System". bugs.openjdk.java.net.
  51. "Didn't you promise to open source both JDK 6 and JDK 7 last November? What happened to JDK 6?". Sun Microsystems. Archived from the original on March 3, 2012. Retrieved October 14, 2007. Sun did make that promise, and we plan to keep it. But in the six months since the November 2006 announcement, it has become clear that doing this is far more complex than just changing the license and publishing the source code.
  52. oracle.com, mark reinhold at (September 26, 2017). "CFV: New Project: JDK" . Retrieved February 16, 2018.
  53. oracle.com, mark reinhold at (September 6, 2017). "Accelerating the JDK release cadence" . Retrieved February 16, 2018.
  54. Colebourne, Stephen. "Time to look beyond Oracle's JDK".
  55. "Difference between OpenJDK and Adoptium/AdoptOpenJDK". Stack Overflow.
  56. "Java is Still Free 2.0.3. This is a repeat of (version 2.0.0) of... | by Java Champions | Medium".
  57. "AdoptOpenJDK - Open source, prebuilt OpenJDK binaries" . Retrieved July 10, 2020.
  58. "Good-bye AdoptOpenJDK. Hello Adoptium!". blog.adoptopenjdk.net. Retrieved September 22, 2021.
  59. "Alibaba Dragonwell" . Retrieved June 14, 2021.
  60. "Amazon Corretto" . Retrieved July 10, 2020.
  61. "Zulu Community: Free, tested builds of OpenJDK managed by Azul engineers" . Retrieved July 10, 2020.
  62. "Download Liberica JDK, OpenJDK, Java 8, Java 11, Linux, Windows, macOS". BellSoft. Retrieved July 10, 2020.
  63. "Eclipse Temurin". Adoptium . Retrieved May 15, 2022.
  64. "Home - Java SDK" . Retrieved July 10, 2020.
  65. 1 2 "IBM Semeru Runtimes - IBM Developer" . Retrieved August 3, 2021.
  66. https://www.ibm.com/support/pages/semeru-runtimes-support
  67. 1 2 "Introducing the no-cost IBM Semeru Runtimes to develop and run Java applications" . Retrieved September 23, 2021.
  68. "JetBrains Runtime - JetBrains Runtime - Confluence" . Retrieved June 15, 2021.
  69. "Microsoft Build of OpenJDK". Microsoft . Retrieved June 15, 2021.
  70. "ojdkbuild/ojdkbuild". GitHub . Retrieved July 10, 2020.
  71. "OpenJDK Downloads". OpenLogic. Retrieved October 2, 2020.
  72. "GraalVM". GraalVM . Retrieved June 15, 2021.
  73. "GraalVM Enterprise". Oracle Technology Network. Oracle . Retrieved April 27, 2021.
  74. "Oracle Java Technologies". Oracle . Retrieved September 17, 2022.
  75. 1 2 "JDK Builds from Oracle" . Retrieved September 17, 2022.
  76. "OpenJDK: GPLv2 + Classpath Exception" . Retrieved September 17, 2022.
  77. "[JDK-8215030] Disable shenandoah in Oracle builds". Java Bug System. Archived from the original on December 9, 2021. Retrieved December 8, 2021.
  78. "Not all OpenJDK 12 builds include Shenandoah: Here's why". April 19, 2019. Retrieved December 8, 2021.
  79. "OpenJDK Overview". Red Hat Developer. Retrieved July 10, 2020.
  80. "An OpenJDK release maintained and supported by SAP". SapMachine. GitHub . Retrieved July 10, 2020.
  81. Fitzsimmons, Thomas (June 8, 2007). "Credits" . Retrieved June 8, 2007.
  82. Andrew, Haley (June 7, 2007). "Experimental Build Repository at icedtea.classpath.org". Archived from the original on August 20, 2007. Retrieved June 9, 2007.
  83. Mark, Wielaard (June 7, 2007). "Experimental Build Repository at icedtea.classpath.org". Archived from the original on June 19, 2007. Retrieved June 9, 2007.
  84. "Red Hat and Sun Collaborate to Advance Open Source Java Technology". Red Hat. November 5, 2007. Archived from the original on August 25, 2007. Retrieved November 6, 2007.
  85. "Open Source Java Technology Debuts In GNU/Linux Distributions". Sun Microsystems. Retrieved May 2, 2008.
  86. "openjdk-6 in Ubuntu" . Retrieved April 19, 2008.
  87. Reinhold, Mark (April 24, 2008). "There's not a moment to lose!". Archived from the original on April 29, 2008. Retrieved April 19, 2008.
  88. OpenJDK trademark agreement
  89. "icedtea-java7 in Ubuntu" . Retrieved April 19, 2008.
  90. Topic, Dalibor (July 14, 2008). "QotD: Debian Overview of openjdk-6 source package" . Retrieved July 15, 2008.
  91. "Overview of openjdk-6 source package". debian.org. Retrieved July 15, 2008.
  92. "Package: openjdk-6-jdk". debian.org. February 14, 2009. Retrieved February 16, 2009.
  93. "Package: OpenJDK". opensuse.org. Archived from the original on May 27, 2009. Retrieved June 1, 2009.
  94. "How to download and install prebuilt OpenJDK packages" . Retrieved March 3, 2010.
  95. Sharples, Rich (June 19, 2008). "Java is finally Free and Open". Archived from the original on June 20, 2008.
  96. Klose, Matthias (July 11, 2009). "Announcing OpenJDK 6 Certification for Ubuntu 9.04 (jaunty)".
  97. Fuller, Landon (August 19, 2008). "SoyLatte, Meet OpenJDK: OpenJDK 7 for Mac OS X" . Retrieved August 22, 2008.
  98. "Android N switches to OpenJDK, Google tells Oracle it is protected by the GPL". Ars Technica. January 6, 2016. Retrieved January 7, 2016.