谈判失败:Oracle将如何杀死Java EE?
5月4日,Eclipse基金会的总裁Mike Milinkovic在他的个人博客上发布了关于Oracle与Eclipse基金会之间关于Java商标谈判的最终结果。
经过18个月的紧密谈判,这项目努力已经彻底完败,Oracle不会签署商标出让协议。
背景
2017年夏天,Oracle的Java EE布道者David Delabasse曾说,Oracle将把Java EE开源,让它更灵活,更快响应不断变化的行业与技术之需求。
根据Eclipse基金会董事会的会议纪要(https://www.eclipse.org/org/foundation/boardminutes/2019_03_26_Minutes.pdf)所述,简单的说明如下原因,Oracle反转并提出一系列不可接受的要求,其中有一些将使用Eclipse基金会面临更严重的风险。
Oracle要求Eclipse基金会的一系列产品,如Eclipse IDE等分发的产品必须与Oracle的运行时环境捆绑在一起,即Oracle及持有它的许可证的用户,不能有其它任何供应商的认证。这会让IDE和GlassFish不再是供应商中立的产品。
在谈判开始时,Oracle并没有通知这一限制,过了一段时间后随即提出这一限制。而当前Eclipse对JavaEE的移植工作正在进行中。外部普遍认为这是对IBM OpenJ9 JVM捐赠的反应,这对Oracle的Java业务构成了明显的威胁。
因此,一旦Eclipse产品不再是供应商中立性,EF的免税状态也将不再有效,这对于EF而言将给财务带来灾难,有可能导致基金会被关闭。这对于EF来讲是不能接受的,不可能答应Oracle的要求,因此谈判完全失败。
余下将意味着Java EE的结束。EF可能会使用一此相当过时的代码,而且不能修改它。如果想要修改,则必须重新进行重命名,包括项目名称与软件包的名称,如JAX-RS,虽然不是很好但可以接受,包括名字javax.*。如果不进行深度重构,则无需重新编译应用程序,但是它变成一个全新的非兼容平台,现有的应用程序将无法在更新平台上运行,最糟糕的事情是,它不仅使“WORA”(Write Once Run Anywhere)的原则将失效,在18个月后,也不会任何软件供应商花时间和金钱来为一个仅改了名称的平台重新编译客户的应用程序。
对于未来将不清晰,Oracle已经在Eclipse基金会上行使自己的投票否决权。EF原本希望Jakata EE能够成为Java EE标准的继承者,构建一些基础框架,提供给用户学习并继续推广它。但是现在学习它意味要更改现在所有的应用程序时,放着高铁不坐,谁会跳上这列绿皮火车?
Eclipse Milinkovic在博客中指说,光明仍在。对于Oracle提出的一些要求,EF对部分选择了妥协。但对于用户来讲,Jakarta EE无法提供向后兼容,基本成了一个僵尸项目,这只玻璃瓶不再悬在半空中,它已经跌落在地,变成一堆碎片。
这便是Java EE被Oracle杀死的那一天。
编译:洛逸