To be clear:

OpenJDK refers to different things. One of the things it refers to is an open source repository. (a git repo, to oversimplify things). It also refers to a 'packaging' - more on that later.

OpenJDK (the repo) is source code, not something ready-to-install or distributable on its own. It's open source. Anybody can 'package' it - compile it, wrap an installer around it, put that on a website. Make some arrangement about keeping it up to date (which may involve putting in the license click-through: Hey, you're on your own). Lets call that a 'packaging' of the OpenJDK project.

Packagings come in many flavours. They are all effectively identical, in that it's just a different party running the build script and sticking it on their website. Some _do_ add tweaks (generally, in the form of backports of security patches) but they either don't or these tweaks are in such exotic areas you are extremely unlikely to run into them.

Some versions are blessed by oracle as 'LTS' - Long Term Support. In theory this is a made up thing that only applies to one of the 2 packagings oracle releases. In practice every packaging that makes a distinction between support duration follows oracle's LTS schedule.

The common packagings:

* Oracle JDK - this is a __commercial__ offering, for all versions, though there is a 'developer release' that costs nothing, but __only__ for the most recent version. The concept of a long-term version applies partly to the actual commercial license (in that _all_ versions enjoy long support, with LTS versions longer) - and doesn't apply at all to the dev release, in that the day a new release of OpenJDK (the source repo) shows up is the day the dev release of the previous version ceases to be supported. LTS version or not. * Oracle's OpenJDK - this is a free release for developers that does not engage in LTS anything. The day the source repo has a new major version is the day the old OpenJDK version is no longer supported regardless of LTS. __Hence, do not use this, even though it is the most popular, unless you really know what you are doing__. * Adoptium is a packager that follows the LTS schedule, and is run with FOSS ideas. This should be your default choice. * Azul is a commercial entity that offers a boatload of packagings. Including JREs (JDKs without the dev parts, e.g. without a compiler) which aren't really a thing anymore. * Amazon offers corretto, which is a packaging that they explicitly test on AWS servers. Free, and follows the LTS schedule.

In general I strongly recommend you get Adoptium or for AWS-specific interactions perhaps Corretto (but adoptium runs just fine on EC2 if you prefer this).

If you do that, this 'java licensing' thing is completely irrelevant to you.

Adoptium now called Eclipse Temurin and it seems a de-facto open source Java distro nowadays. I used to choose other distros, in particular Azul and Liberica (because Adoptium didn't run JCK tests at that time), but today I think there's no reason to choose anything but Temurin if you don't need paid support. They have docker images, including alpine one and arm64 one (not alpine arm64 sadly), they have macports package, what else one could wish.

"de-facto open source Java distro" ?

You mean "open source build for Java", because OpenJDK is open source, here: https://github.com/openjdk/jdk

One can build JDK themselves, it is not that hard.