伟大的 Sun 公司落寞后,Java 的归属,呼声比较大应该是归属于社区。可是,天有不测风云,Java 被 Oracle 公司收购了,业界一直不怎么看好这个收购。Oracle 公司恰恰是对社区不友好的公司。
Oracle 公司似乎没有想好怎么管理 Java,另外Java 版本号迭代升级比较快,让人有眼花缭乱的
感觉。
Java 8 和之前的版本,这些实现主要在 GNU General Public License (GPL) version 2 下许可。这意味着你可以自由地使用、修改和分发 Java,只要你遵守 GPL 的条款。
然而,随着 Java 11 的发布,Oracle 对 Java 的许可证进行了重大更改。
Oracle 提供了两个主要版本:
Oracle OpenJDK:是一个开源的版本,遵循 GNU General Public License (GPL) version 2,带有 the Classpath Exception。这意味着你可以自由地使用、修改和分发 OpenJDK,只要你遵守 GPL 的条款。
Oracle JDK:是 Oracle 提供的商业版本,它包含了一些额外的功能,如长期支持、性能增强和企业管理工具。Oracle JDK 不再提供免费的商业使用许可。
如果你想在没有付费的情况下使用 Oracle JDK,你需要使用免费的 Oracle GraalVM Community Edition,或者使用其他供应商提供的 OpenJDK 构建版本,如 AdoptOpenJDK、Amazon Corretto、Azul Zulu 等。
对于商业用途,Oracle 提供了不同的许可证选项,包括订阅服务。意味着你想在商业环境中使用 Oracle JDK,你可能需要购买适当的许可证。
对于 Java 的许可证问题,需要根据你的使用情况(商业或个人)、你需要的功能(如长期支持)以及你选择的 JDK 版本来确定合适的许可证。
当前常用 Java 22,Java 21,Java 17,和 Java 8,其中,Java 17和Java 8是长期支持的版本。
个人学习的话,可以任意选择一个版本即可,公司里面目前 Java 8 广泛使用,于是坊间有一句话:
『它发由它发,我用Java 8』。