编者: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 决策
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 下一步是什么
Charles Nutter 在其 Oracle-Google 诉讼案总结中提到了所有要点以及 对整个 Java 生态系统的涟漪效应。
Greg Luck 在 10 月 4 日博客文章 “分化 Java 的时间到了么” 中提出 Java 分化的猜想。
Googling Google 的博客作者 Christopher Dawson 在谈论 Google 选择对抗还是合作时说到 Google 仍会保持 Google 的风格。
Google、IBM、Oracle 和 Red Hat,都是 OpenJDK 项目主导者。
变革 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
Oracle 代表 Adam Messinger 和 Henrik Stahl 都指出,JCP 谈判会让 Java 社区很高兴。
关于 JCP 执行委员会成员 如何看待 JCP 变革,见 2010 年 2 月 DZone 频道评论 。
Stephen Colebourne 曾提出,在即将到来的 JCP 投票中,将会看出对 Oracle-IBM 决策,执行委员会成员的立场。(JAXmag 在线的 Jessica Thornsby 报道。)
Colebourne 还提出,会出现 JCP 决裂。
更加健康的 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 技术未来发展的 规则,不可避免。
【编辑推荐】