导读: Oracle-IBM OpenJDK 同盟对整个 Java 行业产生涟漪效应,这对于 Java 生态系统的健康发展影响如何,评论人士对此褒贬不一。纵观各种观点评述,前 JavaWorld 编辑 Athen O'Shea 的评论直达问题本质:这对于 Project Harmony、JCP 、开源的未来以及 Jav
导读: Oracle-IBM OpenJDK 同盟对整个 Java 行业产生涟漪效应,这对于 Java 生态系统的健康发展影响如何,评论人士对此褒贬不一。纵观各种观点评述,前 JavaWorld 编辑 Athen O'Shea 的评论直达问题本质:这对于 Project Harmony、JCP 、开源的未来以及 Java 平台上的基于开放标准的开发究竟会产生什么影响。
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 上独立工作, 会看到 “很多不同企业的功能差异”,他说。
有赢,有输
选择 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-IBM 决策
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,过去和未来
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 生态系统?
关于作者:
Athen O'Shea 是一位高级技术编辑和作家,担任过 JavaWorld.com 的编辑。作为一位自由职业者,他从 2001 年开始定期向 developerWorks 投稿。
本文来源:当IBM和Oracle改变了游戏 结成OpenJDK同盟