《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

Java EE 重命名为 Jakarta EE:Java EE Guardians 与 Oracle 的分歧

  • 2018-02-25
  • 本文字数:2673 字

    阅读完需:约 9 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

由于对 Oracle 不热心回应 Java 社区反馈感到失望,Java EE Guardians 于今年早些时候提交了一封公开信,表达了他们对Oracle 限制使用EE4J 的“Java”和“javax”包名的担忧。Oracle 依据其商标使用准则,继续保持自己的立场。著名的Java EE 布道师 Reza Rahman ,同时担任 CapTech Consulting 的高级架构师,也以个人名义向 Oracle 发出了一封公开信。

在 Oracle 于 2017 年 8 月开源Java EE 后不久,Rahman 就Java EE 可能会重命名的问题做了一项Twitter 调查,结果如下:

Java 社区投票压倒性地支持保持 Java EE 名称。

Oracle 在 2017 年 9 月宣布将Java EE 所有权转交给Eclipse Foundation 时,曾明确表示希望Java EE 重命名。Java EE Guardians 对此设立了一个表单,供Java 社区提供反馈。所有意见都将发送到Oracle 的 feedback@javaee.groups.io 电子邮件地址,同时也将发送给一些 IBM,Red Hat 和 Eclipse 的高级员工。近期,Rahman 告知 InfoQ:

毫无疑问,在如何命名 Java EE 问题上,使用电子邮件方式获得了最多反馈。即使是现在,人们仍然在使用电子邮件方式将他们的想法告知 Oracle。

2017 年 11 月,Eclipse 基金会的开源项目总监 Wayne Beaton 发起了一项选择新项目名称的提名程序。他解释了这一做法的合理性:

我们需要一个新项目名称去替代“Java EE”。类似于 OpenJDK 项目实现了 Java SE 平台规范,EE4J 项目将为当前称为 Java EE 的项目提供一组规范的实现。我们需要命名这一套规范。

提名程序将开放两周,提名结果将由 EE4J 项目管理委员会(PMC)做审查。

Rahman 再次征求了来自 Java 社区的反馈。这次,Rahman 开展了一次是否保持 Java EE 和javax.enterprise包名的调查:

和上次调查一样,Java 社区投票压倒性地支持保留Java EE 名称和 javax.enterprise包名。

Rahman 在发给 Oracle 的公开信中,总结了 Java EE Guardians 在项目重命名中的立场:

我们认为这一要求并不符合社区和行业的最佳利益。随着 Java EE 进一步向微服务,云计算和无服务器计算方向发展,这可能也同样不符合 Oracle 自身的商业利益。

最明显的证据表明,社区的看法是目前对 Java EE 做重命名和重打包这一方向是错误的。通过对开发人员的调查,他们完全支持保留 Java EE 名称和“javax”包。即便近期 EE4J 计划已经发布,在最近数月中,他们所表示出的强烈意愿依然没有改变。

Oracle 的 WebLogic Server 产品管理高级总监 Will Lyons回应了 Rahman。他说:

Java EE 开发过程自最初创建以来,行业已经发生了变化。我们并不认为 Java EE 的开发过程足够便捷、灵活和开放。我们的共同目标是创建一个更便捷的流程、具有更灵活的许可,并实现更多不依赖于单一供应商的开放式管理。我们相信这一做法将鼓励更多的参与和创新。我们看到这一新方向受到了来自于整个社区的普遍支持。

这一新方向意味着许多变化,这些变化是以技术开发过程的变化为开始。Java EE 过程,或者更具体说是用于 Java EE 开发的 JCP 进程,是一个高度结构化的进程,授权规范会对技术的指定和实现方式产生重大影响。EE4J 过程会略有不同,它将会更加开放。包括 Oracle 在内的各个单方面供应商将继续贡献自己的力量,只是对于新的 EE4J 技术如何发展将不再具有原来的影响力。这是社区迈出的积极一步,我们相信大家会就此达成共识。

目前,现有 Java EE 中javax.*包的所有权已转交给 Eclipse 基金会。虽然 Java 社区仍然可以使用原有包名,但新包的命名应该是org.eclipse.xxx

Rahman 和 Java EE Guardian 做了大量努力收集社区统计数据,希望能继续保留“Java”和“javax”名称。尽管如此,确定 Java EE 新名称的过程在继续推进。最近,一个新的民意调查开放供人们选择 Java EE 的新名称,其中给出了两个选项:

  • Jakarta EE
  • Enterprise Profile

投票将于 2018 年 2 月 23 日关闭,每位参与者只能投票一次。

Jakarta EE

Jakarta 曾被 Apache 基金会用于管理各个 Java 子项目,诸如 Ant、Commons、JAMES 等。2011 年 12 月,在所有子项目都被迁移为独立项目后, Jakarta 名称就不再使用了。

Tomitribe 的创始人 David Blevins 最近撰写博文介绍了从 Java EE 到 Jakarta EE 的迁移,同时也提到了 Tomitribe 对重命名的最初立场:

我们对 Java EE 重命名一直保持沉默,很大程度上是由于我们喜欢“Java EE”,更大原因在于围绕 Java 商标问题在法律上的高度复杂性。

“Jakarta EE”这一命名最初是 IPFW 的高级程序员和分析师 Kenneth Jaeger 对 Beaton 在 2017 年 11 月的博客文章的回复中提出的。但是正如 Blevins 回忆的情况,该命名当时并未得到很好的反响:

他的回复立刻被其它八个回复湮没了。我承认自己最初也不喜欢这个命名。几个星期后,神奇的事情在这种情况下发现了,我们自发地采用了这一早已提出的事情。

Cybercom Group 的首席顾问 Ivar Grimstad 撰写博文表示他对Jakarta EE 命名的支持。

InfoQ 就重命名问题采访了 Rahman。他给出了如下声明:

我十分确认,无论强行将 EE4J 从官方开放标准 Java 平台上推迟的决定是什么,并不适用于社区中的绝大多数人。不幸的是,我认为社区在这个阶段已经做了其所能做的一切建设性工作。如果 Oracle 经过这场艰苦的拉锯战后,仍然拒绝放弃对 Java EE 品牌的控制权,那么采取重命名的做法会对 EE4J 项目造成进一步的破坏。

Jakarata EE 是我们将要给出的新命名,它最接近于和 Oracle 达成合作。这就是我的 Java EE Guardian 同事 Kenneth Jaeger 最初提出它的原因。我很高兴 EE4J 采纳了他的建议,而且 Apache 也允许使用这个名字。Jakarata EE 可以简洁地缩写为 JEE,并且 Jakarata 这个名字在开源 Java 和 Sun Microsystems 上有着深厚的传统。这一命名一直受到社区的热烈欢迎,这是一个伟大的标志。我希望 Jakarata EE 能胜出。

相关资源

查看英文原文: From Java EE to Jakarta EE: the Java EE Guardians Rebranding Debate with Oracle

2018-02-25 18:006405
用户头像

发布了 391 篇内容, 共 148.2 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

开发者有话说 | 求知若饥,虚心若愚

Samson

程序员 个人成长 10月月更 成长感悟

Python应用之哥德巴赫猜想——偶数

芯动大师

10月月更 哥德巴赫猜想 Python应用

Python应用之验证码验证

芯动大师

验证码 10月月更 Python应用

Python进阶(四)浅谈Python闭包

No Silver Bullet

Python 闭包 10月月更

【愚公系列】2022年10月 Go教学课程 021-Go容器之切片操作

愚公搬代码

10月月更

想学Go Web?先来看看如何搭建一个beego项目吧

Regan Yue

Go Go web Beego 10月月更

爬虫练习题(三)

张立梵

Python. 10月月更 爬虫案例

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

小哈区块

MFC|MediaPlayer基本功能使用

中国好公民st

c++ qt 10月月更

Vue3入门指北(十一)watch 和 watchEffect

Augus

Vue3 10月月更

2022-10-07:给定员工的 schedule 列表,表示每个员工的工作时间。 每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序。 返回表示 所有 员工的 共同,正

福大大架构师每日一题

算法 rust 福大大

深入浅出MatrixOne Parser

MatrixOrigin

矩阵起源 MatirxOrigin MatirxOne

架构师的十八般武艺:可延展性

agnostic

可延展性

leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal 从中序与后序遍历序列构造二叉树(中等)

okokabcd

LeetCode 算法与数据结构

从SpringBoot启动,阅读源码设计

Java 架构

Python应用之激活码生成器

芯动大师

Python语法 10月月更 激活码生成器

Docker远程连接设置

程序员欣宸

Docker 容器 10月月更

Python进阶(三)函数式编程之reduce()

No Silver Bullet

Python reduce 10月月更

Windows开发工具安装

青柚1943

dapr

【一Go到底】第八天---用户输入

指剑

Go golang 10月月更

图像渲染

掘金安东尼

算法 10月月更

spring入门介绍

楠羽

笔记 spring 5 10月月更

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

BlockChain先知

干货分享 | MatrixOne系统架构

MatrixOrigin

MatrixOrigin MatrixOne 金海

golang反向代理实现中的坑位

有态度的马甲

低代码将干掉65%软件开发工作,留给码农的时间不多了!

雨果

低代码

攻击面分析及应对实践

vivo互联网技术

安全 风险管理 互联网安全

开发者有话说|如何成为优秀的前端技术经理

No Silver Bullet

个人成长 技术经理

Zepoch节点开放申请,Web3流支付巨头Zebec利好不断

股市老人

【LeetCode】字符串解码Java题解

Albert

LeetCode 10月月更

Java EE重命名为Jakarta EE:Java EE Guardians与Oracle的分歧_Java_Michael Redlich_InfoQ精选文章