ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Is Java Free ?

Updated on December 26, 2018

Recently I had to investigate for my client again whether they had to pay for Java SE in their company as they use Java applications in their organisation.

Six months earlier, I found in an FAQ on the Java.com site that mentioned the use of the Java JRE (Java Runtime Environment) is ALWAYS free, and there are no problems with making copies and distributing it to multiple machines to run Java applications.

This was the link:

https://java.com/en/download/faq/distribution.xml

And this was an excerpt from around May 2018.

An excerpt:

Java Licenses

Does the license agreement change for each release?

Sometimes. The license might change from release to release. The general license grants have remained fairly constant, but the terms may change between releases without notice. It is best to review the terms of each release's license prior to use.

Do I need to purchase a license if I need the Java Runtime Environment for multiple users in my company?

No, you may make unlimited copies for internal use for the purpose of running applications on Java-enabled general purpose desktop computers and servers.


Since we don’t develop Java applications but only use applications from our suppliers, we only download and use the Java Runtime Environment, which is the default download from www.java.com. According to the excerpt above, this logically means that we DO NOT HAVE TO PAY to use the Java Runtime Environment.

Six months ago, I thought I had finished my research and had my answer.

The Release of Oracle Java SE 11

Since the release of Java SE 11 in September 2018, Oracle now provides a JDK under the open source GNU General Public License v2, with the Classpath Exception (GPLv2+CPE) and a JDK under a commercial license. Versions of Java prior to Java SE 11 was released under the BCL license which has both free and commercial terms.

Oracle's open source version of the JDK is Oracle Open JDK. From Oracle Open JDK version 11 and upwards, functionally it will be identical to the Oracle JDK (Java SE 11) equivalent versions, with only some slight differences.

And from Java SE 11 onwards, you cannot download the JRE separately. (I didn’t deal with Java SE 9 or Java SE 10 so I don’t know if they included a separate download for the JRE, but those versions were obsoleted by Java SE 11, which is Oracle’s LTR (Long Term Release) version.

The link that had information on the Java Runtime Environment now DO NOT MENTION anything about the Java Runtime Environment (https://java.com/en/download/faq/distribution.xml)

End of Public Updates for Java SE 8

Since the release of Java SE 11, Oracle has announced that public updates for Java SE 8 will remain available for individual personal use through to at least the end of 2020 but will not be available for business or commercial or production use without a commercial license after January 2019.

Is Java SE 11 Still Free But You Only Pay After the End of it's Public Updates Date?

The below was an existing Java SE Release/Support Roadmap which on the surface seems like you don’t need to pay to use Java SE 11 (or later versions). You can interpret it as “just keep upgrading by the End of Public Updates date, and you will be on the latest versions and latest updates for free”.

However, Oracle seemed to have updated the page now:

https://www.oracle.com/technetwork/java/java-se-support-roadmap.html

So now it is more clear and there is a Premier Support column instead of End of Public updates.

Oracle Java SE 11 (or Oracle JDK 11) is NOT free.

Use the Open JDK for Free

After the dust have settled and Oracle have updated the information on its site to be less confusing, it’s clear now that if you want to use Java for free, since the release of Java SE 11, you will need to use Open JDK or remain in the current version of Java SE 8 and not get any updates including security updates.

Oracle, in fact, recommends users move to their Oracle Open JDK 11 if they want to keep using Java for free. Only pay a subscription to use Java SE 11 (and later versions) if you want technical support and other benefits.

To make things slightly complicated, there are a few Open JDK implementations in existence.

There is Oracle’s own implementation :

https://openjdk.java.net/

AdoptOpen JDK’s implementation :

https://adoptopenjdk.net/

There are others as well which I haven’t listed, and some providers seem to be adding paid technical support options to the Open JDK builds they release.

Will Going to Open JDK solve all Problems?

Going to OpenJDK will not solve all your problems, but it will go a long way towards reducing your license costs.

You will need to start testing that your current version of Java application will work with Open JDK if it requires Java JRE 8 or Java SE 8. From version 11 onwards, Java SE 11 and Open JDK 11 (at least Oracle’s implementation) is functionally the same. But you should still do your testing anyway.

How you do this is to uninstall Java from your machine, and install the Open JDK version of the equivalent Java SE version. It most cases, it will be version 8. However, I strongly recommend you test it out with Open JDK 11 first, so that if it is compatible with that version, you don’t have to worry about upgrading the version again later.

Installing Open JDK involves a few steps as most releases require you to extract the files and copy it to a folder manually. You need to manually set environment variables for JAVA_HOME and include the path to the java bin directories. If you have a software packaging and deployment tool, this can be packaged and pushed out with the settings applied automatically.

I found in my testing so far that our desktop Java applications are compatible with the Open JDK versions.

If you have Java Applications that are run from web sites directly then that will require the Java Web Start module which comes with the Java JRE 8. Open JDK does not come with Java Web Start, even Open JDK 8. There is a Java Web Start implementation based on Open JDK called IcedTea. This is available for Linux but a Windows port is hard to come by. I still haven’t been able to get a copy of a Windows compiled version. I’ve seen source codes for the Windows version of the plug-in on Github, but you need to actually download the source code and compile it yourself. I would say that to protect your organisation’s interests, and you are running Windows or Mac OS, you would be better off just to license those machines that require Java Web Start for the Java SE 8 updates in the short term until the application vendor has moved away from Java Web Start.

Oracle has deprecated the Java Web Start and you will not even see it in their Java SE 11 version.

Staying on the current Java SE 8 (or JRE) for free with no updates

It is still free if you are happy to stay on the same version of Java 8 JRE and don’t worry about getting any more security updates. For personal use, this may not be an issue as not many individuals using this for personal use, have to comply with security protocols. For enterprises, this is a big issue. To stay compliant, they must be able to have security updates to the Java SE 8 product. Whether or not they actually roll out the security updates or allow the Java Runtime Environment to download updates is another matter.

Ask the software vendor for any updated versions of their Java Applications

Oracle has recommendations for software developers on how to distribute Java runtime without the need for users to provide a local copy. In the future, most if not all Java applications delivered via the web or as a desktop application will no longer require users to have to download a local copy of the Java runtime or Java SE.

If the Java runtime is packaged with the application, end users can remove the locally installed Java SE or Java runtime environment.

Conclusion

Paying a license for every machine that has a Java RTE installed on it is not a wise move. You will end up paying this, year in year out, until someone stops and evaluate the whole situation in your company (and no, don’t blame Oracle. Their license usage terms are quite clear now, whether you agree with it or not).

When companies are using Java applications developed by a third party, you should see if the supplier has an updated version that does not require you to download a Java runtime or Java SE on your machine i.e. they are following Oracle’s recommendation for packaging Java with their application.

If you are using a desktop Java application, consider replacing the current Java SE or Java JRE 8 runtime installed with the Open JDK version.

If using a Java Web application and the vendor does not have a new solution, then obviously you have no choice but to stick with Oracle’s Java 8 SE and get a subscription to get Java SE 8 updates (unless you can get the open source Java Web Start module - Iced Tea, running on your platform).

As vendors follow Oracle’s recommended practise of supplying the necessary Java runtimes with their application’s packages, users will no longer have to worry about downloading Java separately to run the application. What this would mean is you pay your vendor for the use of their application, and all the licensing of using Java etc.. is of no concern to you. That’s between the software vendor and Oracle if they are using Java SE.

That’s the way it should have been.

© 2018 sengstar2005

Comments

    0 of 8192 characters used
    Post Comment

    No comments yet.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://maven.io/company/pages/privacy

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)