Posts

Best Oracle Java Alternatives in 2026: Comparison of OpenJDK Distributions

Apr 21, 2026
Bob Booshehri
48.0

The main alternatives to Oracle Java are vendor-supported OpenJDK distributions: Liberica JDK by BellSoft, Azul Zulu, Eclipse Temurin, Amazon Corretto, and Red Hat OpenJDK. Unlike bare OpenJDK, these distributions offer TCK-verified builds, predictable security update cadences, and commercial support options. 

Spikes of interest in Oracle Java alternatives coincide with recurrent changes to Oracle’s Java license, the latest of which — a new pricing model based on employee headcount — has brought especially significant consequences for large enterprises.

If you are tired of unpredictable licensing changes, migrating to a vendor-supported OpenJDK distribution gives you a free, compliant, and commercially supported Java runtime without Oracle's audit risk. We prepared an overview of the eight most popular solutions with a comparative table of prominent features.

Download the comparison table (PDF) — all key features across eight distributions in one place.

Not All JDK Distributions Are the Same

"They're all based on OpenJDK — it doesn't matter which one you use." That's what we keep hearing from developers. It's not quite right.

All OpenJDK distributions do come from the same open-source codebase, and TCK verification guarantees that if your application runs on Oracle JDK, it will run on any TCK-verified distribution. The difference is what each vendor chose to do with that code. Some left it essentially as is — a clean baseline that works, but requires you to do your own performance tuning and security hardening. Some adapted it for their own ecosystems, which can make future migration harder. Others went further: adding features, optimising for specific workloads, and building ready-to-use solutions that save developers time and effort.

Version and platform support is the most obvious difference. While most distributions cover current LTS releases (Java 8 through 25), only a handful still provide security updates for Java 6 and 7. Supported operating systems and CPU architectures vary significantly from one distribution to another.

Container support has become a key differentiator. Most vendors now offer pre-built images for common Linux distributions. Some have gone further and optimised their images specifically for containerised workloads — cutting disk space and resource usage significantly. BellSoft's Liberica Runtime Container on Alpaquita Linux is the most compact at 45.95 MB, saving up to 30% in disk space and RAM compared to standard alternatives.

Security is not uniform across distributions. Oracle releases two types of security updates on a quarterly schedule: CPU (Critical Patch Update), which include security-only fixes, and Patch Set Updates (PSU), which include both CPU security fixes and critical non-security bug fixes. Not all vendors ship CPU separately — some release PSU only, meaning every security update also includes bug fixes that may affect application behaviour and require additional testing in production. For organisations in regulated industries or with strict patching SLAs, this distinction matters.

Hardened container images are offered as a first-party product by only two vendors in this comparison: BellSoft and Red Hat. All others depend on third-party providers, meaning the runtime and the OS layer are maintained by separate vendors, on separate timelines, under separate security policies. In practice, there is no single vendor accountable for the full stack.

Specialised features separate baseline distributions from full-featured ones. Bundles with OpenFX, CRaC support for faster startup, GraalVM for native image compilation, CDS-enabled container images, and performance-optimised JVM variants are each available only from specific vendors.

Vendor lock-in is a risk worth naming explicitly. Amazon Corretto and Microsoft Build of OpenJDK offer commercial support only within their respective cloud platforms. SapMachine is built primarily to serve SAP's own ecosystem. Azul Platform Core is a commercial product with its own licensing terms, and it’s not open-source. Distributions tied to a single vendor's ecosystem can complicate future migrations.

So what's the best distribution? It depends on what you need. If you want a simple baseline JDK for standard Linux workloads, most distributions will serve you equally well. But if you need support for legacy Java versions, a custom support roadmap, easy compliance with supply chain regulations, hardened container images, or specialised flavors for cloud and container workloads, you need a vendor-supported distribution that covers all your needs out of the box.

Comparison of Major OpenJDK Distributions (2026)

  1. Liberica JDK (BellSoft)
  2. Azul Zulu
  3. Red Hat OpenJDK
  4. Eclipse Temurin
  5. Amazon Corretto
  6. Microsoft Build of OpenJDK
  7. SapMachine
  8. IBM Semeru Runtimes
  9. Comparative table of Java runtimes

Liberica JDK (BellSoft)

License & cost
GPLv2 + Classpath Exception
Free for commercial use

100% open source

Support
Commercial SLA available

Covers Liberica JDK, Alpaquita Linux, and container images under one agreement. Bug fixes, security patches, and custom builds. Pricing never raised since founding.

LTS versions
Java 8
Java 11
Java 17
Java 21
Java 25
Java 6 (Extended support)
Java 7 (Extended support)

All LTS versions are free. JDK and JRE builds for all versions.

Features &
special flavors
 
OpenFX
 
GraalVM / Liberica NIK
 
Liberica JDK Lite
 
Performance Edition
 
CRaC support
Containers
45.95MB
on Alpaquita Linux, supporting CDS and CRaC
 

Pre-built also available as JDK or JRE builds for Alpine Linux, Debian, and Rocky Linux on Docker Hub, GHCR, MCR, GCR, and Amazon ECR.

Buildpacks
Yes

Default runtime in the Paketo Spring Boot Buildpack. Hardened Spring Boot Buildpack also available.

Hardened images
Yes

SLA for CVE remediation. Built and maintained entirely in-house by BellSoft.

Liberica JDK is an open-source, TCK-verified Java runtime developed by BellSoft, a recognised contributor to the Java ecosystem and a member of the OpenJDK Vulnerability Group, the Java Community Process Executive Committee (JCP EC), and the GraalVM Project Advisory Board. BellSoft engineers contribute fixes and patches to OpenJDK, including those developed for commercial customers, which means there is no vendor lock-in. Improvements flow back into the open-source codebase.

Liberica JDK is the only OpenJDK distribution recommended by the Spring team, and the default runtime in Paketo buildpacks for Spring Boot. Liberica Native Image Kit (NIK) is the default GraalVM runtime in Paketo buildpacks. For teams building cloud-native Spring Boot applications, Liberica JDK is the natural, out-of-the-box choice.

BellSoft provides enterprise support and security updates across a broad version range: legacy Java versions 6 and 7, all current LTS versions (8, 11, 17, 21, and 25), and GraalVM Native Image technology. LTS versions enjoy an extended support lifecycle of 8.5 years or more for certain versions. Liberica JDK also supports the broadest range of system configurations available from any single vendor — Linux (glibc and musl), Windows, macOS, Alpine, and Alpaquita Linux, across x86 (32- and 64-bit), ARM (32- and 64-bit), PowerPC, RISC-V and SPARC architectures.

BellSoft offers dedicated flavours of Liberica JDK tailored to specific workload requirements:

  • Standard — vanilla builds of OpenJDK. Full-featured builds with all necessary libraries provided as is. Compatible with any standard Java SE workload.
  • Full — includes OpenJFX for writing GUI applications.
  • Liberica JDK Lite — optimised for containerised environments, with a minimal footprint and efficient resource usage. Based on Alpaquita Linux, Liberica JDK Lite containers take up only 45.95 MB — the smallest production Java container image available.
  • Performance Edition — delivers up to 10% performance improvement for Java 8 and 11 workloads through low-level JVM optimisations, especially relevant for applications that cannot yet migrate to modern LTS versions.
  • Builds with CRaC support — available for Java 17 and 21, enabling Coordinated Restore at Checkpoint for dramatically faster application startup in autoscaling and serverless environments.
  • Liberica NIK — GraalVM-based ahead-of-time native image compilation, producing standalone native executables with near-instant startup and reduced memory overhead.

BellSoft engineers bring deep expertise in optimizing Java performance on ARM processors. They implemented JEP 315 (Improve Aarch64 Intrinsics) into OpenJDK and continue to maintain the ARM32 port, a combination that makes Liberica JDK a strong choice for embedded systems, IoT, and organisations migrating to ARM-based cloud infrastructure such as AWS Graviton.

BellSoft provides pre-built container images with Liberica JDK on Docker Hub, GHCR, and the Microsoft Container Registry (MCR), for both x86_64 and AArch64 architectures. The flagship option for container-native workloads is the Liberica Runtime Container on Alpaquita Linux — BellSoft's own musl and glibc based secure container OS, built, maintained, and supported entirely in-house. This small production Java container image can save up to 30% in disk space and RAM usage compared to standard alternatives. Liberica Runtime Container images also include Class Data Sharing (CDS) support for improved startup performance in containerised deployments and CRaC support. Images are also available for Alpine Linux, Debian, and Rocky Linux.

For security-conscious teams and regulated industries, BellSoft publishes Hardened Images — zero-CVE container images built and maintained entirely in-house, with SBOM included and image signing enabled. 

Liberica JDK is free for commercial use, with quarterly CPU (Critical Patch Update) releases aligned with Oracle's Java update schedule. Commercial support is available with flexible plans and without man-in-the-middle. The 24/7 "follow-the-sun" support model operates under a strict SLA, with emergency and off-cycle patches available for critical issues. Pricing is subscription-based per server or desktop; the number of CPUs, processor class, and storage capacity are not factors. Commercial customers also receive patent and non-contamination indemnification.

Best for: Spring Boot developers, DevOps and platform engineering teams, enterprises migrating from Oracle JDK, workloads requiring ARM optimisation, and any organisation that values licensing predictability alongside broad platform coverage.

Licensing: GPLv2 with Classpath Exception — free for commercial use, no field-of-use restrictions.

 

Eclipse Temurin

License & cost
GPLv2 + Classpath Exception
Free for commercial use

100% open source

Support
Via 3rd party

Community only. No commercial support from the Eclipse Foundation directly. Support subscriptions available from third-party Adoptium Working Group members (Azul, Red Hat, IBM)

LTS versions
Java 8
Java 11
Java 17
Java 21
Java 25

JDK and JRE builds. Quarterly releases aligned with Oracle CPU schedule.

Features &
special flavors
-
Containers
71.81MB
on Alpine (default)
 

Pre-built images are also available with Ubuntu, Red Hat UBI9-minimal, and Windows on Docker Hub.

Buildpacks
Yes
Hardened images
Via 3rd party

No first-party hardened images. Hardening, SBOM generation, and image signing depend on third-party providers.

Eclipse Temurin (formerly AdoptOpenJDK) is a free, TCK-verified OpenJDK distribution developed under the governance of the Eclipse Foundation, a member of the JCP Executive Committee. The Adoptium Working Group, which oversees the project, includes strategic and enterprise members such as IBM, Azul, Google, Alibaba Cloud, Huawei, Microsoft, and others. This broad industry backing is Temurin's most distinctive credential. It is the closest thing the Java ecosystem has to a true vendor-neutral, community-governed distribution with significant corporate sponsorship.

That distinction comes with an important nuance worth understanding clearly. The Adoptium Working Group provides the platform for JDK distribution and governs the project. It does not directly support the Eclipse Temurin builds in a commercial sense. The Eclipse Foundation itself does not offer commercial support subscriptions. Enterprises that require SLA-backed support must purchase it separately from Adoptium Working Group members such as Azul, Red Hat, or IBM — each under a separate agreement, with separate pricing, and with no guarantee of cross-vendor consistency in patch cadence or escalation process.

Free-to-use LTS releases (Java 8, 11, 17, 21, and 25 ) are available across a wide variety of platforms, updated by the Adoptium community on a quarterly cadence aligned with Oracle's CPU schedule. In practice, Temurin releases tend to follow the Oracle CPU schedule by a few days to a week, slightly later than some vendor distributions. JDK and JRE builds are provided for all supported versions. Adoptium has committed to building binaries for LTS releases as long as the corresponding upstream OpenJDK source is actively maintained.

For teams evaluating Temurin alongside other distributions, the feature set is deliberately minimal. It is a strength for those who want an uncomplicated, standards-compliant baseline, and a limitation for those who need performance-optimised builds, CRaC checkpoint support, native image compilation, or OpenJFX. None of these are available in Temurin.

On the container side, Adoptium provides images across Alpine, Ubuntu, Red Hat UBI9-minimal, and Windows. All images are published exclusively on Docker Hub. There are no CDS-enabled images. Hardened container images, their SBOM generation, and image signing are not available directly from the Eclipse Foundation. It depends on third parties, which introduces an indirect dependency on external vendors' update cadences and provenance practices. The Paketo Buildpack for Java is supported.

For teams that need commercial support, the fragmented support landscape is the most significant practical limitation. Depending on which Adoptium Working Group member a team buys support from, the terms, pricing, response times, and coverage scope will differ. 

Best for: Teams prioritising vendor-neutral governance and open-source community alignment over feature breadth. 

Licensing: GPLv2 with Classpath Exception — fully free for commercial use, no field-of-use restrictions.

 

Amazon Correto

License & cost
GPLv2 + Classpath Exception
Free for commercial use

100% open source

Support
AWS cloud customers only

Commercial support available only through AWS Support plans, covering AWS-hosted workloads only.

LTS versions
Java 8
Java 11
Java 17
Java 21
Java 25

JDK and JRE builds for Linux, Windows, and macOS. PSU security updates only.

Features &
special flavors
 
ACCP crypto provider
Containers
176.07MB
on Alpine Linux base
 

Pre-built images for Alpine Linux, Amazon Linux, and Debian. Available on Docker Hub and Amazon ECR.

Buildpacks
Yes
Hardened images
Via 3rd party

No first-party hardened images. Hardening, SBOM generation, and image signing depend on third-party providers.

Amazon Corretto is a free, TCK-verified OpenJDK distribution maintained by Amazon Web Services, a major cloud provider and member of the GraalVM Project Advisory Board and the JCP EC. 

Amazon Corretto is available on Linux, Windows, and macOS, with JDK and JRE builds for all supported LTS versions: Java 8, 11, 17, 21, and 25. AWS provides regular updates for all LTS versions and a current release and applies urgent off-cycle fixes when available. There is no CRaC support, no GraalVM or native image compilation, and no performance-optimised build variant.

One differentiating feature of Corretto is  the Amazon Corretto Crypto Provider (ACCP). It’s a cryptographic library optimized for AWS infrastructure that can boost the performance of cryptographic operations, particularly in earlier Java versions. It comes with a tradeoff. As  an alternative implementation of OpenJDK’s cryptographic algorithms, its behavior may differ from standard OpenJDK. Teams running Corretto outside AWS, or relying on cryptographic behaviour for compliance reasons, should evaluate ACCP's suitability independently.

JavaFX is no longer included in or supported by any Corretto release. It was initially available in Amazon Corretto 8 on select platforms only. Amazon halted its support on March 31, 2026.

The support model is Corretto's most significant practical constraint. Commercial support is available but exclusively through AWS Support plans, and only for workloads running on AWS Cloud. On-premises deployments, hybrid environments, and multi-cloud infrastructure fall entirely outside the support boundary. Amazon has stated it does not currently plan to launch standalone Corretto-specific support plans. For organisations not deeply committed to AWS infrastructure, this means Corretto is a community-only distribution in practice, regardless of Amazon's engineering involvement.

On the container side, pre-built images are available on Docker Hub and Amazon ECR for Alpine Linux and Amazon Linux. There are no CDS-enabled images. Hardened container images, their SBOM generation, and image signing are not available directly from AWS. All three depend on third-party vendors. The Paketo Buildpack for Java is supported. 

For teams already running on AWS who want a free, AWS-aligned JDK, Corretto is a natural fit. For anyone evaluating a long-term Java platform strategy that extends beyond AWS, the support boundary is a hard constraint that typically pushes teams toward distributions with a more portable support model.

Best for: Teams running entirely on AWS who want a free, cloud-provider-maintained JDK and are comfortable relying on AWS Support plans for their Java runtime. AWS Graviton users benefit from Corretto's ARM64 optimisations.

Licensing: GPLv2 with Classpath Exception — fully free for commercial use, no field-of-use restrictions.

 

Azul Zulu

License & cost
GPLv2 + Classpath Exception
Azul License

Community Availability (CA) and Subscriber Availability (SA). Only community builds are available for free.

Support
Commercial SLA available

CA tier: community only, no indemnification. SA tier: commercial SLA with 24/7 follow-the-sun support.

LTS versions
Java 8
Java 11
Java 17
Java 21
Java 25
Legacy Java 6 & 7

JDK and JRE builds. 8 years of LTS support plus 2 years of Extended Support.

Features &
special flavors
 
OpenJFX (FX bundle)
 
IcedTeaWeb (Java Web Start)
 
CRaC support
 
Azul Platform Prime
Containers
88.14MB
on Alpine
 

Pre-built images for Alpine, Debian, Ubuntu, CentOS, Rocky Linux, and Distroless. Available on Docker Hub (Docker Official Image), GHCR, GCR, Amazon Marketplace.

Buildpacks
Yes
Hardened images
Via 3rd party

Zero-CVE hardening depends on third-party tooling — provenance and update cadence are not directly controlled by Azul.

Azul Zulu is a free, TCK-verified OpenJDK distribution provided by Azul Systems, a member of the OpenJDK Vulnerability Group and the JCP EC. Azul engineers participate in fixing issues in the OpenJDK project, though they are not among its primary contributors. Azul offers two distinct types of builds, and understanding the difference matters for procurement:

  • Community Availability (CA) — free to use, tested and TCK-certified, but without a guarantee of patent non-contamination. CA builds do not include commercial SLA, indemnification, or guaranteed patch cadence beyond the community schedule.
  • Subscriber Availability  (SA)  — commercially supported builds, available as Azul Platform Core. SA builds are tested, certified, stabilized (security only), and include patent and non-contamination indemnification. In late 2024, Azul significantly restructured its pricing: the minimum entry-level contract rose from $6,000 to $41,000 per year. Mid-range tiers saw increases of 35–292% depending on vCore count, which pushed their customers to evaluate alternatives. As of late 2025, Azul no longer publishes its pricing publicly. The unlimited tier was previously listed at $483,000 per year. 

The company provides builds with OpenJFX (FX bundle), Mission Control, and IcedTeaWeb, which is an open-source implementation of the Java Web Start, useful for legacy enterprise applications that still depend on that technology. CRaC (Coordinated Restore at Checkpoint) support is also available, enabling faster startup for checkpoint-capable applications.

Azul supports all current LTS versions: Java 8, 11, 17, 21, and 25. Legacy Java 6 & 7 versions extended support is available, but only as a commercial offering under the SA tier. It is not included in the free CA builds. LTS builds receive 8 years of support plus an additional 2 years of Extended Support, giving customers a runway to upgrade to a newer Java version without urgency. Quarterly CPU releases are provided  on schedule to all users. Commercial clients receive 24/7 “follow-the-sun” support with direct access to Java engineers, and emergency and off-cycle patches under SLA.

On the container side, Zulu images on Alpine Linux Docker Hub weigh 88.14 MB for the minimal build. Azul provides images across multiple Linux distributions, including Alpine, Debian, Ubuntu, CentOS, and Rocky Linux on GitHub. Images are available on GHCR, GCR, and the Amazon Marketplace. 

Azul does not provide first-party hardened container images. Hardening, SBOM, and image signing are available only through third-party vendors. Organisations seeking a single vendor for runtime, OS, and container support will need to source those components separately and manage separate support relationships for each layer.

Best for: Organisations with existing Azul commercial relationships

Licensing: Community (CA) builds under GPLv2 with Classpath Exception — free. Commercial (SA) builds under Azul commercial license — subscription required.

 

Red Hat OpenJDK

License & cost
GPLv2 + Classpath Exception
Community builds free

Community builds are open source and free.

Support
For RHEL clients only

24/7 commercial support is not available as a standalone product. It is bundled with a Red Hat Enterprise Linux subscription, and limited to RHEL and Windows.

LTS versions
Java 8
Java 11
Java 17
Java 21
Java 25

JDK and JRE builds. PSU security updates only.

Features &
special flavors
 
GraalVM via Mandrel
Containers
146.7MB
on Red Hat Universal Base Image (UBI)
 

Images with CDS. Available via Red Hat Container Registry only.

Buildpacks
No
Hardened images
Yes

Hardened via Red Hat Universal Base Image — built and maintained in-house.

Red Hat is an active contributor to the OpenJDK project and a member of both the JCP EC and the GraalVM Project Advisory Board. Red Hat OpenJDK provides free builds for LTS Java versions 8, 11, 17, 21 and 25, with JDK and JRE builds available for all supported versions. All versions but JDK 8 are TCK verified. 

Platform support is the most significant constraint to understand before evaluating Red Hat OpenJDK for your environment. Builds and commercial support are limited to Red Hat Enterprise Linux (RHEL) and Windows.

Commercial support is available with 24/7 service, ongoing patches, fixes, and updates, but it is not sold as a standalone product. Support is bundled with a RHEL subscription, which has two practical implications. First, organisations not running RHEL cannot purchase Red Hat Java support independently. Second, if the underlying RHEL version reaches its retirement date before the JDK support lifecycle ends, JDK support ceases at the RHEL EOL date, not the Java EOL date. Teams running Windows deployments without Red Hat middleware require an additional, separate subscription for OpenJDK on Windows.

On the security update cadence, Red Hat OpenJDK ships PSU (Patch Set Update) releases only. It does not include the full Oracle CPU (Critical Patch Update) schedule. 

For GraalVM-based native image compilation, Red Hat offers Mandrel, a downstream distribution of GraalVM Community specifically focused on native image support for Quarkus applications. Mandrel is not a general-purpose GraalVM replacement. It is tightly scoped to the Quarkus ecosystem and does not provide the full GraalVM feature set. There is no CRaC support, no performance-optimised flavour, and no OpenJFX bundle.

Red Hat provides first-party hardened container images via the Universal Base Image (UBI), with SBOM included and image signing enabled natively. Images also include Class Data Sharing (CDS) support for improved startup performance. The tradeoff is that images are tightly tied to the Red Hat ecosystem and available only via the Red Hat Container Registry. For those who don’t use Dockerfiles, there is no Paketo Buildpack support.

For teams already running within the Red Hat ecosystem, Red Hat OpenJDK is a natural and well-integrated choice. OpenJDK entitlements can be included in the RHEL subscription. For anyone outside that ecosystem, the coupling to RHEL and the absence of standalone support options make it a difficult case to build.

Best for: Organisations already running on the Red Hat ecosystem

Licensing: Community builds under GPLv2 with Classpath Exception — free. Commercial support requires a Red Hat Enterprise Linux subscription.



Microsoft Build of OpenJDK

License & cost
GPLv2 + Classpath Exception
Free for commercial use

Open source. Released in 2021 primarily to support Microsoft's Azure ecosystem.

Support
Azure customers only

Commercial support limited to Microsoft Azure cloud workloads. Available via Microsoft Azure support plans.

LTS versions
Java 11
Java 17
Java 21
Java 25

JDK and JRE builds for Linux, Windows, and macOS. Quarterly CPU updates for supported versions.

Features &
special flavors
No
Containers
N/A
Buildpacks
No
Hardened images
N/A

Microsoft released its own free, long-term supported OpenJDK distribution in 2021. Microsoft participates in the OpenJDK community and holds membership of JCP Executive Committee and the Adoptium Working Group. Microsoft OpenJDK builds are tested against the Eclipse Adoptium Quality Assurance suite and have passed the TCK verification. 

The distribution provides JDK and JRE builds for LTS versions 11, 17, 21 and 25, available on Linux, Windows, and macOS with quarterly CPU updates aligned to the OpenJDK schedule. 

One aspect of the Microsoft build worth understanding carefully is that the binaries may include fixes that have not yet been backported upstream into OpenJDK, and there is no guarantee that those fixes will ever be integrated into the main project. In practice, this mirrors the same concern noted for SapMachine. If Microsoft-specific patches remain outside the OpenJDK codebase, migrating away from the Microsoft build in the future may require identifying and replicating those fixes manually in a different distribution. Teams with long-term planning should factor this into their evaluation.

The commercial support picture follows the same pattern as Amazon Corretto: support is available, but only for workloads running on Microsoft Azure. For teams running Java on Azure who already have a Microsoft support relationship, this is a practical and low-friction option. For anyone else, it is a community-only distribution in everything that matters operationally.

Best for: Development teams working in Azure-centric environments

Licensing: GPLv2 with Classpath Exception — fully free for commercial use.

 

IBM Semeru Runtimes

License & cost
GPLv2 + Classpath Exception
Community builds for free.
Support
Yes

IBM commercial support available for LTS versions across Linux, macOS, and Windows. IBM also offers commercial support for Eclipse Temurin - one of few vendors to back a third-party distribution.

LTS versions
Java 11
Java 17
Java 21
Java 25

JDK and JRE builds.

Features &
special flavors
 
Eclipse OpenJ9 JVM
Containers
N/A
Buildpacks
No
Hardened images
No

IBM Semeru Runtimes is the only distribution in this comparison that is not built on the HotSpot JVM.

IBM contributes to the OpenJDK project and holds a seat  on the JCP Executive Committee. Its engineers developed Eclipse OpenJ9, its own Java Virtual Machine, as an alternative to HotSpot JVM used by every other distribution in this comparison. IBM Semeru Runtimes combines OpenJDK class libraries with the OpenJ9 JVM, producing a TCK-verified distribution that is API-compatible with the Java SE specification but architecturally distinct at the runtime level. 

What OpenJ9 means in practice: OpenJ9 is designed for low memory footprint and fast startup time rather than maximum sustained throughput. In workloads that start frequently, run briefly, or operate under strict memory constraints, like microservices, serverless functions, container-dense deployments, OpenJ9 can outperform HotSpot on those specific metrics. But that’s not always the case, see our HotSpot vs OpenJ9 performance study.

The tradeoff is compatibility. Because OpenJ9 is a different JVM implementation, some tooling, JVM flags, garbage collector tuning parameters, and diagnostic tools that work with HotSpot may not behave identically under OpenJ9 — or may not be available at all.

IBM provides commercial support for LTS versions of IBM Semeru Runtimes. Notably, IBM also offers commercial support for Eclipse Temurin, making it one of the few vendors willing to back a third-party distribution. 

Best for: Organisations with existing IBM infrastructure or OpenJ9 expertise.

Licensing: GPLv2 with Classpath Exception — community builds free.

 

SapMachine

License & cost
GPLv2 + Classpath Exception
Free for commercial use

Maintained primarily to support SAP's own product ecosystem. No commercial licensing tier.

Support
SAP BTP customers only

SapMachine is supported as part of the SAP Business Technology Platform (SAP BTP). No independent commercial support offering for non-SAP workloads.

LTS versions
Java 17
Java 21
Java 25

JDK and JRE builds for Linux, Windows, and macOS.

Features &
special flavors
 
SAP JVM S
 
AP BTP integration
Containers
N/A
Buildpacks
No
Hardened images
N/A

SapMachine is a free, TCK-verified downstream distribution of OpenJDK version maintained by SAP, a major contributor to the OpenJDK project and a member of both the OpenJDK Vulnerability Group and the JCP Executive Committee.

The distribution provides JDK and JRE builds for LTS versions 17, 21 and 25, available for Linux, Windows, and macOS. All releases, including quarterly ones, are aligned with the OpenJDK schedule.

SapMachine exists primarily to serve SAP's own product ecosystem, not as a general-purpose Java runtime for arbitrary workloads. SAP uses SapMachine as the JDK underpinning its Business Technology Platform (SAP BTP). The distribution receives targeted fixes and patches relevant to SAP's environment, some of which may not be accepted upstream into OpenJDK. That last point has a practical implication worth stating plainly. If patches specific to SapMachine do not make it into OpenJDK, migrating away from SapMachine to another distribution in the future may require effort to identify and replicate those fixes in a different JDK.

SAP also develops SAP JVM — a separate, proprietary JVM with additional features optimised specifically for SAP environments. SAP JVM is distinct from SapMachine and is not an open-source product.

Commercial support is not available as a standalone offering. SapMachine is supported within the SAP Business Technology Platform for SAP customers. 

Best for: Organisations running SAP Business Technology Platform workloads that need a supported, SAP-aligned JDK.

Licensing: GPLv2 with Classpath Exception — fully free for commercial use.

Comparative table of Java runtimes

Below is a summary of the key features and options the most commonly used JDK vendors offer. Download the full table to see all 18 features compared across six major distributions in one place.

Feature

 

Liberica JDK

 

Oracle

 

Azul Zulu

 

Red Hat

 

Corretto

 

Eclipse Temurin

Recommended by Spring

 
 
 
 
 
 

Free for commercial use

 

Partial

(BCL, OTN, NFTC)

 
 
 
 

100% open source, no field-of-use restrictions

 
 
 
 
 
 

Free LTS versions: Java 8, 11, 17, 21, 25

 

Partial

(Java 8 paid)

 
 
 
 

Java 6 & 7 extended support

 
 
 
 
 
 

JDK build for containers

 

Liberica JDK Lite

 
 
 
 
 

Performance flavour for Java 8 & 11

 

Liberica JDK Perf

Partial

(Java 8 paid)

 
 
 
 

OpenJFX

 
 
 
 
 
 

GraalVM Java AOT compiler

 
 
 
 
 
 

JDK with CRaC support

 
 
 
 
 
 

Java Flight Recorder and Mission Control

 
 
 
 
 
 

Builds for a wide variety of platforms

 
 
 
 
 
 

Free CPU & PSU security updates

 

Free for personal use

 

PSU Only

PSU Only

PSU Only

Minimal containers

45.95 MB

(on Alpaquita Linux)

307.56 MB

(Oracle Linux 9)

88.14 MB

(on Alpine Linux)

146.7 MB

(UBI)

176.07 MB

(Alpine Linux)

71.81 MB

(Alpine Linux)

Paketo Buildpack for Java or Buildpack Spring Boot

 

(Default)

 
 
 
 
 

Hardened Buildpack

 
 
 
 
 
 

Container Registry

Docker, GHCR, MCR, GCR, Amazon ECR

Oracle CR

Docker, GHCR, GCR, Amazon Marketplace

RedHat CR

Docker, GHCR, Amazon ECR

DHI, CG, Amazon ECR

TCK verification

 
 
 
 
 
 

Patent Grant

 
 
 
 
 
 

Performance Parity with Oracle Java SE

 
 
 
 
 
 

Multiple Installers & Packages

(tar, deb, MSI, DMG, JDK/JREs)
 

No apk

No pkg

No JRE

 

No dmg

No deb

No apk

No rpm

No pkg

No dmg

 

Discovery API, Package managers, Docker Hub

 
 
 

No Discovery API

No Discovery API

 

Java Web Start and Applets

No Applets

OpenWebStart for JWS

 

No Applets

IcedTeaWeb for JWS

 
 
 

License

GPLv2 + Classpath

BCL, OTN, NFTC

GPLv2 + Classpath

GPLv2 + Classpath

GPLv2 + Classpath

GPLv2 + Classpath

Contribution to OpenJDK project

 
 
 
 
 
 

Commercial support available

 
 
 

Commercial support available

For AWS CLoud clients only

Via 3rd parties

Ready to migrate from Oracle and get more features, tools, and solutions with more affordable support? Consult BellSoft experts — our engineers will answer any of your questions and help with the migration.

Contact us

 

Frequently Asked Questions

What is the best free alternative to Oracle Java?

The right answer depends on your environment. 

Liberica JDK by BellSoft is a strong choice for most teams, especially those migrating from Oracle JDK or Azul Zulu. It offers a wide range of supported versions, platforms, and architectures, and places a strong focus on performance and security. It is the only distribution recommended by Spring. 

Eclipse Temurin is the best option for teams that prioritise vendor neutrality and community governance. For teams embedded in a specific ecosystem, Red Hat OpenJDK, Amazon Corretto, IBM Semeru, and the Microsoft Build of OpenJDK each serve their respective platforms well. All are free for commercial use under GPLv2 with Classpath Exception.

Is OpenJDK really free for commercial use?

Yes. OpenJDK and all major vendor distributions that are based on it, like Liberica JDK, Eclipse Temurin, Amazon Corretto, are licensed under GPLv2 with Classpath Exception, which permits free commercial use without restriction. There are no per-user, per-processor, or per-employee fees. 

What is the difference between OpenJDK and Oracle JDK?

OpenJDK is the open-source reference implementation of Java SE, built from public source code. Oracle JDK is Oracle's proprietary build of OpenJDK, with additional tools and a commercial license. Since Java 17, Oracle JDK has been available under the Oracle No-Fee Terms and Conditions (NFTC), but with restrictions, particularly for production use of older LTS versions. Vendor-supported OpenJDK distributions like Liberica JDK are TCK-certified, commercially supported, and free for commercial use without Oracle's licensing constraints.

Which OpenJDK distribution is recommended for Spring Boot?

Liberica JDK by BellSoft is the only OpenJDK distribution officially recommended by the Spring team on spring.io. Liberica JDK is the default runtime in the Paketo Spring Boot Buildpack.

How do I replace Oracle Java without paying for a license?

Download any free OpenJDK distribution. Visit bell-sw.com/pages/downloads/, select your Java version and platform, and install. For containers, replace your Oracle-based base image with a Liberica JDK image from Docker Hub. Migration is drop-in compatible for standard Java SE workloads — no code changes required. See the full migration guide for a step-by-step walkthrough.

What happened to Oracle Java licensing in 2023?

In January 2023, Oracle replaced its Java SE subscription pricing with the Java SE Universal Subscription, which charges based on total employee headcount, including employees who do not use Java. This change meant that most organisations saw their Java licensing costs increase substantially, and introduced significant compliance complexity. It was the primary driver of accelerated migration to open-source JDK alternatives through 2023–2025.

Is Liberica JDK free?

Yes. Liberica JDK is free for commercial use under GPLv2 with Classpath Exception. There are no field-of-use restrictions, no per-user fees, and no employee-count pricing. BellSoft also offers commercial support for organisations that require SLA-backed engineering support, but the JDK itself is always free.

Which JDK distribution has the most platform support?

Liberica JDK supports a wide range of operating systems and CPU architectures: Windows, macOS, and 14 Linux distributions (both musl and glibc), Raspbian, and Solaris 10 and 11. Supported CPU architectures include x86 (32- and 64-bit), ARM (32- and 64-bit), PowerPC, RISC-V, and SPARC. See the up to date list of supported configurations here

What is a hardened JDK container image?

A hardened JDK container image is a minimal image that has been stripped of unnecessary packages to reduce the attack surface, continuously monitored for new vulnerabilities, and patched to maintain a zero or near-zero CVE status. Hardened images come with a Software Bill of Materials (SBOM), image signing, and other provenance artefacts that supportf clean software supply chain compliance. Commercial hardened image offerings, such as BellSoft Hardened Images, also include an SLA for CVE remediation, guaranteeing a defined response time when new vulnerabilities are disclosed. Among the distributions in this comparison, only Liberica JDK and Red Hat OpenJDK offer first-party hardened images — all others depend on third-party vendors.

How much does commercial Java support cost?

Costs vary widely. Oracle JDK licensing under the Java SE Universal Subscription is based on employee headcount and can reach hundreds of thousands of dollars annually for large organisations. Azul restructured its pricing in late 2024, raising the minimum contract from $6,000 to $41,000 per year, and no longer publishes pricing publicly as of late 2025. Red Hat support is bundled with RHEL subscription costs and is not available as a standalone product. BellSoft Liberica JDK commercial support is available at stable, publicly stated pricing. Contact BellSoft for a quote.

Subcribe to our newsletter

figure

Read the industry news, receive solutions to your problems, and find the ways to save money.

Further reading