If I am developing a web application on Spring MVC, which version of Java should I take for a project that is planned to be launched on the Internet for the purpose of earning money and in order not to pay Oracle?
Before, everything was simple: I downloaded the latest version and didn't think about anything.
After a long break in Java, I went to the site the old fashioned way, downloaded the latest available version of Java, which turned out to be jdk 12.0.1.
But then I start to find out that there are some assemblies of OpenJDK, Oracle JDK, that something has changed since 1.8. Oracle introduced some kind of licensing.
Can you briefly explain which version of Java to take for developing a site in Spring MVC, on which you plan to make money on advertising and, possibly, in the distant future, on paid subscriptions (i.e. a commercial product is planned), so as not to bother yourself with licensing?
The Java language and the HotSpot virtual machine are open source. There is a completely free OpenJDK to which many other companies will contribute besides Oracle – from small Excelsior JETs to giants like IBM. The Oracle JDK is built from the Open JDK source code. They are completely identical. Oracle takes money to support its own assembly. Just like Red Hat has paid support for free Linux. If you don't need support, use one of the many free OpenJDK builds and live in peace. If you are a MailRu Group company that provides high-load services to 330 million users, and your specialists find a bug in a virtual machine every week, it is better to use the paid Oracle JDK.
A detailed official statement on this topic can be read here .