5 common compliance risks licensing Java
#5: using commercial components
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 are already allowed to use Java commercial components.
Most organizations do not realize that, in case they obtain an Oracle license, they actually obtain the right to make use of a bundle or suite of products and components instead of one specific software program. Almost any Oracle license grants an end user the right to deploy and make use of a number of different technical features and components which are included in the obtained software license. These features and components may or may not come with either Full Use or Restricted Use rights. Different editions of Java SE are often included for many of the products from Oracle’s Middleware and applications stack.
Restricted Use rights
Below are some examples of Oracle products which include restricted use rights for different editions of Java – as long as Java is used only for the purpose of these products, it doesn’t need to be licensed separately.
- WebLogic Server Standard Edition, Internet Application Server Enterprise Edition, GlassFish Server, Coherence Standard Edition One, Coherence Enterprise Edition, Coherence Grid Edition, Coherence Enterprise Edition for Oracle Applications, WebCenter Universal Content Management and All PeopleSoft licenses – include the right to make use of Java Standard Edition
- WebLogic Server Enterprise Edition includes the right to make use of Java SE Advanced
- WebLogic Suite and WebLogic Suite for Oracle Applications include the right to make use of Java SE Suite
- Historically, old BEA licenses also included the right to make use of the core Java 2 Enterprise Edition(J2EE) features
The license bundles are created in this way because these products are meant to run on top of the Java platform software. Therefore, this bundling is to the advantage of the end user. However, for end users who acquired licenses in the past, the license terms might no longer be in line with the technical requirements for the new releases of these products.
For example, we encountered the situation where an organization had legacy BEA licenses for WebLogic. This end user was not aware that those licenses did not include the right to use Java FlightRecorder. Once they upgraded to a newer version of WebLogic, they also installed a new Java Development Kit package compatible with this version. That package included the Java Flight Recorder feature. Developers in this organization enabled the feature and started using it assuming its usage was covered by their license. During an Oracle audit, the end user became aware of the licensing compliance issues, resulting in significant financial claims.
Many organizations ask for a review of Java products only. Examples like the one above show that there are situations where it’s necessary to have a much more in-depth analysis. This since Java is typically included in multiple different software programs.