OSS Tanbou

OpenJDK JDK — the upstream mainline where Java's compiler, HotSpot VM, and standard libraries evolve together

OSS health 91
About these scores

Discovery score is an unbounded weighted, log-compressed index of stars, watchers, forks, and contributors. Growth momentum is its change over the observed period; OSS health is a 0–100 score from available repository recency, Community Health, and release data.

Stars
23,347
Primary language
Java
License
GPL-2.0
Repository last updated
Sep 15, 2026

Overview

openjdk/jdk is the official repository for JDK main-line development in OpenJDK. Its `src` tree contains the HotSpot VM, Java SE modules such as `java.base`, compiler-related modules, and the rest of the implementation that ships as a JDK. As of September 15, 2026, master targets JDK 28 Early Access, so this repository is best understood as the upstream development line for the next JDK rather than simply a place to download a production Java runtime.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Follow HotSpot, Java SE modules, and compiler implementation in one source tree

The repository's src tree includes hotspot, java.base, java.compiler, and many other modules. That makes it possible to inspect changes at the boundaries of the VM, core libraries, compiler infrastructure, and JDK tools instead of treating each piece as an unrelated project. It is primary-source material for following Java language implementation, GC/JIT work, standard APIs, security/networking/desktop modules, and compiler behavior.

Sources: [1][3]

The project documents a reproducible path from configure to a built JDK and tier-1 tests

The official build guide gives a short path of bash configure, make images, verifying the generated java -version, and running make test-tier1. Mainline supports Linux, macOS, AIX, and Windows, with Windows requiring a POSIX compatibility layer such as Cygwin, MSYS2, or WSL. This makes local JDK implementation changes buildable and testable rather than leaving the repository as reference-only source.

Sources: [4]

Version configuration makes the active mainline target explicit

make/conf/version-numbers.conf currently sets DEFAULT_VERSION_FEATURE=28 and DEFAULT_PROMOTED_VERSION_PRE=ea, with a target date of 2027-03-23, class-file major version 72, and accepted boot JDK versions 26, 27, and 28. That metadata is important when interpreting master: it is a JDK 28 Early-Access development line, not the same thing as the currently deployed stable JDK on a production system.

Sources: [5]

Best suited to JDK internals work, OpenJDK contribution, custom builds, and downstream patching

It fits engineers who need implementation-level answers about the VM, class libraries, or compiler; contributors following JDK bugs and feature work; and vendors or researchers building their own JDK images. Application teams that only need a Java runtime generally have a lower-operational-cost path through a prebuilt JDK distribution and the update line for their selected Java version.

Master is a development line, not a stable maintenance branch

The build documentation describes jdk as the main line currently in development. For older versions such as JDK 17, it strongly recommends an Updates repository such as jdk17u rather than the GA repository frozen at release. Production maintenance therefore needs an explicit version/update policy instead of treating master as a generic source for every JDK release.

Sources: [4][5]

Building the JDK is substantially heavier than building a normal Java library

The official guide calls the JDK a complex and massive project and strongly recommends SSD storage. It lists at least 2–4 cores, 2–4 GB RAM, and 6 GB free disk for x86, and 8 cores, 8 GB RAM, and 6 GB disk for AArch64. The current JDK 28 mainline also expects a boot JDK from versions 26, 27, or 28. Native compilers and other build dependencies are part of the toolchain.

Sources: [4][5]

GPL v2 and the Classpath Exception require license-aware redistribution

GitHub detects the repository as GPL-2.0, while the root LICENSE includes the GPL v2 text and the Classpath Exception. The exception is described as applying to certain source files, so modified redistribution or reuse of implementation source should verify the headers of the exact files involved and applicable third-party notices rather than assuming a single permissive rule across every file.

Sources: [6][5]

Official sources

  1. [1]openjdk/jdk — GitHub repository(2026-09-15)
  2. [2]openjdk/jdk — README(2026-09-15)
  3. [3]openjdk/jdk — src tree(2026-09-15)
  4. [4]OpenJDK — Building the JDK(2026-09-15)
  5. [5]openjdk/jdk — version-numbers.conf(2026-09-15)
  6. [6]openjdk/jdk — LICENSE(2026-09-15)
Supplemental curator note

We selected this repository as the upstream source for Java itself rather than as a binary JDK distribution. As of September 15, 2026, master targets JDK 28 EA; production teams should distinguish it from prebuilt distributions and the jdkXXu maintenance repositories for a chosen release.

Try it in 3 steps

  1. 1

    Get the source

    git clone --depth 1 https://github.com/openjdk/jdk.git
  2. 2

    Enter the repository

    cd jdk
  3. 3

    Check the official steps

    Continue with the commands in the README Installation, Quick Start, or Getting Started section.

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Check the official README

Growth

Growth trends · Last 30 days

23,347 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
459
Open PRs
407

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • openjdk
  • java
  • jvm
Stars
23,347
Forks
6,445
Watchers
366
Open issues
0
Primary language
Java
License
GPL-2.0
Repository last updated
Sep 15, 2026
Report incorrect information

Tell us if any listing information is incorrect or outdated.