Oracle恢复了面向Java 7的Java Time Zone免费更新

Oracle在标准JDK发布周期之外停止提供免费的Java Time Zone更新,此举在网上闹得沸沸扬扬。然而就在10号,Oracle的心可能又变了。

截至今年3月之前,Oracle和之前的Sun都提供了免费的TZUpdater工具,该工具允许开发者更新给定版本JDK 的时区信息,而无须更新JDK本身。然而就在今年3月底Java 6服务周期结束(到达End Of Life状态)的同时,Oracle也通过一则支持协议限制了用户对该工具的使用,这不仅影响了Java 6用户,也影响了Java 7用户。

这无疑是种倒退。Java Time Zone更新包含在JDK每年计划中的六次更新中,但这远不如时区数据的更新来得频繁,这从TZUpdater的版本列表也看得出来。“政治实体可能一时兴起就随时修改时区,而且往往是不会给出任何通知的”,JSR-310和Joda-Time的领导者Stephen Colebourne这样说。“在世界的某些部分,这尤其是个问题,而美国和欧盟受的影响就微乎其微。”

此外,TZUpdater的移除意味着,除非更新整个JDK,否则开发者是无法给时区数据打补丁的,对很多企业而言这是个很大的负担。Colebourne指出:“我想很多开发者会希望可以选择只更新时区数据,而不是被强迫去更新整个JDK(这有很大风险)。”他还补充道:

Joda-Time未受影响,因为它有自己的时区数据,独立于JDK进行解析,而且可由用户更新。然而JSR-310被集成到了JDK 8中,因此会受到影响。理想的情况是,JDK中的数据可以随时被正确替换,尽管JSR-310支持,但我还没有成功实现。

The Server Side于6月7日报道了这则消息,Oracle的员工Cameron Purdy和Donald Smith含蓄地指出这是有意为之。Purdy援引了Oracle内部的一条响应,写道:

每次交付新的Java更新时(每年6次),我们也会定期更新时区数据,而且Java的最新版本总是免费的。

我们认为,对于我们长期支持的客户而言,Tzupdater也是一个支持工具。作为一种为Java开发提供资金的方式,我们确实对支持收费了。我们没有专门为Tzupdater收费,它只是我们整体支持产品的一部分。

然而当InfoQ联系Oracle以确认这则消息时,看起来他们的想法已经变了。Oracle告诉我们:

我们从来没有想过将JDK 7更到最新还需要支持协议。3月8日TZUpdater不再可用,这是JDK 6终止公开更新的一部分。当我们了解到这会影响JDK 7用户,我们马上启动了使之可以再次应用于JDK 7的进程。

Oracle在一篇博客中补充道:

对于我们引起的混乱和不便,我们向Java社区中所有受此影响的人致歉,我们也非常感谢直接联系我们、让我们注意到此问题的人。一些Java用户组的领导者和Java Champion一如既往地勤勉和乐于助人,特别是Stephen Colebourne,他从社区角度提供了详细的、很有帮助的技术分析。

Colebourne告诉我们:

我想Oracle一旦理解了问题所在就会很快做出反应。随着其策略的逆转,我们会回到可以正常工作的系统。

不管这是错误还是阴谋,Oracle恢复了TZUpdater,这是好消息。Oracle能面对风暴快速反应,也是值得肯定的。

查看英文原文:Oracle Reinstates Free Time Zone Updates for Java 7

你可能感兴趣的:(Oracle恢复了面向Java 7的Java Time Zone免费更新)