Add Oracle JDK 17 licensing limitation note#1001
Add Oracle JDK 17 licensing limitation note#1001mahabaleshwars wants to merge 1 commit intoactions:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds an Oracle JDK 17 licensing caveat to the action’s README to help users understand why a floating java-version: '17' may not be appropriate for Oracle JDK, and to guide them toward pinning/upgrade options.
Changes:
- Document Oracle JDK 17 license differences by patch level (NFTC vs OTN).
- Recommend pinning Oracle JDK 17 to an NFTC-covered patch version (or upgrading to 21+).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| **NOTE:** To comply with the GraalVM Free Terms and Conditions (GFTC) license, it is recommended to use GraalVM JDK 17 version 17.0.12, as this is the only version of GraalVM JDK 17 available under the GFTC license. Additionally, it is encouraged to consider upgrading to GraalVM JDK 21, which offers the latest features and improvements. | ||
|
|
||
| **NOTE:** Oracle JDK 17 versions up to 17.0.12 are provided under the NFTC license (free for commercial use). Versions 17.0.13 and later are under the OTN license (restricted). If you need Oracle JDK 17 under the NFTC license, use `distribution: 'oracle'` and explicitly pin `java-version: '17.0.12'` (or an earlier 17.0.x version) rather than the floating `java-version: '17'`. Alternatively, upgrade to Oracle JDK 21 or later, which remains available under the NFTC license. |
There was a problem hiding this comment.
This note makes specific licensing assertions (NFTC up to 17.0.12, OTN from 17.0.13+, and that JDK 21+ is NFTC) but doesn’t cite the applicable Oracle license terms. To avoid accidentally misleading users if Oracle’s licensing changes again (or if the cutover version differs), consider linking to the NFTC and OTN license pages and phrasing the guidance more defensively (e.g., “verify the license for the exact patch version”). Also, since setup-java’s Oracle installer tries /java/<major>/latest/... and falls back to /java/<major>/archive/jdk-<range>... when /latest is missing, it may be worth explicitly mentioning that java-version: '17' can fall back to downloading jdk-17 (GA) rather than the latest patch, so users should pin to the exact patch they need.
| **NOTE:** Oracle JDK 17 versions up to 17.0.12 are provided under the NFTC license (free for commercial use). Versions 17.0.13 and later are under the OTN license (restricted). If you need Oracle JDK 17 under the NFTC license, use `distribution: 'oracle'` and explicitly pin `java-version: '17.0.12'` (or an earlier 17.0.x version) rather than the floating `java-version: '17'`. Alternatively, upgrade to Oracle JDK 21 or later, which remains available under the NFTC license. | |
| **NOTE:** Oracle Java licensing can change between releases, so verify the license for the exact JDK version you intend to use against Oracle's official terms: [NFTC](https://www.oracle.com/downloads/licenses/no-fee-license.html) and [OTN](https://www.oracle.com/downloads/licenses/oracle-jdk-license.html). If you specifically need Oracle JDK 17.0.12, pin `distribution: 'oracle'` and `java-version: '17.0.12'` instead of the floating `java-version: '17'`. A floating major version can resolve via fallback behavior to `jdk-17` (GA) rather than the latest 17.x patch, so pin the exact patch version you require. If you are considering newer Oracle JDK releases such as 21+, check the license for that exact release before use. |
|
|
||
| **NOTE:** To comply with the GraalVM Free Terms and Conditions (GFTC) license, it is recommended to use GraalVM JDK 17 version 17.0.12, as this is the only version of GraalVM JDK 17 available under the GFTC license. Additionally, it is encouraged to consider upgrading to GraalVM JDK 21, which offers the latest features and improvements. | ||
|
|
||
| **NOTE:** Oracle JDK 17 versions up to 17.0.12 are provided under the NFTC license (free for commercial use). Versions 17.0.13 and later are under the OTN license (restricted). If you need Oracle JDK 17 under the NFTC license, use `distribution: 'oracle'` and explicitly pin `java-version: '17.0.12'` (or an earlier 17.0.x version) rather than the floating `java-version: '17'`. Alternatively, upgrade to Oracle JDK 21 or later, which remains available under the NFTC license. |
There was a problem hiding this comment.
The new Oracle JDK licensing note conflicts a bit with the distribution table’s oracle “License” link (currently a single link to java.com/freeuselicense). If Oracle JDK 17 spans multiple licenses by patch level, consider updating the oracle row to reflect that (e.g., link to a general Oracle Java licensing page or include both NFTC/OTN references) so readers don’t assume one license applies to all Oracle JDK downloads.
| **NOTE:** Oracle JDK 17 versions up to 17.0.12 are provided under the NFTC license (free for commercial use). Versions 17.0.13 and later are under the OTN license (restricted). If you need Oracle JDK 17 under the NFTC license, use `distribution: 'oracle'` and explicitly pin `java-version: '17.0.12'` (or an earlier 17.0.x version) rather than the floating `java-version: '17'`. Alternatively, upgrade to Oracle JDK 21 or later, which remains available under the NFTC license. | |
| **NOTE:** Oracle JDK 17 licensing varies by patch level. Versions up to 17.0.12 are provided under the [Oracle No-Fee Terms and Conditions (NFTC)](https://www.oracle.com/downloads/licenses/no-fee-license.html) license (free for commercial use), while versions 17.0.13 and later are under the [Oracle Technology Network License Agreement (OTN)](https://www.oracle.com/downloads/licenses/javase-license1.html) (restricted). If you need Oracle JDK 17 under the NFTC license, use `distribution: 'oracle'` and explicitly pin `java-version: '17.0.12'` (or an earlier 17.0.x version) rather than the floating `java-version: '17'`. Alternatively, upgrade to Oracle JDK 21 or later, which remains available under the NFTC license. |
Description:
Adds documentation noting the Oracle JDK 17 licensing change that affects setup-java users.
Related issue:
#944
Check list: