IBM 和 Oracle 改变了游戏:结成 OpenJDK 同盟

两个超级大公司之间发生了什么 ... 不再对抗

Oracle-IBM® OpenJDK 同盟对整个 Java™ 行业产生涟漪效应,这对于 Java 生态系统的健康发展影响如何,评论人士对此褒贬不一。纵观各种观点评述,前 JavaWorld 编辑 Athen O'Shea 的评论直达问题本质:这对于 Project Harmony、JCP 、开源的未来以及 Java 平台上的基于开放标准的开发究竟会产生什么影响。

Athen O'Shea, 技术编辑和作家, 自由职业者

http://www.ibm.com/developerworks/i/p-aoshea.jpgAthen O'Shea 是一位高级技术编辑和作家,担任过 JavaWorld.com 的编辑。作为一位自由职业者,他从 2001 年开始定期向 developerWorks 投稿。



2011 年 2 月 17 日

IBM 和 Oracle 于 10 月 11 日发表联合公告,他们将 共同努力推进 OpenJDK 项目,这让很多人感到惊讶。很多评论员都同意这样的观点,即这项举措通过两家大公司的联合,将重新定义 Java 生态系统,并且 对 Java 技术的未来来说,是个好消息

Javalobby 投票 中 60% 以上的受访者(最新统计有 600 人)称,他们认为 IBM 协助 OpenJDK 项目的决定有益于 Java 技术。通过决定在 OpenJDK 上合作开发,这两家公司成功地 停止了关于 IBM 主导的 Java 分支的投机行为,这对数十亿美元的 Java 产业来说也具有同样的意义。除此以外,还有一些私下的评论,Eclipse Foundation 的 Mike Milinkovich 说,“我们又可以回到专心开发创新中了。”

Oracle-IBM 公告对于这个快速发展的行业来说,也会成为一个艰难的选择。从有着长期技术投资的跨国企业到小型公司和个人,都要决定是否继续在 Java 平台开发软件。本文将一一展示参与其中的,或受 Oracle 和 IBM 决策影响的关键因素和参与者。在每一节的最后,还有介绍此同盟方方面面情况的 web 资源链接。

OpenJDK 作为 Oracle-IBM 项目

OpenJDK 是 Java 平台的开源参考实现;它包含 Java SE、Java 语言、JDK 和 JRE。 OpenJDK 规范要求由 Java Community Process 投票决定。即将到来的投票将决定新提议的 OpenJDK 路线图 是否能被 JCP 执行委员会接受。

Java Platform Group 的总架构师 Mark Reinhold 表示,IBM 的 OpenJDK 工程师可能 “主要负责类库开发,并与我们其中一部分同事合作,构建一个通用源平台,以便能使用顶层多 Java 虚拟机。” 两家公司很有可能会在各自的 JVM 上独立工作, 会看到 “很多不同企业的功能差异”,他说。

OpenJDK 管理?

OpenJDK 项目有一个 临时管理委员会,它的任务是设立 OpenJDK 社区的章程。Simon Phipps 指出,在写作本文时,委员会的地位 似乎仍然是过渡状态。

有赢,有输

选择 IBM 成为 OpenJDK 合作伙伴明显是 Oracle 的战略决策。Oracle 的软件业务副总裁 Adam Messinger 说,这一举措反映出两家公司都想要加速解决 快速发展的多核硬件 带来的挑战。“这次合作反映了我们两家都面对的战略现实,”他说。

OpenJDK 同盟 让 Oracle 不再隔绝,RedMonk 的 Stephen O'Grady 说,成功地使它在 Java 生态系统中的地位得以确认并提升:

如果 Oracle 想要挑选一个 Java 业务方面的供应商合作,很容易选择 IBM。除了企业间的盲目信任 — 比如,“购买 IBM 不会被抛弃” — 蓝色巨人在开发人员中有着让人羡慕的声誉。而现在 IBM 公开与 Oracle 站在一边,后者维持此生态系统的任务变得简单得多。

这对 IBM 来说,也是一项好的举措,即使显然会牺牲掉 Harmony。将工程资源从 Project Harmony 转换到 OpenJDK,IBM 加强了对 Java 技术的影响,尽管会明显 处于 Oracle 掌控之下。两家公司表示,将共同努力以确保作为 Java 平台发展的主要标准组织的 JCP 的地位被强化 并提高。

还有没解决的问题,Project Harmony 如何处理,Oracle-IBM 同盟对 Google(有 Android 合作协议) 意味着什么,OpenJDK 同盟(以及 Google 的回应)会对 Java 技术行业的其他厂商意味着什么,JCP 将如何变革,变革到什么程度。

  • OpenJDK 委员会成员 大多数是 Oracle(以前是 Sun)和 IBM 员工,其余是 Google 和 Red Hat 的开发人员。(Oracle Java/FOSS 代表 Dalibor Topic 还有更多关于该话题的讲述。)
  • IBM 开放系统和 Linux 业务副总裁 Bob Sutor 讲述 IBM 这项决策的理由。他解释既有有利因素,IBM 会加强开发利用,以确保 Java 和 JCP 的未来发展,也有不利因素,这项决策会妨碍 Project Harmony。
  • Stephen O'Grady 从分析员的视角解读 Oracle-IBM 的决策对整个 Java 生态系统的涟漪效应, 包括猜测选择 IBM 作为 OpenJDK 合作伙伴为什么 对 Oracle 来说是好的举措
  • Mark Reinhold 解释 新的 OpenJDK 路线图 及其分裂的 JSR 背后的思考。

Project Harmony 怎么办?

IBM 曾经是 Project Harmony,这一 Apache Software Foundation 所开发和许可的开源 Java 运行时的 长期支持者。对于某些 Java 社区,Harmony 曾被看作是官方 Java 平台实现的替代选择,这种需求现在仍然存在相对于 独立的 Java 实现和许可,Harmony 还会被看作是对 Oracle 的地位的检验。

IBM 的开源和 Linux® 业务副总裁 Bob Sutor 在 总结 IBM 的决定,让工程师从 Project Harmony 转向 OpenJDK 时,称之为务实:

很明显,先是 Sun,然后是 Oracle,从来没有对 Java、Java SE TCK 做过认真的测试和验证,以便能在 Apache 中使用。我们不同意这项决策,但它不是我们做出的。所以与其继续将 Harmony 开发成非官方的、未验证的 Java 产品,还不如调转方向,努力开发 OpenJDK。

这项举措让 Harmony 的未来很不确定,此项目是否及如何进展还 掌握在开发人员手中。IBM 的决策 “对 Harmony 来说不是好事”,Harmony 创造者和 Apache 董事会成员 Geir Magnusson 说。“但从长远来看:对于 Apache Foundation,由社区决定做什么。我们按照社区所希望的做。”

一开始的反应是 “玩完了(不止是 Harmony)”,后来变为建议 Project Harmony 的一部分可以转到 OpenJDK 中。有人推测此平台也可能在另一赞助商的支持下继续发展;这就是,Google。

深入阅读:Project Harmony,过去和未来

  • Ryan Paul,在 Ars Technica 中,给出准确的 Harmony 许可历史的概述;Sun 的,现在是 Oracle 的影响,使用领域的限制;以及 IBM 直到现在在领导平台方面的地位。
  • Stephen Colebourne,作为 ASF 成员,对 Sun/Oracle 两方关于 IBM 的决定的许可争论和结果 观点总结
  • 据 Harmony 创造者 Geir Magnusson 所说,Harmony 的未来仍 掌握在开发人员手中
  • 很多人,包括 DZone 的 James Sugrue,都想知道,在开发出 Android 中使用的 Harmony 库之后,Google 对 Harmony 的未来会起什么作用

Google、Android,和新冷战理论

虽然 Google 不是惟一一个受 Oracle-IBM 决策影响的 Java 技术厂商,但也许是失去最多的厂商,也可能是得到最多的,如下文所述。Oracle 在 8 月对 Google 展开的诉讼(声称对 Android 相关的多项专利权和版权侵权)是对开源精神的打击,而开源精神是 Java 生态系统健康发展的土壤。这项公告发表后,Java 分支的呼声 日益高涨,有人担心原先处在 Java 技术这一方的开发人员将无路可退。

Project Harmony 没有一个强大的赞助厂商 对 Google 来说可能是坏事(Android 架构在 Harmony 子集之上);但也许会是好事,如果 Google 决定 自己开发 Project Harmony

无论 Google 做出什么决定,将不会仅仅影响 Android,而且会影响厂商在自己的实现中如何看待和利用 Java 技术。而且,正如有些人指出的,我们也许会进入一个 新的冷战时代— 与作为局外人的 Google,而不是 Oracle。

深入阅读: Google 下一步是什么


变革 JCP

Oracle 和 IBM 已声明,他们仍将继续努力变革并加强 JCP,以确保它继续成为定义 Java 平台和语言规范的标准组织。Oracle 代表已 确认 JCP 的批准对 Java SE 开发必不可少,从 JavaOne 宣布的修订的 OpenJDK 路线图 即将进行的投票 开始。

Bob Sutor 曾说 IBM 希望看到 “JCP [...] 中有 长效变革,以使其更民主、更透明、更开放”。 有些 Oracle 代表也 指出JCP 变革 不仅在执行委员会的讨论之下,但他们相信对于此提议,社区会很高兴

时间将会证明执行委员会,以及更广泛的社区,将会对 JCP的改进建议反响如何。尽管如此,据 Apache Software Foundation 成员 Stephen Colebourne 所说,即将到来的 JCP 投票将会是 初步的测试;不止是对修订的 OpenJDK/Java 7 路线图;也会看出 Red Hat、VMWare、SAP 和 Google 等厂商 对 Oracle-IBM 同盟反响如何。Colebourne 还猜测可能会产生 JCP 决裂,Oracle 获得制定 Java 核心(Java SE、ME 和 JVM,按 Colebourne 所说)的规范的权利,而辅助库由与厂商独立的 JCP 单独管理。

深入阅读:JCP 变革和开源 Java


更加健康的 Java 生态系统?

Oracle-IBM 同盟被广泛看作是 Java 技术的胜利:它加速了 OpenJDK 项目,并且能让更多的工程师开展合作和资源共享。这一举措在 OpenJDK 这一基础项目上联合了两家在业界影响巨大的公司的能力(包括技术投入和财政投入)。这也有效地中止了关于 IBM 主导的 Java 分支的投机行为,那种行为对 Java 行业的发展弊大于利。

IBM 的新兴技术业务副总裁 Rod Smith 的评论强调其对 Java 生态系统、开发者、供应商以及行业的稳定作用。“这会消除 Java 未来的不确定性,”他说。Danny Coward(以前就职于 Sun)将此称赞为 “竞合的新时代”, Oracle 的 Adam Messinger 说此举将 加速 Java 平台的创新

稳定是好的,创新也是好的;这两者对一个健康的 Java 生态系统来说都是必不可少的。而当稳定性建筑在巨人的肩膀上,Java 行业的创新历史上曾是 破坏性的力量:这是一个小厂商和独立、松散的网络化开发者有时比跨国企业发挥作用更大的竞技场。正是这两股大的利益集团之间的相互作用,使得 Java 行业既健康又诚实,充满希望,欣欣向荣。

据 Fabrizio Giudici(和 Gianugo Rabellino)所指出的,有个最终的问题,即 自由的问题;Free Software Foundation 所定义 自由,开源许可所编写的 自由。这个问题将还会决定 Java 的未来是建筑在一个,两个还是多个核心平台上。

深入阅读:怎样成就一个更加健康的 Java 生态系统?

  • Fabrizio Giudici 在关于自由定义的讨论中 评估负面影响的程度— Rabellino 的 开源与开源标准— OpenJDK 分支是否值得继续存在。
  • 在 Oracle-IBM 公告 10 天之前, James Governor 称破坏性创新(和开源管理)是 Java 技术未来发展的 规则,不可避免。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Java technology
ArticleID=627348
ArticleTitle=IBM 和 Oracle 改变了游戏:结成 OpenJDK 同盟
publish-date=02172011