`
Java_KAbanban
  • 浏览: 38186 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

导读: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技术未来发展的规则,不可避免。

分享到:
评论

相关推荐

    openjdk和oracle jdk的区别+openjdk和oracle jdk的区别

    openjdk和oracle jdk的区别 openjdk和oracle jdk的区别 openjdk和oracle jdk的区别 openjdk和oracle jdk的区别

    openjdk和oracle jdk的区别.docx

    OpenJDK 和 Oracle JDK 的区别 OpenJDK 和 Oracle JDK 是两个不同的 Java 开发包,它们之间存在一些关键的差异。这些差异主要体现在授权协议、代码内容、商业使用和功能实现等方面。 1. 授权协议不同 OpenJDK ...

    《JVM性能工程:深入OpenJDK和HotSpot Java虚拟机》

    这本书是探索Java虚拟机性能工程的深入指南,专注于OpenJDK和HotSpot JVM,适合希望优化Java应用性能的开发者。

    openjdk-11+28_windows-x64_bin.zip

    OpenJDK 是一个开源、免费的 Java 开发工具包,它实现了 Java 虚拟机(JVM)和 Java 类库,是 Java 开发的重要基础。在给定的文件 "openjdk-11+28_windows-x64_bin.zip" 中,我们获得了 OpenJDK 的 Windows 64 位...

    openjdk和oracle jdk的区别

    "openjdk和oracle jdk的区别" OpenJDK 和 Oracle JDK 是两种不同的 Java 开发套件,它们之间存在着许多区别。下面我们将详细解释这些区别。 授权协议不同 OpenJDK 采用 GPL V2 协议放出,而 OracleJDK 则采用 JRL...

    openjdk与Oraclejdk的区别.doc

    OpenJDK和OracleJDK是两个广泛使用的Java Development Kits(JDKs),它们在Java社区中扮演着重要的角色。这两个JDKs虽然有许多相似之处,但也存在一些关键的区别,主要体现在授权协议、代码组成、商标使用以及后续...

    Java生态的双剑合璧:OpenJDK与Oracle JDK的较量

    Java是一种广泛使用的编程语言,由Sun Microsystems公司(现属于Oracle公司)在1995年首次发布。它是一种面向对象的语言,意味着它将现实世界中的事物抽象为对象,这些对象具有属性(数据)和方法(行为)。Java语言...

    java8看不到源码-ansible-java-role:Ansible角色来管理OpenJDK/OracleJDK6、7和8的安装

    和 JDK 的安装。 它支持 OpenJDK 和 Oracle JRE 以及 JDK 6、7 和 8。它们都是使用包管理器安装的。 要求 没有任何。 角色变量 java_packages变量必须设置为所需 Java 包的列表。 例如: java_packages : - openjdk-...

    openjdk-17_windows-x64_bin.zip

    1. **长期支持(LTS)**:OpenJDK 17被标记为LTS版本,这意味着它将得到更长时间的官方支持,包括安全更新和错误修复,这对于企业和大型项目而言尤为重要。 2. **JEP(JDK Enhancement Proposals)**:OpenJDK 17...

    openjdk的mac版本:openjdk-11.0.2_osx-x64_bin.tar.gz

    openjdk的mac版本:openjdk-11.0.2_osx-x64_bin.tar.gz,因为oracle jdk 11已经不能免费商业使用,故使用openjdk版本。官网下载较慢,转存于此。注意:解压后需要放到/Library/Java/JavaVirtualMachines/目录下才能...

    openjdk-18.0.1.1(openjdk-18.0.1.1_linux-aarch64_bin.tar.gz)

    OpenJDK 和 Oracle JDK 的关系** OpenJDK 是 Java Development Kit (JDK) 的开源实现,由 OpenJDK 社区维护。Oracle JDK 是由 Oracle 公司提供的官方 JDK 实现,基于 OpenJDK 并加入了一些商业特性。虽然两者在基础...

    openjdk和oraclejdk的区别

    OpenJDK和Oracle JDK是两种广泛使用的Java Development Kits,它们之间的主要差异体现在多个方面,包括来源和维护者、功能和性能、许可证与使用范围、更新频率以及商业支持和服务。 首先,从来源和维护者的角度来看...

    openjdk1.6

    OpenJDK 1.6是Java Development Kit的一个开源实现,它是Java编程语言和Java平台标准版(Java SE)的一部分。OpenJDK项目的目标是提供一个免费、开源的Java实现,鼓励社区参与和透明度,使得开发者可以查看并修改源...

    openjdk-1.8.0_181

    本文将重点讨论OpenJDK 1.8.0_181版本,它是Oracle JDK 8的一个分支,对于理解Java 8的特性和功能至关重要。 1. OpenJDK 与 Oracle JDK 的关系: OpenJDK是Java平台的核心组成部分,由甲骨文公司(Oracle)和其他...

    Java开发环境Docker镜像:OpenJDK基础与阿里云Ubuntu源优化

    内容概要:这个Docker镜像基于官方OpenJDK 8镜像构建,专为Java开发环境设计。它包含了对阿里云Ubuntu镜像源的优化设置,旨在提升软件包管理和安装速度。适用人群:适合需要快速配置Java开发环境的开发人员,尤其是...

    性能工程师指南:玩转OpenJDK HotSpot垃圾收集器.ppt

    性能工程师指南:玩转OpenJDK HotSpot垃圾收集器.ppt性能工程师指南:玩转OpenJDK HotSpot垃圾收集器.ppt性能工程师指南:玩转OpenJDK HotSpot垃圾收集器.ppt性能工程师指南:玩转OpenJDK HotSpot垃圾收集器.ppt性能...

    docker-centos-java-node:具有openjdk11和nodejs12的Docker映像

    openjdk11 nodejs12 来自gitlab-release-note-generator软件包 特征 $ BOOT_GITREPO,添加存储库URL以在启动前克隆外部脚本 openjdk的默认版本是11 $ JAVA_VERSION = [8 | 11],可以在启动前设置openjdk版本,...

    openjdk6-sourcecode

    OpenJDK是Java平台的开源实现,由Sun Microsystems发起,后被Oracle公司接手。OpenJDK6是基于Java SE 6的版本,包含了JVM、Java类库和其他相关工具。它的开放源码特性使得开发者能够深入了解Java运行时环境的工作...

    homebrew-openjdk:采用OpenJDK HomeBrew Tap

    采用OpenJDK-HomeBrew TAP 用法 要始终获得最新,最出色的AdoptOpenJDK,请运行: $ brew install --cask adoptopenjdk 出现后, adoptopenjdk将自动升级到最新的修补程序或主要版本。 要保留特定的主要版本,请...

Global site tag (gtag.js) - Google Analytics