作者 | 局长
本文经授权转载自开源中国
几个月前,在 Java 11 到来之际,开源中国曾发起一项 Java 常用版本的调查,根据调查结果显示,海内有近 70% 的用户表示仍在利用 Java 8。
但是去年四月,Oracle 曾宣告,自 2019 年 1 月起,Java SE 8 公开更新将不向没有商用容许证的业务、商用或生产用场供应。对此,不少开拓者将其解读为未来开拓者还想利用 JDK 8,Oracle 将不会供应免费的技能支持,须要其余收费。而如今 2019 年 1 月已过,Java 8 是否真的收费了?
关于这个问题,接下来,本文会阐述清楚,以肃清不必要的惶恐。
首先要明确一点,Java 仍旧是免费的,并不须要付费利用!
下面阐明「Java 8 要收费」这个说法的不合理之处。
先说说所谓的「收费」是怎么回事。Oracle 一贯以来的政策均是如此,所谓「收费」是面向到达生命周期阶段的 Java 版本,即每个 Oracle JDK 版本的免费 Bug 修复和安全掩护是有期限的,到期后不再为大众供应开放掩护。如需连续掩护,则要「付费」获取更新或者技能支持。
划重点了!
收费,指的是企业用户如果要连续利用2019年1月往后发布的 Java 8 更新,须要付费购买 Oracle 的商业容许证。
这是由于2019年1月份之后,Oracle Java 8 的公开更新将不向没有商用容许证的业务、商用或生产用场供应。详情请查看官方的公告: https://java.com/zh_CN/download/release_notice.jsp
到这里,相信各位已理解所谓的「收费」是怎么回事了。「收费」面向的工具一贯都是企业用户,至于个人用户,可以连续免费更新到2020年12月。
像这种公告,大体上没毛病,但问题不是「因 Oracle JDK 容许变更」,而是这本来便是 Oracle 的更新策略,旨在鼓励开拓者升级到更高版本的 JDK。
由于 Oracle JDK 8 u191 是2019年1月前发布的最新版本,以是只要一贯利用 JDK 8 u191 以及更早的版本,就不需付费。
不过根据此前宣布的一篇「Java SE 11.0.2(LTS)、8u201 / Java SE 8u202 发布」资讯,有用户回答表示,Java 的更新弹出信息显示为:
Java SE 8 is going through the End of Public Updates process for legacy releases. Oracle will continue to provide free public updates and auto updates of Java SE 8, until at least the end of December 2020 for Personal Users, and January 2019 for Commercial Users. Personal Users continue to get free Java SE 8 updates from Oracle at java.com (or via auto update), and Commercial Users continue to get free updates to Java SE 8 from OTN for free under the BCL license. Starting with the April 2019 scheduled quarterly critical patch update, Oracle Customers can access updates to Java SE 8 for commercial use from Oracle through My Oracle Support and via corporate auto update where applicable (Visit My.Oracle Support Note 1439822.1 - All Java SE Downloads on MOS – Requires Support Login)
意思即是,2019年4月起的更新将影响公司或企业用户;正在安装的版本则不受影响。按这个说法,最新的 JDK 8 u201 和 JDK 8 u202 仍可免费利用。
当然,如果你须要利用最新的 Java 特性,从 JDK 11 开始,Oracle 供应了 OpenJDK 的下载包,可用于商业和生产用场。
建议各个公司的技能卖力人,负责检讨线上运行的各个 Java 版本,确保版本在容许范围之内。其余,往后到官网下载 JDK 包时,请选择 OpenJDK 。
以是,「Java 8 要收费」这样一句话,必须要说清楚明确的工具和详细的条件。