View on GitHub

SapMachine

An OpenJDK release maintained and supported by SAP

SapMachine

This project contains a downstream version of the OpenJDK project. It is used to build and maintain a SAP supported version of OpenJDK for SAP customers who wish to use OpenJDK in their production environments.

We want to stress the fact that this is clearly a friendly fork. One reason why we need this project is the need to quickly react on customer problems with new and fixed versions without having to wait on the upstream project or other distributors/packagers. The second reason for the existence of this project is to showcase and bring over features from our commercially licensed, closed source SAP JVM into the OpenJDK which can not be integrated upstream in the short-term.

SAP is committed to ensuring the continued success of the Java platform. We are members of the JCP Executive committee since 2001 and recently served in the JSR 379 (Java SE 9) and JSR 383 (Java SE 18.3) Expert Groups. SAP is also one of the biggest external contributors to the OpenJDK project (currently leading the PowerPC/AIX and s390 porting projects) and will remain fully committed to the OpenJDK. Our intention is to bring as many features as possible into the upstream project and keep the diff of this project as small as possible.

Documentation

We have a Wiki with various information about:

Download and Installation

You can check for all available releases (including nightly snapshots). The latest release for any SapMachine major version can be found at https://sap.github.io/SapMachine/latest/#MAJOR (e.g. SapMachine 11).

Unpack the archives and set JAVA_HOME / PATH environment variables accordingly.

If you want to build the project yourself, please follow the instructions in building.md.

Debian / Ubuntu

Alternatively, you can use our .deb packages if you’re on Debian or Ubuntu:

sudo bash
wget -q -O - https://dist.sapmachine.io/debian/sapmachine.key | apt-key add -
echo "deb http://dist.sapmachine.io/debian/amd64/ ./" >> /etc/apt/sources.list
apt-get update
apt-get install sapmachine-11-jre

Docker

Finally, we also provide Docker images for various versions of the SapMachine.

Debian / Ubuntu
docker pull sapmachine/jdk11:latest
docker run -it sapmachine/jdk11:latest java -version

Repository setup

This repository contains several branches. The default master branch only contains this README file. The jdk/… branches are direct mirrors of the corresponding OpenJDK Mercurial repositories (e.g. the jdk/jdk branch is a mirror of http://hg.openjdk.java.net/jdk/jdk). Finally, the sapmachine/… branches are the actual source of the SapMachine releases with specific bug fixes and enhancements. We regularly (usually on a weekly base) merge the jdk/ branches into the corresponding sapmachine/ branches.

How to obtain support

Please create a new issue if you find any problems.

Contributing

We currently do not accept external contributions for this project. If you want to improve the code or fix a bug please consider contributing directly to the upstream OpenJDK project. Our repositories will be regularly synced with the upstream project so any improvements in the upstream OpenJDK project will directly become visible in our project as well.

License

This project is run under the same licensing terms as the upstream OpenJDK project. Please see the LICENSE file in the top-level directory for more information.