(给程序员的那些事加星标)
原创:程序员的那些事(id:iProgrammer)
5 月 5 日,知名 IT 资讯聚合站 Hacker News 有个热帖:《谈判失败:甲骨文是如何扼杀 Java EE》,作者 Markus Karg 是一个 Java Guru,做软件开发已有 30 多年。
Karg 的文章在 HN 引发的讨论相当激烈,480 多个评论。
讨论缘由是 5 月 3 日 Eclipse 基金会主席 Mike Milinkovic 公开了他们和甲骨文之间有关 Java 商标谈判的一些进展。
Karg 看到谈判进展后,认为 Java EE 要完了!
这是一个什么的瓜呢?
小知识:2009 年甲骨文收购了 Sun 公司,所以 Sun 家的 Java 也归了甲骨文。
这瓜得从两年前说起。
2017 年 9 月,在经过一系列刷选和讨论后,甲骨文决定把 Java EE 捐赠给 Eclipse 基金会了,并且甲骨文在 Eclipse 基金会拿到了一个董事席位。
不过,甲骨文捐赠是有条件的,不允许 Eclipse 基金会使用 Java 相关商标。
好吧,你说不让用就不用呗。于是 Eclipse 基金会经过投票,Java EE 在 2018 年 3 月有了新名字 Jakarta EE。
改名这事算是过去了,但后来在移交 Java EE 过程又出事了。
甲骨文提出了一系列让人无法接受的要求,有些要求甚至会让 Eclipse 基金会面临严重危险。
1. 甲骨文声称,Eclipse 基金会发布的产品必须捆绑甲骨文及其授权方特别认证的 Java runtime。其他供应商认证的 Java runtime,不行!
这一限制在谈判开始时没有被告知,而是在很久以后才提出的,当时已经在进行转让。
如果接受这个条件,那 Eclipse IDE 和 GlassFish 将不再是供应商中立的产品。非中立产品,可能导致 Eclipse 基金会的免税政策失效。也将意味着 Eclipse 基金会的财务灾难,或者可能意味着该组织的终结。
2、Eclipse 基金会可以使用 Java EE 项目旧代码,不能做任何修改。如果要修改,必须要重命名,包括项目名称和软件包的名称。(比如:JAX-RS 和 javax.* )
这意味着,在进行了密集的重构之后,如果不重新编译应用程序,现有的应用程序将无法在更新的平台上运行。
这又是一个灾难!Java 的「 一次编写到处运行」原则将失效咯!
恐怕没有哪个软件供应商会花钱和时间,重新编译然后更新所有客户程序!
Java EE 的未来在哪里?
前文已提到,甲骨文在 Eclipse 基金会有一个董事席位,那些需要董事一致同意的决策,甲骨文可以一票……
在 Markus Karg 看来,经过漫长的秘密谈判,虽然 Eclipse 基金会挽救了 Jakarta EE 商标的某些价值,但它基本已经是一个空壳商标了,不再是 Java EE 全球标准的继承者。
所以,Karg 认为甲骨文已扼杀了 Java EE。
网友评论
开头已提到 Karg 的文章在 HN 上引发热议,末尾摘编几个。
网友 bborud 的留言:
Oracle 把 Java 搞成了所有项目的风险因素。两年前,在我们转换到 Go 之后,我就不再批准团队新项目采用 Java。这不是我们轻易做出的决定,我花了近十年的时间才习惯离开 Java。
但这是正确的做法。甲骨文不值得信赖。
网友 vfc1 评论:
多年来,Java 生态系统一直在慢慢消亡。Java 堪比新时代的 Cobol 了。
我发现很多人(特别是前端工程师)已经通过 Typescript / Angular 路径转向了 Node 和 JS 生态系统,这对于 Java 开发者来说是一种自然的路径,因为静态类型、类等熟悉的概念给了他们舒适的感觉。
以前我用 Java 时,我总是发现 Spring 是一个比 Java EE 好得多的框架,然后我在大多数项目中都用了 Spring。
甲XX 并没有从微软吸取教训,而是真的表现得像一个邪恶的企业霸主。
很明显,他们收购 Sun 是为了慢慢地将 Java 变成私有,并在接下来的几十年里向现在完全基于 Java 的公司收取数十亿美元的费用。
我很高兴自己看到了不祥之兆,并且没再用 Java 了,但很多学校还是在用 Java 教学,尤其大学课程很难适应,并且每 4~5 年才会变更课程。
往期热文(点击图片即可阅读)
关注「程序员的那些事」加星标,不错过圈内事
圈内事,我在看❤️