IBM和Oracle改变了游戏:结成OpenJDK同盟
导读:Oracle-IBM OpenJDK同盟对整个Java行业产生涟漪效应,这对于Java生态系统的健康发展影响如何,评论人士对此褒贬不一。纵观各种观点评述,前 JavaWorld编辑 Athen O'Shea 评论直达问题本质:这对于Project Harmony、JCP 、开源的未来以及Java平台上的基
导读: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 意味着什么,OpenJDK同盟会对Java技术行业的其他厂商意味着什么,JCP将如何变革,变革到什么程度。
OpenJDK和Oracle-IBM决策
OpenJDK 委员会成员大多数是Oracle(以前是 Sun)和IBM员工,其余是Google和Red Hat的开发人员。
IBM开放系统和Linux业务副总裁Bob Sutor述 IBM 这项决策的理由。他解释既有有利因素,IBM会加强开发利用,以确保Java和JCP的未来发展,也有不利因素,这项决策会妨碍 roject 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变革。
Stephen Colebourne 曾提出,在即将到来的 JCP 投票中,将会看出对 Oracle-IBM 决策,执行委员会成员的立场。
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技术未来发展的规则,不可避免。
http://www.oschina.net/news/15584/j-openjdkroundup