Oracle 加快终止对以往 Java 版本的免费支持期

  • Ben Evans
  • 盖磊

2018 年 2 月 1 日

话题:JavaDevOps语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

在 Java 9 之前,一个版本被宣布为首选版本之前,存在一个“培育”(bedded-in)新 GA 版本的重叠期。在此期间,上一个版本将会继续进行免费更新。为确保新旧版本间的干净切换,即便旧版本已不再是首选版本,通常也会继续维护 12 个月以上。但是随着 Java 版本发布更改为遵循严格的时间表后(InfoQ 曾于去年九月报道过),这显然也宣告传统的免费支持期将寿终正寝。

先前的发布方式非常适合于 Java 生态系统。在实践中,只有直接依赖全新特性的团队,才会立刻迁移到新版本。其它团队即便非常热衷于升级,一般也会等待至少数个小更新发布之后。现代软件平台的复杂性,使得.0.0 版本在实现中完全可能存在一些小缺陷。

很多团队并不想冒险去做即刻更新。原有的宽松版本发布方式,很好地迎合了应用所有者应对风险的各种偏好。如果一个新版本中包含了用户望眼欲穿的新特性,例如 Java 8 的 lambda 特性,那么新版本的采纳曲线就会表现为相对陡峭。而对于那些“锦上添花”式的新版本,采纳曲线则相对平缓。

自从 Java 转向新的发布流程以来,人们已发现 Oracle 公布的路线图中似乎存在着些许尚未解决的重大缺陷。看来,Oracle 的新路线图与预期的以及以往所有的版本有着很大分歧。

在一篇近期的博客帖子中,Azul System 的 Simon Ritter 从 Oracle 目前为止的公开发布中做出推断,并绘图展示了 Java 的发布节奏(如下图所示)。在文中,Azul 还简要阐明了自己所提议的支持解决方案。

就目前情况看,Oracle 将不会再提供任何用于“培育”并继续支持新版本 Java 的宽限期。另一方面看,新版本一旦发布就会成为默认版本。生产企业如果希望继续得到 Oracle 的免费支持,那么需要立刻切换到新版本上,即“戛然而止”(cliff-edge)。

还应指出的是,尽管 Java 9 是在旧的“训练”发布模式下开发的,但它不提供任何长期支持选项。如果企业没有认真准备好再次从 Java 9 中迁出,就不应该考虑在自身环境中引入 Java 9。Oracle 已明确表示,在它们看来,并不存在对 Java 9 的未来长期支持。

Oracle 的发言人 Donald Smith 在 Twitter 上给出了如下评论:

与以往 JDK 6 和 JDK 7 的更新项目一样,一旦最终 JDK 9 更新版本发布后,如果有适合的第三方愿意继续推进对 JDK 9 更新系列的维护,我们可在该项目的邮件列表上讨论如何更好地支持转移维护的问题。

现实情况是,世界上绝大多数 Java 用户使用的都是非商业购买的 Java 版本,他们并未与 Oracle 或任何其它供应商签署正式的支持合同。Oracle 的这一战略可以解释为尝试扭转这种状况,迫使企业客户转向签订商业支持合同。

但即便 Oracle 的意图的确如此,这似乎在另一个方面上与新的 Java 发行模式存在不符。Oracle 已明确宣布,开始将 OpenJDK 二进制文件作为 Java 10 的正式版本发布。这只能理解为,Oracle 默认承认 OpenJDK 现在已成为 OracleJDK 的替代。

InfoQ 试图联系 Oracle 对此作出评论。但是截至本文发稿时,Oracle 尚未作出正式响应。

查看英文原文: Oracle to End Free Support for Past Java Versions Much Sooner

JavaDevOps语言 & 开发架构