Java is now paid? Debunking rumors (or not?)

    Already 2 days after the changes in the licensing policy of Oracle for the distribution of Java SE assemblies came into force . Nightmare rumors began to rush among the slowpoke developers (I, too, among them).

    What happened


    In mid-2018, Oracle announced it was about to change its licensing policy. On April 16, 2019, the change took effect. Now all Java SE builds published after this date can be used for free only for personal needs and for development purposes. For commercial use (including production), Oracle must pay for it.

    What the hell?


    Oracle shot itself in the foot and kills Java? No, it doesn’t kill. No, I didn’t. But the problems freeloaders threw us all. Let's quickly figure out what this means in practical terms, without those of your GPL, BCL, WTF ...

    Why did they do this?


    As you know, Oracle actually collects and publishes two versions of the JDK: Oracle JDK (aka Java SE, located on java.com ) and Open JDK (located on openjdk.java.net ).
    To understand the meaning of the whole idea, just look at this slide from their presentation :



    For commercial assembly, support is long. For free - short. Those. to roll patches to the free OpenJDK in six months, you will need to upgrade the version. Oracle JDK will release patches another 5 years after release. Therefore, it is paid.

    What about Java 8, 9, 10, 11 ...?


    This applies to all versions.

    Is it about JRE?


    Nowhere is a separate JRE license indicated. It is believed that since the JRE is a subset of the JDK, then the licensing restrictions are the same. Those. - yes, it concerns JRE.

    Now I need to tear it all down to production?!?!


    Not. The changes concern only new releases (after April 16). For Java 8 SE, the first release with restrictions was Update 211. Everything that was released earlier can be used further without restrictions.

    What to do now?


    Install OpenJDK. But Oracle's OpenJDK itself does not have an official Windows installer (and an automatic update), you need to unpack it by hand.

    If the installer is important to you, you can only use the early releases from Oracle (Update 202). And updates still have to be disabled.

    UPD: In the comments they suggested that there are free binaries with the AdoptOpenJDK installer supported by comunity.
    You can also pay attention to the Liberica JDK , which is supported by JetBrains.

    Will nothing break from OpenJDK?


    Should not (s). Differences in functionality are minimal and very few people affect. At the same time, Oracle systematically reduces these differences by injecting them into OpenJDK or completely removing them.

    Only registered users can participate in the survey. Please come in.

    Which assembly will you upgrade to?

    • 18.9% I will stay on Oracle JDK, no matter what 35
    • 48.1% OpenJDK from Oracle 89
    • 5.4% Amazon Corretto 10
    • 17.2% Liberica JDK 32
    • 10.2% Another build 19

    Also popular now: