Java Licensing Changes To Java SE (Standard Edition): Mountain or Molehill?
In September, Oracle announced some changes to its Java Licensing policy. The changes were dramatic and the world reacted accordingly, we’re talking mass hysteria folks (okay, that’s a slight exaggeration). The panic, though, was not entirely unreasonable or unjustifiable. These changes are pretty big and can potentially be quite confusing.
We’re here to tell you that while you should seek to understand and prepare for the Java Licensing changes, you don’t have to lose sleep over them. The following article seeks to shed some light on what changes will actually take place and why you don’t have to get worked up about them. If you follow-through with some basic, precautionary steps, things will turn out just fine.
Java SE, or Java Standard Edition, is all over the place. It contains vital software used to develop web content, games, mobile applications, and business software. This means that the cost implications of these changes could be huge. The basic components of Java SE are: Java Development Kit (JDK), including JavaFX Software Development Kit, Java Runtime Environment (JRE), (Server and Regular packages), JavaFX Runtime, and JRockit JDK. In addition to these, Java SE has commercial editions that include more features. These commercial Java programs have always required licensing.
There you have it. Oracle will not be posting further updates of Java SE 8 to its public sites for commercial use. Pretty self-explanatory right? Well… sort of.
Let’s break it down:
Now, it’s very important to note that it has not yet been confirmed whether or not Oracle will be auditing Java SE. That said, we have reason to believe that eventually it will conduct audits and we highly recommend that you become familiar with your Java usage, installations, and compliance.
For starters, if you are using Java’s advanced commercial components, these are always licensable. You should have already licensed the advanced editions in use and should maintain active support (typically 22% of the license fee) if support updates and security patches are required.
Now where things get tricky is if you are using Java SE and unsure if it needs to be licensed. Users who use “basic functionality” of Java SE for general purposes will not be impacted by the policy change since this type of use is free under Oracle’s Binary Code License Agreement. The term “basic functionality” creates a bit of confusion so here’s a list of what does not qualify as basic functionality, these uses of Java SE will require licensing:
- If it does require updates/patches
- Users will have to pay for any Java SE support that they need. This includes bug fixes, security updates, and maintenance support.
- Users who make modifications to Java SE.
- Users who embed Java SE to provide external customer facing solution(s).
- Use of software in systems and solutions that provide dedicated functionality.
- Users who use components only found in Java’s advanced commercial features.
- As was said before, users who launch any of the advanced commercial features should already be aware of those deployments and paying for them.
Measurement efforts used to determine whether users have modified or embedded Java SE will come down to customer declaration. Oracle does have a Java Usage Tracking Tool that can be utilized for audit purposes, but for now this tool will be run by the customer. So it is essential that you know how Java SE is being used in your organization.
If you’re looking for an alternative to Java SE, the best one is Open JDK. This would be a rip and replace effort. However, this is a good option for customers who just need basic updates, as they will be released every six months. Modifications of Open JDK can be made without penalty, but they must follow General Public License (GPL) notification requirements.
Okay, so there are a few things that you should do to prepare for the Java Licensing changes, but losing sleep over them is not one. Here’s our list:
- Discover how you’re using Java.
This means knowing where Java is used and what it is being used for. If you have this information, then you can determine whether or not you need to license Java.
- Discover what features are in use.
Just because you’ve deployed an advanced commercial component, doesn’t mean it’s been necessarily licensable. This will depend on the type of environment it’s deployed in. So you need to know what gets used and what doesn’t.
Knowing the answers to these questions will help you navigate the changes very smoothly. I mean knowledge is power, right? So if someday Oracle comes knocking at your door, asking about Java, you’ll have all the answers and will be able to declare full compliance.
Anglepoint experts have decades of experience facing some of the toughest Oracle licensing questions. We offer free, no-pressure consultations focused entirely on answering your questions. Follow this link to schedule a meeting now.