@Rays
2018-01-31T15:26:01.000000Z
字数 1440
阅读 1810
语言开发
Java
摘要: 目前来看,在Oracle新给出的支持路线图中,显著削减了新版本发布后应提供的免费更新维护期。
作者: Ben Evans
正文:
在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