Q: What is Amazon Corretto?
A: Corretto is a build of the Open Java Development Kit (OpenJDK) with long-term support from Amazon. Corretto is certified using the Java Technical Compatibility Kit (TCK) to ensure it meets the Java SE standard and is available on Linux, Windows, and macOS. It includes patches from Amazon that have proven useful in running our own services.
Q: Why should I use Corretto?
A: Corretto is a reliable build of OpenJDK with the assurance of long-term support provided at no cost to you. Amazon runs Corretto internally on thousands of production services. Every modification we make to Corretto fixes or mitigates a problem we found running OpenJDK. Amazon also plans to apply urgent fixes (including security) when they are available and ready to use, outside of the regular quarterly cycle.
Q: How is Corretto different from OpenJDK?
A: Corretto is a distribution of Open JDK with patches included by Amazon that are not yet integrated in the corresponding OpenJDK update projects. We focus on patches that improve performance or stability in OpenJDK, chosen based on Amazon's observations running large services.
Q: What kinds of patches does Amazon intend to include in Corretto?
A: Patches will include security fixes, performance enhancements (e.g., speeding up frequently used functions), garbage collection scheduling, and preventing out-of-memory situations, as well as improved monitoring, reporting, and thread management.
Q: Is there any cost associated with using Corretto?
A: Corretto is distributed by Amazon under an Open Source license at no cost to you. It is licensed under the terms of the GNU Public License version 2 with the Class Path Exception (GPLv2 with CPE). Amazon does not charge for its use or distribution.
Q: What is included in Corretto's long-term support?
A: Amazon will provide security updates for Corretto 8 until at least June 2023. Updates are planned to be released quarterly. Corretto 11, corresponding to OpenJDK 11, will be available during the first half of 2019. Amazon will support Corretto 11 with quarterly updates until at least August 2024.
Using Amazon Corretto
Q: Can I use Corretto as a drop-in replacement for other JDKs?
A: Corretto is designed as a drop-in replacement for all Java SE distributions unless you are using features (e.g., Java Flight Recorder) not available in OpenJDK. Once Corretto binaries are installed on a host and correctly invoked to run your Java applications (e.g., using the alternatives command on Linux), existing command-line options, tuning parameters, monitoring, and anything else in place will continue to work as before.
Q: How can I start using Corretto on AWS?
- Amazon Linux 2 - Start up an Amazon Linux 2 AMI and install the Corretto RPM.
- Docker - Install the image (based on Amazon Linux 2) from Docker Hub into ECR.
- Windows - Start up a Windows AMI and install the Corretto Windows package.
Q: How can I use Corretto outside of AWS?
Q: What operating systems does Corretto support?
A: During Preview, Corretto installation packages are distributed by Amazon for Amazon Linux 2, Windows, and macOS. In addition, a Docker image (based on Amazon Linux 2) is hosted on Docker Hub.
Windows builds are supported on versions 7, 10, Server 2008, Server 2012, and Server 2016.
Mac OS X builds are supported on 10.10 (Yosemite) and later.
Licensing and Open Source
Q: What are Corretto's license terms?
A: Corretto is released under the same open source license as OpenJDK, which is licensed under the GNU Public License version 2 with the Class Path Exception (GPLv2 with CPE).
Q: How does Amazon contribute to OpenJDK?
A: Amazon started contributing to OpenJDK in 2017 and we plan to increase contributions in both number and complexity.
Q: How can I contribute to Corretto?
A: Amazon encourages contributions to the OpenJDK project as the way to get code into Corretto. This way the whole OpenJDK community benefits from your changes. If your contribution is specific to Corretto, such as to the build logic, the code is available on GitHub, where we will evaluate issues and pull requests.