查看原文
其他

JDK 11 是发布了,但收费吗?

忆蓉之心 Java面试那些事儿 2019-12-19

自 9 月 26 日,Oracle JDK 11 正式版本发布以来,一直被大家所看好,因为它是继 6、7、8之后,第一个长期支持的版本「见下图」,而 9 、10 估计多半会夭折了。。。

对于这次的发布,我主要关注的就两个问题:


1、稳定吗?

2、收费吗?


后面的文字主要围绕这两个话题展开的。


一、稳定吗?


其实,对于企业用户来说,稳定可靠才是最重要的。那么刚刚发布的 JDK 11 到底稳定性如何呢?


如果你是付费用户,其实不用担心这个问题。


对于大多数的非付费用户来说,就得要考虑了,只有考虑清楚风险后,才敢迁移。


首先,这次有 OpenJDK 社区的站台「长期支持」,Oracle 提供了免费的 OpenJDK build,并承诺「维护 6 个月」。


再者,Andrew Haley 等社区专家也已经明确保证,会组建并领导「JDK-11-updates」项目,而且还做了相应的保证「见下图」。



就我看来,如果想迁移到 JDK 11 的企业,毫无疑问,前期肯定还是有试错成本的。因此,建议在新的项目中引入 JDK 11,不要乱动稳定的老业务。。。


二、收费吗?


其实关于 Oracle JDK 收费的问题,我记得 16 年,大家都在知乎上面讨论过,当时 R 大给出了完美的回答。


Oracle提供的 Java SE Advanced 系列的产品是收费的,只有在「通用计算」使用范围内是完全免费的。


这里的「通用计算」如何界定?比如,如果你使用了 -XX:+UnlockCommercialVMOptions 的功能,那么就得要收费;或者你将 Oracle Java SE 系列产品在「特殊嵌入式计算系统」中使用也会收费。


时隔两年,JDK 又将是如何收费的呢?


我们先来看一张图。



从上图中,我们可以知道:Oracle 将继续提供JDK 8 免费的公共更新和自动更新,支持个人用户到 2020 年 12 月底,支持商业用户到 2019 年 1 月;换句话说如果想 Oracle 后续继续为你提供 JDK 8 的支持,那么则需要付费。


那么,最新的 JDK 11 又是如何收费的呢?


Oracle 将发布两个不同版本,分别为 Oracle JDK 和 OpenJDK 「除了所附带的许可文件不一样,刚发布的版本几乎完全相同」。


对于 Oracle JDK  来说,支持 BCL 协议,开发人员可以免费使用,但不能用于生产,如果全额付费的话,可支持到 2026 年 9 月。


对于 OpenJDK  来说,支持 GPL 协议「一般只支持到发布的前 6 个月内」,可以用于公司使用,因此,对于JDK 11 来说,应该有JDK 11.0.0,然后是两个安全补丁 11.0.1 和 11.0.2 。如果你要继续使用 Oracle 的 OpenJDK 构建和安全补丁,那么您将必须在发布后的一个月内迁移到 JDK 12,见如下图绿色的部分为免费支持版本。



在此,不得不说 Oracle 太鸡贼了。。。


那问题来了,还有那些可构建 JDK 的产品可供选择呢?


AdoptOpenJDK 


官网地址:adoptopenjdk.net


它同样支持 GPL 协议且免费 ,与 Oracle OpenJDK 不同的是,它将在 JDK 11 等主要版本中持续更长的时间。第一次了解它是在 reddit 的一个话题中「见下图」。



最近,AdoptOpenJDK 开发团队表示 JDK 11 版本将在下一个主要版本发布一年后继续使用4年,并且他们将提供持续构建 OpenJDK 的源存储库中创建和发布的安全修补程序。


这里,还需要提一下,AdoptOpenJDK 除了标准的 OpenJDK 构建之外,还可以使用 OpenJ9 进行构建。 OpenJ9 最初是 IBM 的 JVM,但 OpenJ9 现在是 Eclipse的开源。


Red Hat OpenJDK 


Red Hat 通过 Red Hat Enterprise Linux「RHEL」提供 OpenJDK 的构建,这是一个付费的商业产品。他们向 OpenJDK 提供非常多的安全补丁,Red Hat 已经运行了 Java 6 和 7 的安全更新项目。Red Hat 构建更好地集成到操作系统中,因此它不是纯粹的 OpenJDK 构建。


IBM


IBM 为 Java 8 及更早版本提供并支持 JDK。他们还使用 OpenJ9 为 AdoptOpenJDK 构建提供商业付费支持。


Azul Zulu


官网地址:zulu.org


这款产品是通过 R 大了解的,它的核心部分就是原汁原味的 OpenJDK ,没有任何额外的改动—— Azul 有时候也会对 OpenJDK 做 bug fix,但这些都是通过提交回到 OpenJDK 去然后再进入到 Zulu Java SE 产品中的。


只有在希望购买 Azul 的技术支持的时候,Zulu 的商业技术支持部分才是收费的;不购买收费的技术支持的话,Azul 也有为 Zulu 提供免费的社区技术支持。


SAP


官网地址:sap.github.io/SapMachine


SAP 根据 GPL+CE 协议为 Jdk 10 及更高版本提供 JDK。他们还有一个商业的闭源 JVM,目前,没有找到任何有关支持它的信息。


这里为各位读者列举了不少可供参考的构建方案,有收费的,有免费的,具体怎么选择,还是看个人吧。


反正,我一直认为免费的反而最贵。。。


如果喜欢我的文字,记得转发或者点赞。


参考

https://www.oracle.com/technetwork/java/javase/eol-135779.html

http://mail.openjdk.java.net/pipermail/jdk-dev/2018-August/001830.html

https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later

https://www.zhihu.com/question/53791269

https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk

https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html

https://access.redhat.com/articles/1299013

https://developer.ibm.com/javasdk/support/lifecycle

—————END—————

看更多技术好文

请长按下方图片扫码关注

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存