IBM 加入 OpenJDK,和 Oracle 一道推动 Java 发展

  • Charles Humble
  • Alex Blewitt
  • 霍泰稳

2010 年 10 月 13 日

话题:Java编程语言OracleIBM语言 & 开发

Oracle(新闻发布)和 IBM(新闻发布)昨天联合宣布,IBM 将以参与修订 JDK7 路线图为开始,加入 OpenJDK 社区开发 Java 平台。

在新闻发布会现场,Oracle 的高级副总裁 Hasan Rizvi 介绍说,IBM 和 Oracle 希望能够联合“加速 Java 平台革新的步伐”。另外,IBM 和 Oracle 将通力合作继续优化 JCP,目前 JCP 也将维持在 Java 规范方面的主要工作。

很久以来 IBM 就在 Java 方面投入了很多精力,在 1995 年 12 月就获得 Java 的许可(Licensee ),其公司和 Oracle 一样现在也有很多基于 Java 平台的相关业务,尤其是它的 Java EE 产品。此前 Sun 曾发布公开声明说,希望 IBM 能够加入 OpenJDK 社区,但是一直没有成功,而 IBM 新技术事业部的副总裁 Rod Smith 说针对这个话题,IBM 和 Sun 从来没有进行过深入的沟通。

Smith 还谈到许多企业级 Java 客户都很关注 Oracle 收购 Sun,因为这涉及到 Java 平台的未来发展。他说尽管 IBM 和 Oracle 在商业 Java 业务上将继续竞争,包括 Java EE 产品和 SDK,(但是两家在 OpenJDK 上也将开展合作):

对于企业客户来说,他们可以继续基于 Java 社区提供更多开放、灵活、有创新性的新技术,帮助自己的业务成长。

InfoQ 问到 IBM 将来是否会继续支持Apache Harmony和其他相关的 ASF 项目。Smith 说会支持,但是很明显,IBM 会将主要的开发精力从 Apache Harmony 转移到 OpenJDK 上。他提到,IBM 还会将 Harmony 项目中的一些创新,带到 Java SE 的参考实现中。

Eclipse 基金会的 Mike Milinkovich 认为这个声明会平息近期的一些热点讨论,比如James Governor 的单极时刻(Unipolar Moment )和Java 的未来,这些观点认为开发的 Java 是让该平台继续下去的唯一途径。Mike 也提到自己的几点不同观点

矛盾的假定条件:许多人开始的时候认为在谁来支配 Java 发展这个问题上,IBM 和 Oracle 肯定终有一战,具体的领域包括 OSGi、Apache 和 Eclipse 等。现在来看,很明显,战争的引爆点已经消失。而且,未来 IBM 会和 Oracle 一道完善 OpenJDK,我们有理由期望在 JCP 中双方将一起推动规范,尤其是平台规范的发展;

Oracle 致力于 Java 商业复苏:首先,Oracle 确实在多个领域推动着 Java 的发展,而此前由于 Sun 财务吃紧,至少使得 Java 在过去三年没有什么大的进展。第二,Oracle 确定了软件工程纪律和进度表,使得 Java 的未来发布计划要比 Sun 更加可靠和及时。第三,Oracle 足够大,执行力也相当好,在和 IBM 的竞合过程中也游刃有余。最后,Oracle 很少关注开发者社区,更多关注的是商业。

这是 Oracle-IBM 关系的一个拐点:想想几年前,IBM 和 BEA 这两家公司在 Java 市场上打得难分难解,但是在很多 JCP 规范和像 Apache 和 Eclipse 这样的开源项目上却成功合作。所以说,对于 IBM 和 Oracle 这两家公司来说,这也是重要的一步,至少在 Java 领域。希望未来他们能有更多的合作。

Mark Reinhold 认为 Java 平台的前景一片光明。在发布 Plan B 声明之后,Mark昨天发文说他很高兴看到 IBM 和 Oracle 的合作:

我希望 IBM 的工程师能将精力放在 Class 类库的完善上,和我们其他人一道为不同的 Java 虚拟机提供通用的源码库。在各自的 JVM 上我们都有很多的投资,这也是我们各自产品有不同企业级特性的根源所在,这一点有必要继续。将精力放在为类库提供单一的源码库可以加速 JDK 的整体创新率,提供质量和性能,优化所有实现的兼容性。

他还提到说更紧密的合作将可能有助于两家公司在 JCP、Java 7 和 Java 8 的提案中更快地达成一致。

Apache Harmony中 Java 实现最常用的模块化方法可能会被引入到 OpenJDK。在刚结束的OSGI 社区会议上,展示了一个简化的基于 OSGi 的模块化运行时,此后大家开始了OSGI 最小环境的讨论。Apache Harmony 项目的 Tim Ellison 赞同 IBM 和 Oracle 之间的相互尊重,认为这对双方都是好事情:

对于 Java 生态环境最好的事情是什么?我认为兼容性是关键的,不是去搞分裂。正确的事情应该是基于通用的代码库,将核心的平台开发群组联合起来。我们相信 Harmony 项目中经历的教训对 OpenJDK 是有价值的。

这件事对 Android 有何影响还未可知。虽然 Android 不是基于 Harmony 类库,但这事儿还是没有给 Dalvik 留下什么支持的类库集。但是,这些类库此前已经被分解了,转换后的代码可以运行在 Dalvik JVM 上,所以也许 Google 的 Android 开发团队会认为这种情况会让 Harmony 逐渐死亡。另外,(在 Harmony 项目的)提交者名单里面也从来没有以任何形式显示 Google 的人,或者说,除了 IBM UK 的人没有其他组织的人参与。Stephen Colebourne 怀疑说,Apache 是否还会继续做 JCP 的成员,或者声明 Apache Harmony 已死?

对于 IBM 和 Oracle 在 OpenJDK 上的合作,读者您的观点是什么?不妨在此分享一下。

查看英文原文:IBM Joins OpenJDK

Java编程语言OracleIBM语言 & 开发