Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Download OpenJDK Java 11.0.11+9 from Oracle without using a third-party vendor [closed]

Tags:

java

java-11

Short Description:

I'd like to get the GPL2-CPE licensed version of the JavaJDK, which I will call "OpenJDK", as I prefer that license to Oracle's restrictive OTN license. The snag is that I want the 11.0.11+9 Windows ZIP version, which this Oracle page and Eclipse Adoptium / AdoptOpenJDK page both list as the most recent version, without going to Adoption. I want the Oracle version "straight from the horse's mouth," so to speak, to avoid any discrepancies between the documentation I was quickly able to download from Oracle and the JDK I have installed. I was able to easily get the OpenJDK 16.0.1 ZIP from jdk.java.net but not OpenJDK 11.0.11+9. During my process of attempting to get OpenJDK 11.0.11+9, I have come with various additional questions I'd like answered.

Long Description

What I've tried:

I: The following loop:

  1. I started at this Oracle page, which contains the OTN-licensed JDK, and saw the advertisement for OpenJDK: "End users and developers looking for free JDK versions: Oracle OpenJDK offers the same features and performance as Oracle JDK under the GPL license ."
  2. On jdk.java.net I see the "Ready for Use" section has JDK 16, which I don't want. I click on the only entry for JDK 11 I see, which is under "Reference Implementations." I download that file, and the ZIP has the name "OpenJDK-11+28_windows-x64_bin.zip" which sounds like an older version of JDK 11. So on the Reference Implementations page, I read, "Production-ready binaries under the GPL are available from Oracle; and will be in most popular Linux distributions."
  3. I am led to this page which states, "The JDK 11 Early Access Program has concluded. Please visit Java SE Downloads for production-ready builds."
  4. I visit the page linked under "Java SE Downloads" and am taken back to the page in step 1.

II: While writing this question, a suggested question was this question. An answer on that page had several diagrams that helped explain a lot of things, but the diagrams again redirect me to either jdk.java.net or third-party vendors.

III: This page has an old version of OpenJDK 11.

IV: On this page, the text "General Availability" is not a link.

Questions what I've done raises:

  1. How can I get Oracle OpenJDK 11.0.11+9 directly from Oracle?
  2. Does the version available at Adoptium have any differences to Oracle OpenJDK 11.0.11+9 from Oracle?
  3. If getting what I'm looking for is impossible, where does Adoptium get what they provide? Do they just build their builds from the source?
  4. If what I'm looking for is not possible, why is it not possible? Is it due to Oracle's licensing decisions? Does the update I'm looking for the count as a paid support patch? If so, I thought Oracle didn't release those updates to OpenJDK?

Disclaimer:

If this is a stupid/repeated question, I sincerely apologize. I hate being a pest, but I can't figure this out.

like image 987
Bentleythecomputernerd Avatar asked Mar 02 '23 14:03

Bentleythecomputernerd


1 Answers

tl;dr

Oracle OpenJDK, not to be confused with Oracle JDK. For Java 11 specifically.

But just as good are implementations of Java provided by:

  • Azul Platform Core & Azul Platform Prime by Azul Systems (formerly Zulu and Zing)
  • Red Hat build of OpenJDK by Red Hat (IBM)
  • Coretto by Amazon
  • Microsoft Build of OpenJDK by Microsoft
  • Adoptium by the Eclipse Foundation (formerly AdoptOpenJDK)
  • Pivotal Distribution of OpenJDK by Pivotal Software, Inc.
  • SapMachine by SAP
  • Liberica by BellSoft
  • Source and builds via Ports & Packages on FreeBSD
  • Source and builds via aptget and such on Linux

Details

If this is a stupid/repeated question, I sincerely apologize. I hate being a pest, but I can't figure this out.

While not stupid, yes, this is a repeated question. You made some specific points, so I will respond specifically. But I will try to be brief. For more detail, search Stack Overflow for many existing such questions.

the GPL2-CPE licensed version of the JavaJDK, which I will call "OpenJDK"

You misunderstand the nature of how the Java ecosystem works.

OpenJDK is not a product. OpenJDK is an open-source project based on an industry-wide collaboration. The principal goal of the project is producing a codebase implementing the Java specifications, along with JDK Enhancement Proposals (JEPs) and Java Specification Requests (JSRs). You can view and obtain the source code via Mercurial or via GitHub.com.

OpenJDK is owned by Oracle Corporation but operated in tandem with several collaborating companies including IBM/Red Hat, Apple, SAP, and others who contribute talent and code.

The OpenJDK project does not produce binaries of the final released versions. Instead, several vendors release binaries and/or installers for the official releases. Most of these vendors’ products are based largely or entirely on the OpenJDK source code. Oracle and other organizations provide suites of tests to verify that such products comply with the Java specs. Note that to use the Java™ legally-protected trademark, a company must come to term with Oracle. In contrast, the OpenJDK term can be used freely by any vendor, so you will see that term in many of the products.

I want the Oracle version "straight from the horse's mouth,"

There is nothing special about getting a Java implementation from Oracle in particular.

Oracle has repeatedly publicly officially, in writing and verbally, stated that their own Oracle-branded Oracle JDK/Oracle Java SE product (requiring a fee for use in production) will be maintained at feature-parity with the OpenJDK project. Oracle even went so far as to donate some related formerly-commercial products such as Flight Recorder and Mission Control to the OpenJDK project.

Oracle retains the right to distribute fixes to their paying customers on an urgent basis. But otherwise Oracle contributes to, and depends on, the OpenJDK code base.

… to avoid any discrepancies between the documentation I was quickly able to download from Oracle

All vendors producing products implementing the Java specs depend on that very same documentation.

An answer on that page had several diagrams that were helpful in explaining a lot of things

Thanks, those are my handiwork.

but the diagrams again redirects me to either jdk.java.net or third-party vendors

➥ Oracle produces three products implementing the Java specs:

  • Oracle JDK — Their commercially-supported binaries. Fee required for use in production (see Oracle’s license terms).
  • Oracle OpenJDK — Oracle's build of the OpenJDK codebase, GPL2-CPE licensed, free-of-cost. To quote Oracle: “offers the same features and performance as Oracle JDK under the GPL license”.
  • GraalVM — A special product offering features like ahead-of-time native compilation.

These three Oracle products are shown in my flowchart diagram as the first three green bubbles. One green bubble is the first in the higher group of "special needs" products, for GraalVM. The other two green bubbles are shown at the top of the blue barrel.

You asked:

  1. How can I get Oracle OpenJDK 11.0.11+9 directly from Oracle?

Apparently you want Oracle's non-commercial unsupported distribution built from the OpenJDK source code, and published under the GNU General Public License, version 2, with the Classpath Exception. If so, see the product page for Oracle OpenJDK (not to be confused with Oracle JDK/Oracle Java SE.)

This page, Java Platform, Standard Edition 11 Reference Implementations, provides links for current releases of such Java 11 implementations for Linux and for Windows. The current release is for build 11+28. If you really want the older outdate 11.0.11+9 release, you will need to go spelunking through their archives. I recommend sticking with the latest build instead.

  1. Does the version available at Adoptium have any differences to Oracle OpenJDK 11.0.11+9 from Oracle?

No. I quoted above Oracle saying explicitly, no differences. Oracle OpenJDK is built directly from the OpenJDK source code. As are the releases from Adoptium at the Eclipse Foundation, formerly known as AdoptOpenJDK. And, as are releases from some other vendors.

Oracle has been working to disabuse you and others of the incorrect notion that somehow there is "real" Java from Oracle and "fake" Java from others. Nearly all the implementations you can get from any of several vendors are all built largely or entirely from the OpenJDK codebase. There are two exceptions:

  • Like Oracle, some vendors such as Azul Systems, Red Hat, and others reserve the right to distribute urgent fixes to their paying customers faster than would happen going through the OpenJDK process.
  • A few products are specialized, to meet niche needs not addressed by the OpenJDK design goals. For example, AOT-compilation in GraalVM, and addressing very large amounts of memory with exceptional garbage-collection in Azul Platform Prime (formerly Zing) by Azul Systems.
  1. If getting what I'm looking for is not possible, then where does Adoptium get what they provide? Do they just build their builds from source?

Adoptium provides binaries & installers built from the source code of OpenJDK.

Project Source code Binaries
OpenJDK
Adoptium

Adoptium also builds a suite of tests to verify their builds’ compliance with the Java specs. And Adoptium has made open-source projects of their tests and tooling.

Some vendors adapt their own distributions from the work of Adoptium. Indeed, the Adoptium project itself is a collaborative effort by several of the seemingly-competing vendors (along with other folks).

  1. If what I'm looking for is not possible, why is it not possible? Is it due to Oracle's licensing decisions? Does the update I'm looking for count as a paid support patch? If so, I thought Oracle didn't release those updates to OpenJDK?

If I understand you correctly, what you want is possible, in the Oracle OpenJDK open-source GPL2-CPE product, not to be confused for the Oracle JDK commercial product. See your “1.” item a few paragraphs higher in this Answer.

I strongly suggest your read Java Is Still Free, a white paper written by pillars of the Java community.

like image 116
Basil Bourque Avatar answered Apr 06 '23 00:04

Basil Bourque