“To be or not to be,this is the question。”这是莎翁笔下那个最忧郁的王子哈姆雷特的内心独白。

在人生的很多重要阶段,我们都要或主动或被动地做出选择。其中,有些决定可能会左右未来的命运。

在开源商业化方面,Oracle做出了一项新的选择:从2019年1月起,如果没有商业许可,Java SE 8的公开更新将无法用于商业或生产用途。

收费是一把双刃剑

Oracle的这一选择并非心血来潮,可能2009年收购Sun时就已经动了这一念头,只是在等一个恰当的时机罢了。2016年,Oracle对Java收费的苗头初现;2017年,Oracle加大了对违反其许可证要求的Java客户的审查和追缴付款的力度;2019年,收费已在所难免。

天下本来就没有免费的午餐,这已被无数事实所验证。开源并不等于免费,人们明白但很多时候存在侥幸心理。开源商业化这件事一直处于不断探索之中,毕竟开源软件厂商也要赚钱、生存。红帽是将开源技术与成功的商业模式结合得比较好的,所以在开源软件领域一直独秀,直到去年被IBM收购,开启了一段新的旅程。

Oracle针对Java收费,毫无疑问是一把双刃剑:利,实现开源商业化,为公司带来更多收入和利润,同时收费也能让其服务更具水平和价值;弊,那些已经在成百上千台设备中部署了Java的客户可能会患上焦虑症,因为成本的问题、因为涉及到要更换产品和服务商,他们不得不在去还是留这个问题上做出选择。

从Oracle的角度肯定不愿放弃任何一个客户。但是正如智者所云:“两弊相衡取其轻,两利相权取其重。”为了公司的整体商业利益,Oracle必须做出选择,巩固那些付费的重要的大客户,而普通的个人用户或中小企业可能就要自己另谋出路了。

其实,对于厂商的决定,用户大可不必焦虑。常言说,兵来将挡,水来土掩。在关键的转折点上,用户当然也会趋利避害,做出更利于自己未来的选择。实际上,在感觉到Oracle将对Java收费的风吹草动后,一些企业用户已经开始行动。坊间流传,金融等行业一些Java大客户主动来敲IBM的门,寻求可替代的解决方案。

还记得微软收购开源代码库GitHub吗,因为提心平台未来的中立性,一些开发者选择放弃GitHub平台,转而投奔GitHub的直接竞争对手——另一个代码托管平台GitLab。在微软宣布收购GitHub后的一段日子里,GitLab的平台项目导入量和注册用户量出现了大幅增长。Oracle应该会预料到对Java收费后,会流失一定量的用户。不过从现在的情况看,Oracle还是坚决地选择让其商业化的战车轰隆隆地继续前行。

用户可以有其他选择

选择什么样的商业策略,这是厂商的自由。同理,用户会做出怎样的抉择,也拥有充分的自主权。如果用户继续使用原来的旧版本而不再升级,可将Oracle的“收费令”置于脑后,但是如果用户希望持续地升级和更新,并且将软件用于商业或生产用途,那么收费没商量。这是一道再简单不过的选择题。

“是与否”的选择,看上去似乎很简单,但是如果你是一个长期在Oracle Java平台上工作的企业,在进行选择时可能会犹豫。为什么?继续留在Oracle Java平台上并且付费,日益增加的成本怎么办?被单一厂商绑定怎么办?放弃Oracle Java,以前的付出如果付之东流怎么办?迁移到新的平台如果出现问题怎么办?新的平台能否满足应用需求吗?不管如何选择,用户都可能面临一定风险,或许还要经历一段阵痛期。

是有人该挺身而出的时候了!

如果用户选择离开Oracle Java平台,还是有其他选择的。这是Java用户值得庆幸的一点,因为Java早已经是一个大生态,其中的供应商不仅仅是Oracle一家。用户可以选择OpenJDK,IBM、红帽、Amazon、Azure、SAP等都能提供支持。实际上,在Oracle宣布新政之后,IBM、Amazon等已经积极行动起来,推出了帮助Oracle Java原用户实现平滑迁移的解决方案。

IBM Runtimes for Business就是用户的一项新选择。对于Java来说,IBM并非一名“闯入者”,而是一直浸润在Java的沃土中。从最初的Sun时代直到Oracle时期,IBM都是Java授权的长期持有者。而除了拥有技术授权以外,IBM还有使其提供的Java版本符合Java Compatibility Kit的义务,并且独立地提供Java中许多符合规范的组件。可以肯定地说,IBM提供的Java服务可以保证连续性和一致性,以及服务品质。

从OracleJDK迁移到IBM Runtimes for Business,能否轻松、安全地实现?这可能是绝大多数准备进行迁移的用户最大的担心。事实上,对于相同的功能和行为,Oracle的Java与IBM Runtimes for Business的Java使用的都是OpenJDK,几乎在所有情况下,都无需对应用进行更改。另外,如果用户担心自己的技术能力不足以应对迁移,那么IBM Runtimes for Business的支持渠道可以提供优化和调优指导,以及其他相关的帮助。

大多数情况下,如果能够拥有更好的成本、更优的体验,用户是没有理由拒绝的。从成本的角度分析,从IBM公开的价格列表看,IBM Java的价格最低不足Oracle的56%。Oracle的政策是,用户必须为每个服务器和桌面支付费用,才能获取支持、安全补丁和更新。而采用IBM的解决方案,仅需针对用户想要获取支持的服务器和桌面支付费用即可,其他的服务器和桌面,则可利用免费的社区支持。这对于降低长期使用成本是十分有效的。

对于广大的Oracle Java用户来说,现在是要做出选择的时候了!

信息化和软件服务网 - 助力数字中国建设 | 责编:左右