Personal Blog of Thomas Hampel - Creative Mythbusting in Development and Collaboration

Who am I?

Feeds

Query results for : October 2023

Is HCL Notes/Domino using Oracle Java?- 13 October 2023 - (0) Comments

Thomas Hampel
 13 October 2023

The short answer: No!

Background:

On January 23, 2023, Oracle
announced (again) yet another new licensing model for Oracle Java that represents a dramatic price increase for large organizations.
This can lead to interesting discussions since e.g., a 40,000-employee organization could be asked spending USD $2.5M annually just on Oracle Java alone.

What Java version is used by Notes and Domino?

Notes and Domino are providing the Java runtime as part of the product, so customers do NOT need to download or install the Java runtime environment separately.
Since the JVM/JDK is part of the licensed product, it is covered under the
product license of HCL or previously the product license of IBM.

With the
acquisition of the product by HCL, dependencies to IBM Java were removed and got replaced with OpenJDK effectively in version 11.0.0 of HCL Notes/Domino.
Java updates are provided by HCL (and previously by IBM) typically as part of regular fix packs.

Here is a simplified overview of what Java version is used in the product:
Notes/Domino
Java Version
Java Vendor
JVM Remarks
14.0.x
17 LTS
IBM Semeru
OpenJ9 Open Edition
12.0.x
8
AdoptOpenJDK, later IBM Semeru
OpenJ9 renamed to Adoptium
11.0.x
8
AdoptOpenJDK, later IBM Semeru
OpenJ9 renamed to Adoptium
10.0.x
8
IBM
IBM J9 see IBM FAQ
 9.0.1
8
IBM
IBM J9 see IBM FAQ
9.0.0
6
IBM
IBM J9





a more comprehensive overview of which Java flavour and patchlevel is included in which release of Domino is provided later on in this blog post.

For details, please refer to

Special cases and exceptions?
  • MacOS : old versions of the IBM Notes Client before(!) 9.0.1 IF17 did not include any Java runtime. Customers may have manually installed a JVM, e.g. the Oracle runtime.
    Starting with
    Notes Client 9.0.1 IF17 the product includes the IBM Java runtime. Customers are encouraged to upgrade to a more current version of the HCL Notes Client for MacOS.
  • IBMi (=iSeries) : HCL Domino will use the version provided by the platform.
  • HCL Client for Application Access (HCAA), formerly known as IBM Client for Application Access (ICAA), does not provide a Java VM, it uses a JVM that you choose to install yourself.
    Only for acessing Domino applications that are running Java code >in< the HCAA client, a JVM needs to be provided.

What about Nomad, Verse, Enterprise Integrator, SAP Connector, etc?

These products are addons to Domino and unless otherwise specified they leverage the JVM provided by Domino.


IBM? OpenJDK? Semeru? Adoptium? Eclipse? - Are you confused as well?

It's not easy to even get a basic understanding of the various project names, forks, branches and takeovers, but I'll try providing a short intro without covering the entire
history of Java nor what Java itself is.
In the context of Notes and Domino, this is what you need to know:
  • OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition (Java SE), it is a Java Development Kit (JDK)
  • OpenJ9 is a java virtual machine (JVM), contributed to the Eclipse project by IBM
  • AdoptOpenJDK was a project for producing vendor neutral builds of OpenJDK
  • AdoptOpenJDK merged into Eclipse Adoptium, to provide a prebuilt OpenJDK, that release is now named Temurin
    With this move, Adoptium is, according to them, is not allowed to release OpenJ9-based or GraalVM-based runtimes
  • IBM comes to the rescue and provides OpenJ9 builds at no charge as the IBM Semeru runtime which includes the OpenJ9 Java VM
  • IBM Semeru comes in two flavours:
    a) IBM Semeru Runtime Open Edition, which is open source (GPLv2) licensed and is not
    TCK (Technology Compatibility Kit) certified
    b) IBM Semeru Runtime
    Certified Edition, which is Java TCK-certified
  • Former "IBM Java" has been moved into IBM Semeru Runtime Certified Edition at Java version 11
  • HCL Notes and Domino are using IBM Semeru Open Edition.

For better understanding of the above, here is a chart that explains:

Image:Is HCL Notes/Domino using Oracle Java?
As outlined above, HCL Notes and Domino is embedding IBM Semeru and does not use any Oracle Java.

Table: Java versions is used by Notes and Domino

Source:
KB0037886 - What is the impact to JVM support in Notes/Domino with Oracle's announcement to charge?
Notes/Domino Version Java Runtime Vendor Java Version
V12 12.0.2 Fix Pack 2 IBM Semeru Runtime Open Edition 8 Semeru jdk8u372-b07
12.0.2 Fix Pack 1 Semeru jdk8u362-b09
12.0.2 AdoptOpenJDK 8 OpenJDK jdk8u345-b01
12.0.1 Fix Pack 1 OpenJDK jdk8u312-b07
12.0.1 OpenJDK jdk8u302-b08
12.0.0 OpenJDK jdk8u282-b08
V11 11.0.1 Fix Pack 8 OpenJDK jdk8u372-b07
11.0.1 Fix Pack 7 OpenJDK jdk8u352-b08
11.0.1 Fix Pack 6 OpenJDK jdk8u332-b09
11.0.1 Fix Pack 5 OpenJDK jdk8u312-b07
11.0.1 Fix Pack 4 OpenJDK jdk8u302-b08
11.0.1 Fix Pack 3 OpenJDK jdk8u282-b08
11.0.1 Fix Pack 2 OpenJDK jdk8u265-b01
11.0.1 Fix Pack 1 OpenJDK jdk8u252-b09 tzdata 2020a
11.0.1 OpenJDK jdk8u242-b08 tzdata2019c
11.0.0 OpenJDK jdk8u222-b10
V10 10.0.1 FP8 IBM Java 8 IBM Java 8.0 SR7FP6_tzdata2022a
10.0.1 FP7 IBM Java 8.0 SR6FP25_tzdata2021a
10.0.1 FP6 IBM Java 8.0 SR6FP10_tzdata2020a
10.0.1 FP5 IBM Java 8.0 SR6FP5_tzdata2019c
10.0.1 FP4 IBM Java 8.0 SR5FP40_tzdata2019c
10.0.1 IBM Java 8.0 SR5FP21
10.0.0 IBM Java 8.0 SR5FP16ifix
V9 9.0.1 Fix Pack 10 Interim Fix IBM Java 8.0 SR6FP25
9.0.1 Fix Pack 10 IBM Java 8.0 SR5FP21 tzdata2018e
9.0.1 Fix Pack 9 IBM Java 8.0 SR4FP5
9.0.1 Fix Pack 8 IBM Java 8.0 SR3FP12
9.0.1 Fix Pack 7 IBM Java 6 IBM Java 6.0 SF16FP30
9.0.1 Fix Pack 6 IBM Java 6.0 SF16FP20
9.0.1 Fix Pack 5 IBM Java 6.0 SF16FP15
9.0.1 Fix Pack 4 IBM Java 6.0 SR16FP4
9.0.1 Fix Pack 3 IBM Java 6.0 SR16FP2
9.0.1 Fix Pack 2 IBM Java 6.0 SR16
9.0.1 Fix Pack 1 IBM Java 6.0 SR15FP1
9.0.1 IBM Java 6.0 SR14 + ifix
9.0.0 IBM Java 6.0 SR12+ ifix





Remarks:

IBM SDK, Java Technology Edition, Version 6 has reached end of life, see
https://www.ibm.com/support/pages/java-sdk-downloads-version-60

How to check which Java version is used?

From the program directory of the Notes client or Domino server:

cd jvm/bin
./java -version


Example:

Checking the Java version used by the HCL Notes Client 14.0 (Early Access version) on Windows:

Image:Is HCL Notes/Domino using Oracle Java?

C:\Program Files\HCL\Notes>cd jvm/bin

C:\Program Files\HCL\Notes\jvm\bin>java -version
openjdk 17.0.4.1 2022-08-12
IBM Semeru Runtime Open Edition 17.0.4.1 (build 17.0.4.1+1)
Eclipse OpenJ9 VM 17.0.4.1 (build openj9-0.33.1, JRE 17 Windows 7 amd64-64-Bit
Compressed References 20220812_237 (JIT enabled, AOT enabled)
OpenJ9   - 1d9d16830
OMR      - b58aa2708
JCL      - 1f4d354e654 based on jdk-17.0.4.1+1)



References:

Finally
:
I hope this brief explanation will help to better understand the usage of Java in our product and provides you with enough of a justification to upgrade to the most current version of HCL Notes and Domino.

so
upgrade NOW !
Thomas Hampel, All rights reserved.