因为与Oracle有分歧,无奈之下的Java EE要换名字了
也许是 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 基金会时,曾明确表示希望 Java EE 重命名。Java EE Guardians 对此设立了一个表单,供 Java 社区提供反馈。所有意见都将发送到 Oracle 的 feedback 邮件群组,同时也将发送给一些 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 曾被 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 能胜出。
不过在 InfoQ 编辑看来,不管名字是否改变,面对 Spring 框架的强力冲击,Java EE 路在何方,现在还不好说。从目前社区热点来看,我只知道,Spring Boot、Spring Cloud 这套框架很受欢迎。
对于 Java EE 更名,以及 Oracle 的策略,亦或者是 Spring 生态,你怎么看,欢迎留言讨论。
推荐一个技术专栏,左耳朵耗子(陈皓)维护的《左耳听风》,每篇文章都是陈皓对自己多年“堵过的枪眼儿”“填过的坑儿”的深入思考和凝练,希望能够轻松应对团队管理、项目管理以及做好技术选型的技术领导者,希望能够快速成长进步的职场新人,广大在工作中遇到各种棘手问题的一线技术人,以及立志成为架构师的人,都能在其中获得帮助和启发。
扫描下图二维码订阅专栏(支持微信支付),现在注册极客时间,还可享受 30 元新人优惠。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 共绘亚太下一个“黄金三十年” 7982207
- 2 山里藏价值6000亿元黄金?村民发声 7994382
- 3 微信或史诗级“瘦身” 内存有救了 7898523
- 4 中国主张成为G20峰会的一抹亮色 7734048
- 5 朝鲜将军队提升至战斗准备状态 7610224
- 6 男生解锁“滑步下泰山”技能 7559090
- 7 女教师被指出轨学生 校方通报 7410130
- 8 带96岁母亲酒店养老遭拉黑 男子发声 7380150
- 9 《小巷人家》全员告别 7296271
- 10 千年古镇“因网而变、因数而兴” 7193076