I moved this question to this place here as I got the information on stackoverflow - the question is offtopic there. Here is my original question at SO (and the discussion): https://stackoverflow.com/questions/61152045/which-jre-may-be-distributed-with-my-libgdx-game
I am in the setup process of the final binary distribution of my libgdx game.
Most people use packr (https://github.com/libgdx/packr) to create a windows exe for the jar file of the game, so do I. Spiced up with rcedit (https://github.com/electron/rcedit) which allows me to set the icon and copyright/version strings in the exe after packr has run, I am now a bit unsure whether I did everything right.
The game is written in Android Studio as it runs on Desktop and Android.
packr uses the jre from Android Studio which is by default installed at
C:\Program Files\Android\Android Studio\jre
My question is: if packr uses this jre to create the jre folder that is packed with my game... is this allowed? I have no other jdk/jre/whatever installed on my system as the one from Android Studio is all I ever needed to develop my apps.
As far as I can see, packr included all the important files and license files. But may I distribute my game when the created jre from packr is based on the jre of Android Studio?
I tried to create a jre from openJdk following these steps: https://stackoverflow.com/questions/51403071/create-jre-from-openjdk-windows
The effect was that the jre was over 200MB in size (compared to android studio's ~65MB jre) and the game needed almost 7 times longer to start up with openJDK. While I had the spash screen within ~3 seconds in android studio's jre, openJDK needed over 20 seconds to show the same splash screen. Both issues I want to avoid, so I'd prefer simply re-packing from android studio's jre.
So... is this legally ok?
I am not native english, what doesn't make all that easier for me...
jre Folder structure
packr, I have these folders in jre:
bin conf legal lib and a files named "release"
legal folder contains 73(!) subfolders, each of them containing on or more of these files
OPENJDK ASSEMBLY EXCEPTION The OpenJDK source code made available by Oracle America, Inc. (Oracle) at openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2 only ("GPL2"), with the following clarification and special exception. Linking this OpenJDK Code statically or dynamically with other code is making a combined work based on this library. Thus, the terms and conditions of GPL2 cover the whole combination. As a special exception, Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle as indicated at http://openjdk.java.net/legal/exception-modules-2007-05-08.html ("Designated Exception Modules") to produce an executable, regardless of the license terms of the Designated Exception Modules, and to copy and distribute the resulting executable under GPL2, provided that the Designated Exception Modules continue to be governed by the licenses under which they were offered by Oracle. As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to build an executable that includes those portions of necessary code that Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 with the Classpath exception). If you modify or add to the OpenJDK code, that new GPL2 code may still be combined with Designated Exception Modules if the new code is made subject to this exception by its copyright holder.
This file is pretty long as far as I can say, it contains a complete GNU License it starts with: The GNU General Public License (GPL) Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
ADDITIONAL INFORMATION ABOUT LICENSING Certain files distributed by Oracle America, Inc. and/or its affiliates are subject to the following clarification and special exception to the GPLv2, based on the GNU Project exception for its Classpath libraries, known as the GNU Classpath Exception. Note that Oracle includes multiple, independent programs in this software package. Some of those programs are provided under licenses deemed incompatible with the GPLv2 by the Free Software Foundation and others. For example, the package includes programs licensed under the Apache License, Version 2.0 and may include FreeType. Such programs are licensed to you under their original licenses. Oracle facilitates your further distribution of this package by adding the Classpath Exception to the necessary parts of its GPLv2 code, which permits you to use that code in combination with other independent modules not licensed under the GPLv2. However, note that this would not permit you to commingle code under an incompatible license with Oracle's GPLv2 licensed code by, for example, cutting and pasting such code into a file also containing Oracle's GPLv2 licensed code and then distributing the result. Additionally, if you were to remove the Classpath Exception from any of the files to which it applies and distribute the result, you would likely be required to license some or all of the other code in that distribution under the GPLv2 as well, and since the GPLv2 is incompatible with the license terms of some items included in the distribution by Oracle, removing the Classpath Exception could therefore effectively compromise your ability to further distribute the package. Failing to distribute notices associated with some files may also create unexpected legal consequences. Proceed with caution and we recommend that you obtain the advice of a lawyer skilled in open source matters before removing the Classpath Exception or making modifications to this package which may subsequently be redistributed and/or involve the use of third party software.
After reading all that and with a look at openJdk's website, the confusion increases as I found there something about CLASSPATH_EXCEPTION but I couldn't find that in the license files.
Taken from https://jdk.java.net/14/
JDK 14 General-Availability Release This page provides production-ready open-source builds of the Java Development Kit, version 14, an implementation of the Java SE 14 Platform under the GNU General Public License, version 2, with the Classpath Exception.
When I follow the link to the classpath_exception, I land on this page: https://openjdk.java.net/legal/gplv2+ce.html
So what is the one single truth now?
Thanks in advance, Gris