Azul Statement on the eMudhra Intermediate CA Certificates Compromise
jdk-migration-bg

Amazon Corretto 17 vs OpenJDK

Smart Summary

Amazon Corretto 17 receives continuous security patches and long-term support, while vanilla OpenJDK 17 stopped getting upstream updates once Java 18 shipped. This article compares the two for production use and presents Azul Zulu 17 as a free alternative with optional commercial support.

Amazon Corretto 17 is the right choice over vanilla OpenJDK 17 for production workloads because it provides continuous security patches and a long-term support commitment for Java 17 — one of the most widely adopted LTS versions. Vanilla OpenJDK 17 stopped receiving active upstream patches from the openjdk.java.net project once Java 18 shipped in March 2022. For any organization running Java 17 in production, a distribution with LTS maintenance is essential.

Java 17, released in September 2021, is the current consensus LTS choice for new enterprise Java projects. It introduced sealed classes (finalized), pattern matching for switch (preview), the new macOS rendering pipeline, and strong encapsulation of JDK internals — plus the accumulated performance improvements from Java 12 through 17. Its long support window has made it the upgrade destination for millions of Java 11 and Java 8 applications.

The comparison between Corretto 17 and vanilla OpenJDK 17 is in practice a comparison of maintained versus unmaintained Java 17 runtimes. For teams evaluating all options, Azul Zulu 17 is a fully equivalent free alternative to Corretto 17, with the option to upgrade to Azul Core commercial support.

What Is Amazon Corretto 17?

Amazon Corretto 17 is Amazon Web Services’ free, production-ready build of OpenJDK 17 with long-term support. AWS applies quarterly security patches aligned with Oracle’s Critical Patch Update (CPU) release schedule and includes additional Amazon-sourced fixes. Corretto 17 is TCK-certified under the Java SE 17 specification, making it a conformant Java SE 17 implementation.

Corretto 17 is distributed for Linux (x64 and ARM64), Windows, and macOS. AWS validated significant performance improvements in Corretto 17 for Graviton ARM64 processors, making it particularly effective for AWS teams using Amazon’s ARM-based infrastructure. Corretto 17’s LTS commitment extends to October 2029 under standard support, with extended options beyond that. It is the default JDK on Amazon Linux 2023.

What Is OpenJDK 17?

OpenJDK 17 is the reference implementation of Java SE 17, released by Oracle in September 2021. Oracle open-sourced Java 17 under the GPL with Classpath Exception, making the source fully available. However, the OpenJDK project only maintains the current Java release — once Java 18 shipped in March 2022, upstream OpenJDK development on the Java 17 branch effectively ceased for the main project contributors.

This does not mean Java 17 is unsupported — it means that support comes from distributions, not the upstream project. When organizations say they run OpenJDK 17, they almost always mean a distribution: Corretto, Zulu, Temurin, or Oracle JDK. The practical distinction is which organization is applying the security patches and how that organization’s support model aligns with the team’s needs.

Amazon Corretto 17 vs OpenJDK Comparison

Feature Amazon Corretto 17 Vanilla OpenJDK 17
License GPLv2 + Classpath Exception GPLv2 + Classpath Exception
Cost Free Free (build from source)
Support AWS quarterly patches; no SLA None (upstream inactive for v17)
LTS Yes — through at least Sep 2029 No LTS concept in upstream
Performance HotSpot JVM, AWS/Graviton-tuned HotSpot JVM, untuned
Platforms Linux, Windows, macOS (x64, ARM64) Source only; limited binary support
TCK Certified Yes Reference implementation

Licensing and Cost

Both Corretto 17 and vanilla OpenJDK 17 are licensed under GPLv2 with Classpath Exception — identical, commercially permissive terms. Oracle’s move to this license for Java 17 (vs. the commercial BCL/OTN license for older Java 17 builds) was significant: it means Oracle JDK 17 is also free under the NFTC license, and the ecosystem has converged on consistent free licensing for this generation of Java.

From a pure licensing standpoint, there is no meaningful difference between running Corretto 17, Zulu 17, Temurin 17, or Oracle JDK 17 — all are commercially free for production use. The decision comes down to who is maintaining the patches, how reliably CVEs are addressed, and what support model is available.

Corretto 17 gives organizations the AWS-maintained patch stream at no cost. Azul Zulu 17 gives the same free model with the addition of Alpine Linux builds and the option to add Azul Core commercial support. For organizations transitioning off Oracle JDK 17 commercial support subscriptions, Azul Core offers a cost-competitive alternative with comparable SLA levels.

Performance and Support

Corretto 17 and Zulu 17 both use HotSpot and perform equivalently on x86 hardware. Corretto 17 carries meaningful optimizations for AWS Graviton (ARM64) — Amazon’s performance engineers have contributed patches that improve throughput on these processors, which are common in modern AWS deployments. On Graviton hardware specifically, Corretto 17 may outperform Zulu 17 in throughput-oriented benchmarks.

Java 17 itself introduces significant performance improvements over Java 11: improved garbage collector pause times (especially with ZGC and Shenandoah, though these were also backported to some Java 11 distributions), improved intrinsics, and better vector operation support. These improvements apply equally to all Java 17 distributions — the version upgrade itself delivers more performance gain than any distribution-specific tuning.

On support, Corretto 17 provides community-level support (GitHub issues, AWS documentation) with no formal SLA. Azul Zulu 17 can be upgraded to Azul Core, which provides enterprise SLAs including committed response times for critical CVEs, formal patch turnaround commitments, and access to Azul’s JVM engineering team. For regulated industries running Java 17 — financial services, healthcare, government — Azul Core provides the contractual support documentation these environments require.

Which Should You Choose?

For Java 17 in production, choose a maintained distribution over vanilla OpenJDK in all cases. The choice between distributions depends on your infrastructure and support requirements.

Choose Amazon Corretto 17 if you run on AWS infrastructure, particularly on Amazon Linux 2023 or AWS Graviton instances. Corretto 17 is pre-integrated with AWS services, benefits from AWS performance tuning, and is the lowest-friction option for AWS-native teams.

Choose Azul Zulu 17 if you run outside AWS, need Alpine Linux container builds, operate multi-cloud or on-premises, or want the option to add Azul Core commercial support without switching JDK distributions. Zulu 17 is also the right choice for organizations that need a single JDK vendor relationship covering older Java versions (6, 7, 8, 11) alongside Java 17.

Frequently Asked Questions

Is OpenJDK 17 still receiving security updates?

Not from the upstream OpenJDK project — which stopped active Java 17 patch work once Java 18 shipped. Security updates for Java 17 come from distributions: Corretto 17, Azul Zulu 17, Eclipse Temurin 17, and Oracle JDK 17 all publish quarterly CPU-aligned patches. Running any of these distributions keeps your Java 17 runtime current on security fixes.

What is the end of life for Corretto 17?

Amazon Corretto 17 standard support extends to October 2029. AWS periodically publishes extended support roadmap updates. For organizations that need Java 17 support beyond 2029, Azul Core provides extended LTS options, and Azul’s track record includes extended support for Java 8 well into 2030.

Is Java 17 a good LTS version to standardize on?

Yes. Java 17 is one of the most widely adopted LTS versions in the ecosystem and enjoys one of the longest remaining standard support windows among deployed LTS versions (September 2029). It includes sealed classes, pattern matching, text blocks, records, and the new macOS rendering pipeline. For teams on Java 11 or Java 8, Java 17 is the recommended next LTS target.

Does Corretto 17 support Alpine Linux?

Yes. Amazon Corretto 17 provides Alpine Linux (musl) builds and official Alpine-based Docker images. For containerized microservices using Alpine base images, Azul Zulu 17 provides dedicated musl builds. Azul also maintains official Docker Hub images for Zulu on both glibc (standard Linux) and musl (Alpine) variants.

Can I switch from OpenJDK 17 to Corretto 17 without downtime?

Yes. Switching between TCK-certified Java 17 distributions is a binary-compatible operation. Updating JAVA_HOME and PATH to point to Corretto 17 (or Zulu 17) replaces the runtime without requiring application recompilation or code changes. JVM tuning flags should be reviewed after the switch since some flags may have changed defaults between patch releases, but the migration itself is low-risk and reversible.

Conclusion

Amazon Corretto 17 is a strong, free, actively maintained Java 17 LTS distribution that solves the central problem of vanilla OpenJDK 17 — the absence of ongoing security patches. For AWS teams, Corretto 17 is the obvious default. For teams outside AWS, Azul Zulu 17 provides equivalent LTS coverage with additional platform support and the ability to add Azul Core commercial support without a JDK migration.