Eclipse Adoptium®
Project state: Regular
Summary: The mission of the Eclipse Adoptium Top-Level Project is to produce high-quality runtimes and associated technology for use within the Java ecosystem.  We achieve this through a set of Projects under...

Eclipse Adoptium provides runtime binaries that are high performance, enterprise-caliber, cross-platform, open-source licensed, Java SE TCK-tested and compliant for general use across the Java ecosystem. Eclipse Adoptium also provides artifacts including open-source infrastructure as code, a comprehensive continuous integration build and test farm, and extensive quality assurance tests. These artifacts may be used by Eclipse Adoptium projects and other runtime technology builders to ensure the provision of secure, Java SE TCK-tested and compliant, production-ready runtimes.

The scope of the project includes developing, managing, promoting, and supporting technologies such as:

Runtimes and Development Kits: supporting the breadth of APIs specified by various versions of Java SE, and available on a wide variety of processor architecture and operating system combinations.

TCK Testing Infrastructure: providing infrastructure for running Java SE TCKs to ensure compliance and compatibility.

JDK Mission Control: low-overhead profiling and diagnostics tools suite for the JVM.

Installers and repositories: various mechanisms for obtaining and managing the installation of runtime technology, such as platform native installers, container images, download servers, a website, and artifact repositories.

In addition to providing a reliable source of contemporary Java runtime binaries, the Eclipse Adoptium project is a platform for experimentation by developers, academics, and researchers. This provides a place to try out new runtime, build, test, and infrastructure ideas. Examples of projects that fall under this top-level project include “jlink.online” for serving right-sized runtimes to application developers, “Github actions” to obtain and test with runtimes within Git’s workflow, “TKG” the test-kit generation framework, “Bumblebench” the microbenchmarking framework, and more.

Eclipse Adoptium Interim Build Labeling Requirements v2.0:

The Eclipse Adoptium project may make available for testing, but not market or promote for extended or production use, binary builds created as a development step towards what is intended to be a Java SE implementation passing the Java SE TCK licensed to the Eclipse Adoptium project by Oracle that in each case (a) otherwise complies with the Eclipse Adoptium project charter, (b) excepting portions from OpenJDK, is developed primarily within the Eclipse Adoptium project, and (c) does not include any content from the OpenJ9 Project or Oracle’s GraalVM project(s) or any successors of either of the foregoing, except to the extent present in any future version of the Java SE reference implementation from Oracle (“Intermediate Builds”) subject to the following conditions:

i. such Intermediate Build is marked with the word "UNTESTED" or "INCOMPATIBLE" or "UNSTABLE" or "BETA";

ii. the Eclipse Adoptium project displays the following notice in such a manner that anyone downloading the Intermediate Build must see the notice before commencing the download:

"This is an intermediate build made available for testing purposes only. The code is untested and presumed incompatible with the Java SE Specification. You should not deploy or write to this code, but instead use a tested and certified Java SE compatible version of the code. Redistribution of this build must retain this notice."

The Eclipse Adoptium project must also include the same notice as a README.JAVASE file with any source code bundle (e.g. tarball) download that corresponds to the Intermediate Build;

iii. the Eclipse Adoptium project shall not distribute (except as a passive download as provided above), market or promote intermediate Builds, including without limitation in connection with providing any goods or services.

iv. excepting mirror repositories of unmodified source code directly obtained from OpenJDK, the Eclipse Adoptium project must include the following README.JAVASE file in the root directory of any source code that is used in an Intermediate Build and that it may make available through access to a revision control system (e.g. git) (substituting in the relevant Project name and link where noted):

“This version of [Project name] source code is made available in support of the open source development process. Some numbered or tagged revisions of this source may have been tested and found to pass the Java SE TCK, and you can find information on which revisions or tags at [include URL and link]. Please note that since only binaries can be tested, source code cannot be described as a compatible implementation of the Java SE Specification. The different build environment on your machine and any changes you may make to this code could render your resulting build incompatible. Because of this, writing or deploying applications to builds based on this code can lead to lack of portability. You should instead consider deploying production applications on the pre-built binaries of [Project Name] that are available at [include a url and a link] that have been tested and certified to meet the Java SE compatibility requirements."

v. Notwithstanding the foregoing, for

(i) Java SE 21 and later Intermediate Builds created prior to April 6, 2024 and (ii) Java SE 8-20 Intermediate Builds, the Eclipse Adoptium project must apply one of the following:

(1) the notices set forth for Intermediate Builds in Attachment D version 1.0 [link],

(2) the notices set forth for Intermediate Builds in this Attachment D version 2.0.or

(3) the notices set forth in the OpenJDK Community TCK and EA TCK License Agreement v 4.0[link].

For Java SE 21 and later Intermediate Builds created after April 6, 2024, the notices set forth in the OpenJDK Community TCK and EA TCK License Agreement v 4.0[link] must be applied.

vi. any mirror repository of unmodified source code directly obtained from OpenJDK that is used in an Intermediate Build that is made available through access to a revision control system (e.g. git) must include the following in a public facing description of such source code:

"This source code is an unmodified mirror of source code obtained from OpenJDK [include a url and a link]. It has been and may still be used to create builds that are untested and incompatible with the Java SE specification. You should not deploy or write to this code, but instead use the tested and certified Java SE compatible version of the code that is available at [include a url and a link]."

Project leads: tellison (Tim Ellison)
Committers: lxia0s3 (Lan Xia), sanhonglsh (Sanhong Li), aleonardf4y (Andrew Leonard), wenzhou (Wen Zhou), scottfryer (Scott Fryer), hebbers (Hendrik Ebbers), mverburg (Martijn Verburg), sgehwolf (Severin Gehwolf), tellison (Tim Ellison), gadamsuwr (George Adams), joliver77u (John Oliver), saddisonxls (Stewart Addison), slambertokd (Shelley Lambert)
Contributors: jkangrnn (Jie Kang), carmendelgado (Carmen Delgado), xavierfacq (Xavier FACQ)