甲骨文如何在事实上杀死了Java EE

2019年05月05日 15:55 次阅读 稿源:开源中国 条评论

Mike 在博客中还提及了 Eclipse 基金会和 Oracle 之间关于 Jakarta EE 的协议、Java 商标和 javax 命名空间使用等问题的最新进展。2017年,Oracle 宣布开源 Java EE 并将项目移交给 Eclipse 基金会,由这个开源基金会全面接管 Java EE 的管理和发展。

Oracle 将其主导的 Java EE 技术及相关的 GlassFish 技术重新授权给 Eclipse 基金会,包括参考实现、技术兼容性工具包(TCKs)以及“相关的项目说明文档”,并希望通过 Eclipse 基金会在开源项目治理、Java EE 及相关技术方面的丰富经验共同将 Java EE 带向更美好的未来。

彼时 Eclipse 基金会执行董事 Mike Milinkovich 对这一举措亦持乐观态度,他表示这正是 Java EE 所需要的,也是社区一直希望看到的。

而将 Java EE 捐赠出去的 Oracle 也因此在 Eclipse 基金会的董事会中占得一席之地。

移交过程

在刚宣布将 Java EE 移交给 Eclipse 基金会时,Oracle 就要求为该平台重新取一个新的品牌名。毕竟 Java 是 Oracle 的商标,属于 Oracle 的财产,所以 Eclipse 基金会无法继续使用 Java EE,最后这个企业 Java 平台被重命名为 Jakarta EE。虽然在这期间,外界也有建议 Oracle 同意 Eclipse 基金会继续使用 Java EE 的声音,他们认为从 J2EE 到 Java EE 的重命名,再到现在又将 Java EE 重命名,会在很长一段时间内给使用者造成困扰,并引起市场的混乱。

Eclipse 基金会接受了将 Java EE 改名为 Jakarta EE 的事实。但在移交过程中,Oracle 却提出了一系列 Eclipse 基金会难以接受的要求,诸如:

  1. Oracle 要求由 Eclipse 基金会发行的产品(如 Eclipse IDE)必须只能捆绑由 Oracle 认证(而不是任何其他供应商认证)的 Java 运行时。

    这意味着 Eclipse 基金会的产品如 GlassFish 和 Eclipse IDE 将不再是供应商中立,从而导致基金会的免税状态可能不再有效,这对基金会而言将是财务上的灾难,有可能导致基金会关闭。更重要的是,这一要求并不是在谈判开始时提出的,而是在谈判开始很久以后才提出,那个时候交接工作正在进行中。外猜测这是 Oracle 对 IBM 开源 OpenJ9 JVM 的反应,毕竟这对它的 Java 业务构成了明显的威胁。

  2. Oracle 要求 Eclipse 基金会不能修改旧的代码,如需修改则要重命名,包括项目名称和软件包的名称。这意味着现有的应用程序无法在没有重构和重新编辑的情况下运行在更新后的平台上。

    因此,最糟糕的情况是 Jakarta EE 将成为一个全新的、不兼容的平台,这对 Java EE 无疑又是一个灾难,意味着 Java 著名的 “WORA” (Write Once Run Anywhere) 原则将不再有效 —— 没有软件供应商会愿意仅为了更换名称而花费时间和金钱去重编译所有客户的版本。

经过许多个月的友善谈判,Eclipse 基金会和 Oracle 无法就修改 javax 包命名空间,以及在此前的 Java EE 规范中曾使用的 Java 商标协议条款达成一致。

而最后达成的共识就是,Jakarta EE 不能发布针对基础库 javax 的修改包,Jakarta EE 规范也不能使用包括 Java 商标的现有规范名称

由于谈判的复杂性和保密性,Eclipse 基金会和 Oracle 都同意不公开导致谈判结果的原因。不过有消息称 Oracle 利用了它在董事会的席位去干预决策。

影响

对于 Oracle 提出的一系列要求,Eclipse 基金会对部分选择了妥协。但即便如此,如果 Jakarta EE 无法提供向前兼容性,受制于 Oracle 的要求,那么 Java EE 事实上已被 Oracle 判了死刑。

ee8-gfx-final-3905175.jpg


对文章打分

甲骨文如何在事实上杀死了Java EE

5 (14%)
已有 条意见

    最新资讯

    加载中...

    编辑精选

    加载中...

    热门评论

      Top 10

      招聘

      created by ceallan