5 common compliance risks licensing Java
#3: redistributing Java SE platform software
The fuss around licensing Java
Many organizations use Java for different kinds of applications and development scenarios. They often are under the impression that Java software can be deployed “for free” at all times. Lately organizations are confronted with compliance issues and unexpected costs as they don’t fully understand the restrictions of the Java SE Platform software license. Also, Oracle has released new support policies that force customers to upgrade more frequently or keep older versions (with no or paid support). To make it even more complex, certain Oracle programs include a ‘full use’ or ‘restricted use’ license for Java’s commercial features, which adds the challenge to understand whether and to what extent you are covered for the usage of Java.
The complexity around Java makes many Oracle end users worry about the compliance risks related to licensing Java. That’s why we will address this topic in our article series over the coming weeks and will share our experiences assisting customers to manage their license entitlements and deployments. The compliance risk we will cover in this article is related to the question whether you redistribute Java software.
Distributing Java bundled with your application
According to Oracle, you may distribute Java bundled with your application to users outside your organization, or on an Intranet for internal users to download. You can also download Java on one system and copy it to another computer, provided you own both computers. The distribution of the software is allowed as long as you do not modify or remove any component of it, including the functionalities and the agreement.
Let’s take some scenarios in which you distribute your application based on Java software:
- You can decide to not distribute the JRE component of Java SE and just point your end users to public sources for the download and installation of the JRE. This eliminates any responsibility from your side towards Oracle.
- If you decide to include Java in your application, you can create the package in such a way that the end users accept the agreement. In this situation, the responsibility is with the end users who agree to the Oracle Binary Code License Agreement for Java SE and as such they are responsible themselves for honoring the associated restrictions.
- Technically you could also create the package in such a way that the end users are not aware of the existence of the agreement, but it means you break the Oracle Binary Code License Agreement. Keep in mind that by distributing Java SE, it is your responsibility to ensure that the end users respect the conditions.
Redistribution of Java software
Redistribution of the JRE comes with your responsibility to hand over all the restrictions that come with its license. When bundling the JRE with the installer for your application, make sure the right mechanisms are in place to give the opportunity to the end user to accept the license agreement. Otherwise, this can lead to a claim from Oracle that the Java platform software is modified to be used for a specific purpose determined by the customer.