Understanding the licensing status of different Oracle Java versions is essential for organizations looking to avoid compliance issues and unnecessary costs.
This article breaks down which Oracle Java versions are free, the licensing specifics of each version, and how security patches are handled.
Oracle Java Licensing Overview
Oracle Java licensing has undergone significant changes over the years. Initially, Java was broadly available under free licensing terms, but recent versions have introduced more restrictive licensing models.
Two primary licensing models exist:
- Free-to-use (OpenJDK builds): Completely open-source versions with ongoing community support.
- Paid licensing (Oracle JDK): Requires commercial subscription for production use and security updates after specific periods.
Licensing Status of Oracle Java Versions
Below is a comprehensive table summarizing the licensing status of key Oracle Java versions:
Oracle Java Version | Initial Release Date | Licensing Model | Free Usage? | Security Patches Availability |
---|---|---|---|---|
Java 6 | December 2006 | Binary Code License (BCL) | Free until April 2013 | No public patches after April 2013 |
Java 7 | July 2011 | Binary Code License (BCL) | Free until April 2015 | No public patches after April 2015 |
Java 8 | March 2014 | BCL initially, later Oracle OTN License | Free until January 2019 | No public patches after Jan 2019 |
Java 9 | September 2017 | Oracle Binary Code License | Free until March 2018 | No public patches after March 2018 |
Java 10 | March 2018 | Oracle Binary Code License | Free until September 2018 | No public patches after Sept 2018 |
Java 11 (LTS) | September 2018 | Oracle Technology Network (OTN) License | Free only for development/test | A paid subscription is required for patches |
Java 12 | March 2019 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after Sept 2019 |
Java 13 | September 2019 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after March 2020 |
Java 14 | March 2020 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after Sept 2020 |
Java 15 | September 2020 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after March 2021 |
Java 16 | March 2021 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after Sept 2021 |
Java 17 (LTS) | September 2021 | Oracle No-Fee Terms and Conditions (NFTC) | Free until September 2024 | Subscription required post-Sept 2024 |
Java 18 | March 2022 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after Sept 2022 |
Java 19 | September 2022 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after March 2023 |
Java 20 | March 2023 | Oracle Technology Network (OTN) License | Free only for development/test | No public patches after Sept 2023 |
Java 21 (LTS) | September 2023 | Oracle No-Fee Terms and Conditions (NFTC) | Free until September 2026 | Subscription required post-Sept 2026 |
Breakdown by Java Version
Java 6 and Java 7
- Initially licensed under Binary Code License (BCL).
- Free updates and patches ended years ago, in 2013 and 2015, respectively.
- Organizations using these versions must either upgrade or assume security risks due to lack of updates.
Java 8
- Originally licensed under BCL.
- Oracle provided free updates until January 2019.
- Post-January 2019, commercial users will need a paid subscription for updates.
- Oracle continues releasing patches exclusively for subscription customers.
Java 9 and Java 10
- Licensed under Oracle Binary Code License.
- Very short-lived public availability (6 months).
- Oracle ceased free public patches after their respective six-month windows.
Java 11 (LTS)
- Introduced the Oracle Technology Network (OTN) License.
- Free only for non-production use such as development, testing, or educational purposes.
- Commercial production use requires purchasing an Oracle Java SE subscription.
Java 12 through Java 16
- Followed the OTN licensing model.
- Free use is restricted to development and testing.
- Each version received only six months of public updates.
Java 17 (LTS)
- Licensed under Oracle’s No-Fee Terms and Conditions (NFTC).
- Fully free, including for production use, until September 2024.
- After that, security patches require a paid subscription.
Java 18, Java 19, Java 20
- Followed the OTN licensing model.
- Free: strictly for development, testing, or personal use.
- Only received public security patches for six months post-release.
Java 21 (LTS)
- The latest LTS version as of September 2023.
- Licensed under Oracle’s No-Fee Terms and Conditions (NFTC).
- Free for all use cases until September 2026.
- After September 2026, security patches will require an Oracle subscription.
Options for Free Long-Term Java Usage
Organizations wanting to avoid subscription costs have the following free options:
- Adopt OpenJDK Distributions:
- Eclipse Temurin (Adoptium)
- Amazon Corretto
- Azul Zulu Community Edition
These versions are free, receive continuous security patches, and provide long-term stability without requiring an Oracle subscription.
Best Practices for Managing Java Licensing
- Regularly Review Licensing Terms: Oracle’s licensing can change, so frequent review ensures compliance.
- Consider OpenJDK Alternatives: OpenJDK distributions are ideal for long-term, free Java support.
- Document Java Usage: Maintaining clear documentation simplifies audits and compliance checks.
Conclusion
Oracle Java licensing varies significantly across versions. While older versions like Java 6, 7, and 8 initially had free public patches, recent releases (Java 11 and onwards) predominantly follow subscription models.
Organizations must carefully evaluate their Java requirements against free options or commit to subscription-based licensing for ongoing Oracle Java support. Choosing alternative free distributions such as OpenJDK can simplify management and compliance while effectively controlling costs.