首页 运维资讯Oracle已对Java失去兴趣?Java社区能否扭转乾坤?

Oracle已对Java失去兴趣?Java社区能否扭转乾坤?

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

Oracle

去年Oracle对Java传教士进行裁员,更早前宣布将暂时停止继续为GlassFish Server发布大型版本更新并对相关支持进行限制。坊间一时间流言四起:Oracle将要放弃Java?Java社区的明天会怎样?

借Java EE守护者联盟之力拯救Java EE

随着去年Oracle对Java传教士进行裁员,以及更早前宣布将暂时停止继续为GlassFish Server发布大型版本更新并对相关支持进行限制,一群Java标准的支持者开始以“Java EE守护者”的身份自居,并通过一个章程宣告他们将努力拯救Java EE。

Java EE守护者是名副其实的Java权威人士,其成员包括“Java之父”James Gosling、前任技术传教士Reza Rahman,以及其他很多知名的Java技术人员。

这个群体的创始人,Java EE/GlassFish前任传教士Reza Rahman称:

目前我们在Google Group聚集了将近400名成员,我们的Twitter账号也有近2000名关注者。

虽然受雇于Oracle,这些“步兵”依然在努力推动Java技术继续发展。然而他们提供的统计数据显示出Java EE开发热潮正面临严重的衰退。从他们网站上提供的图表中可以很清楚地看到,问题的解决数量和版本的提交数量均有双双下滑的趋势。

Oracle

Java社区

按照Oracle的辩解,该公司似乎已经将未来发展方向全面转向云计算。

虽然Java EE守护者也认同云计算的重要性,但同时他们也表示:

尽管如此,依然有越来越多的证据表明Oracle正在非常明显地忽视Java EE,逐渐削弱娴熟的Java EE开发者所建立的完善生态系统。除非情况很快出现转机,否则无论按照最初的承诺是否能顺利发布,Java EE 8的交付很可能变得遥遥无期。

Oracle为何采取这种忽视的态度,这种态度又到底会持续多久,这些事情还很难说。就算面对最“亲密”的合作伙伴,Oracle也没有透露自己的动机,只是留下整个社区自生自灭。有一种令人非常不安的可能性认为,Oracle这样做是为了逐渐脱离基于开放式标准的协作式开发方法,转为追求一种高度专有的单方向方法。

Java EE守护者的章程所追求的是一种更为“理性的战略”,希望通过为整个业界提供支持以“解决这个棘手的问题”:

按照承诺,我们依然需要对Oracle这种体量、业务范围,以及资源规模的公司施加必要的影响力。说服Oracle 充分考虑外部用户(甚至该公司客户)的合法权益,以往的经历证明这种方法充满着挑战。此次继续这样做依然有很大可能无法成功,但我们始终要保持足够的理性和乐观。Java EE社区需要你的帮助。我们需要你的意见支持,甚至可能的情况下需要你自愿付出一定的时间,帮助我们这次取得成功。你可以通过各种方式为我们提供帮助。

从Oracle的观点来看,很可能觉得已经不值得继续为Java EE或其他Java技术提供支持。JavaFX依然没有按照预期获得足够的关注,NetBeans IDE依然只占有10%的市场份额。InfoQ向Rahman问到对于无法实现“逃逸速度”的技术继续进行巨大的投入所能获得的价值:

我能告诉你的是,Netbeans是一种很优美的IDE。只要能妥善运用,NetBeans就能获得成功。

最开始JavaFX并不是一种多么优雅的API,并且当时看来后续改进和完善的余地并不大。但这个技术还没有糟糕到要被我们抛弃的地步。汽车仪表盘可能运行在JavaFX之上,浏览器也可能如此。Java需要一种前端技术,JavaFX与TLC的配合填补了这项空白。

移动领域也是如此,虽然也有问题,但依然有必要继续完善和改进,市面上也有不少公司愿意继续完善这项技术,因为这里面依然存在着问题空间(Problem space)。

  • 本部分翻译已获授权,原文链接:
  • https://www.infoq.com/news/2016/06/JavaEEGuardians
  • 本部分译者:大愚若智

Java EE停步不前:Java社区能否扭转乾坤?

最近大家围绕Oracle对Java EE的承诺有很多顾虑。Pivotal公司Spring Data项目主管兼JPA 2.1专家组成员Oliver Gierke最近向Jaxenter提到Oracle明显已经对Java EE 8失去兴趣,此外还介绍了这些情况可能对Java社区产生的影响。

Java EE 7发布几个月后,Oracle于2013年11月发布博客文章公布了有关Java EE 8的路线图:

在发布Java EE 7和GlassFish Server Open Source Edition 4之后,我们开始规划Java EE 8路线图,并通过JavaOne Strategy主题演讲进行了介绍。总结来说,我们的兴趣主要集中在改进对HTML5的支持、云计算,以及调查对NoSQL的支持等方面。对于大家想在Java EE 8中看到的改进,社区和客户为我们提供了一些很棒的反馈。

简单来说,Oracle对Java EE的未来做出了承诺。Java EE 7已正式发布,有关Java EE 8的规划工作也已开始。

在那之后,Oracle在博客文章中所表现出的热情似乎彻底停摆了。Oracle在2015年6月发布的博客文章向Java社区通告了有关Java EE 8路线图的最新近况:

我们为自己设立的目标是在JavaOne San Francisco 2016开始前完成相关工作。虽然我们都喜欢在JavaOne做出(并听到)一些大事情,但在启动专家组过程中遇到的各种延迟以及我们的规范管理者在时间方面遇到的其他要求导致发布日期需要略微延后。我们依然会在Java EE平台的开发过程中遵循有关透明度的承诺。因此公开宣布要将完成这一工作的目标时间正式推后至2017年上半年。

Java EE 7发布两年后,Oracle告诉Java社区他们还要再等等。在被问到有关Java EE 8的具体情况时,Gierke 说:

从全球视角来看,Java EE 8基本上还在继续延续着Java EE 7那老生常谈的故事:继续执着于其他参与者已经逐渐不感兴趣的领域。在我看来,这是因为所有主要对手都已经开始将目光转向自家的云计算产品(Oracle有Oracle Cloud,Red Hat有OpenShift,IBM有Bluemix,当然Pivotal也有Cloud Foundry)。

JSR 372和JSR 378专家组成员Josh Juneau于2016年4月发布的博客文章中谈到了自己的看法。经过调查,Juneau发现由非Oracle规范管理者所控制的JSR比Oracle的规范管理者所控制的JSR更活跃。JSR 372的提交数量也有显著下降(见下图)。Juneau认为2015年10月之后的大部分工作都是由Java社区,主要是Arjan Tijms完成的,此人是Bauke Scholtz的共同创始人兼开发主管,同时也是ZEEF的共同创始人兼Web应用程序专家。

Java社区

InfoWorld特约编辑Paul Krill最近撰写的一篇文章中提到,James Gosling发现Oracle的行事方式让人“非常不安”:

Oracle恐怕不会继续为EE提供太多支持,而是转由社区合作提供…将其“专有化”,通过“廉价汽车旅馆”的模式推行不规范的标准,“客户只需要办理入住手续,从不需要退房”。

Spring 5和Java EE

Krill于JavaOne 2010期间发布的一篇关于Java EE座谈会的文章中介绍了有关Spring和Java EE的争论:

“我绝不会将Spring与Java EE 6混为一谈,因为重叠的地方太多了,”身为顾问、作者,以及演讲者的Adam Bien这样说。另外他还提到同时使用Spring和Java EE的注解会导致复杂的问题。

他说:“对于大部分项目,我的个人意见是将它们区分对待,使用Spring或Java EE 6都行。”然而开发者也可以在EE 6的基础上使用Spring工具,Bien这样说到。

但是Caucho Technology的首席工程师Reza Rahman更担心这两种技术之间的竞争。“Java EE需要Spring,正如Spring也需要Java EE,”Rahman说。

大概六年后,原Oracle Java EE布道师,现任CapTech Ventures顾问的Gierke给出了与Rahman类似的看法:

据称Spring和Java EE之间的关系以竞争为最主要特点。然而如果仔细研究很快你就会发现,这两者之间曾经(并且目前依然)存在协同增效的作用,它们之间的关系不是非黑即白的,中间有很多灰色地带。

一方面,某些情况下Spring是以Java EE规范为基础构建而来的,因此如果没有Servlet API,很难想象Spring MVC能发展成为目前这种形式。另一方面,框架始终都为最重要的规范提供了支持。

另外要注意,虽然Spring依赖Servlet API,但最初发布的Spring 5并不包含新的Servlet 4.0 API。对此Gierke解释说:

对我们来说,Java EE 8中最重要的部分在于Servlet 4.0 API及其对HTTP 2.0的支持。某种程度上这是可以预见的,但在我们最终正式发布Spring 5之前一切都尚无定论,我们目前正在与最重要的Servlet容器实现者(Tomcat、Jetty、Undertow)密切合作,以确保能在第一时间使用他们提供的原生API实现对HTTP 2.0的支持。

Java社区能扭转乾坤吗?

Oracle于2015年6月发布的博客文章鼓励Java社区提供帮助:

鉴于目前的这些变化,你将有更多时间和机会参与其中。

我们会继续鼓励开发者追踪JSR并通过各种JSR邮件列表和维基,下载并尝试Java EE 8参考实现的早期版本等方式提供反馈。我们已经看到很多人不仅对Java EE 8的功能感兴趣,而且已经参与了进来。

然而 Krill于2015年9月发布的文章称,InfoWorld收到了来自Oracle前任高级雇员的邮件,邮件部分内容摘录如下:

Oracle根本没兴趣为竞争对手做嫁衣,也不想共享自己的创新成果。

该公司正在逐渐抛弃Java EE(Enterprise Edition),但并不希望别人继续完善Java或Java EE,同时还在逐渐冷落JCP(Java Community Process)。“他们抱有一种赢家通吃的心态,对合作根本没兴趣。”

这封邮件建议JCP成员向Oracle客户发送公开信,警告他们Java目前遭受的待遇。Oracle绝对不会与任何“Java基金会”进行合作,也不准备公开自己的知识产权。

在最近的一篇文章中,Juneau解释了Oracle有必要推进Jave EE继续发展而不应放弃的重要原因:

很明显,为确保安全性并保证能继续使用目前的API,这些技术需要继续发展和完善。如果有人只是简单地想要Java EE停步不前,这意味着所有部分或全部运用Java EE的应用程序和服务(可能是我们所熟知的互联网上的很多东西)都将受到影响,无法继续发展以符合当今技术和安全方面的要求。

Gierke很高兴看到社区围绕Java EE 8做出的诸多举措,然而他也警告说:

我认为有一方面还没有引起大家足够重视,这个问题其实还挺危险:这个问题与我们到底能围绕Java EE聚集多少社区成员完全无关,但是由于许可方面的原因,对于Oracle所控制的JSR我们几乎束手无策。

除非愿意对Oracle采取一些法律行动,否则这个问题完全无解。我不确定是否有人愿意这样做,以前有人对Google这样做的结果大家都知道的。因此我觉得在不可行的情况下建议大家采取措施,这一点显得有些奇怪。

Java EE守护者

在年初从Oracle离职后,Rahman成立了Java EE守护者联盟,意在推动Java EE继续发展,尤其是:

  • 宣传Java EE 8。
  • 为Java EE 8 JSR提供支持。
  • 游说Oracle履行有关Java EE 8的承诺。
  • 设法将停滞的Oracle JSR转手给其他供应商。

Java EE守护者联盟提供的证据证明Oracle在Java EE 8的发展方面全无进展,并鼓励Java社区签署请愿书,该请愿书将递交给Larry Ellison。InfoQ之前发布的文章也针对这一话题展开了漫长的讨论。

作为对Oracle失去有关Java EE 8兴趣所做的总结,Gierke表达了自己的想法:

如果这事的影响力不是那么深远或严重,大家可能会觉得目前的情况有些讽刺:Spring堆栈以前被视作专有的,因为该技术的开发只得到一家公司的支持。在某些人乐观的想法看来,Java EE堆栈始终都是完全开放,并且由社区驱动的。现在就因为一家公司失去了对Java的兴趣,整个Java世界天翻地覆了。

  • 本部分翻译已获授权,原文链接:
  • https://www.infoq.com/news/2016/07/Java-EE-8-Stagnating
  • 本文译者:大愚若智
  • 文章出处:InfoQ

本文链接:https://www.yunweipai.com/8446.html

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部