年末展望:Oracle 对 JDK收费和.NET Core 给我们的机遇

2018年就结束了,马上就要迎来2019年,这一年很不平凡,中美贸易战还在继续,IT互联网发生急剧变化,大量互联网公司开始裁员,微软的市值在不断上升 ,在互联网公司的市值下跌过程中爬到了第一的位置,我们展望2019年,相信前方的坑很多,这里想聊下一个和我们的工作生活息息相关的问题,那就是Oracle 对 JDK收费和.NET Core 给我们的机遇。 

Oracle宣布,"2019年1月之后",如果没有商业许可,Java SE 8公开更新将无法用于"商业,商业或生产用途"。组织现在需要对运行Java SE 8的所有软件进行评估,并开始计算明年他们正在寻找的潜在账单。

640?wx_fmt=png

图片截自

https://www.oracle.com/assets/java-se-subscription-pricelist-5028356.pdf

国内又有那些互联网公司是使用Java作为核心技术的公司呢?这些公司是否给Oracle付费了,是否所有服务器都付费了呢?中国的政府机构又有多少需要给Oracle付费购买授权?中美贸易战的90天限期谈判在继续, 打击侵犯知识产权,中国已经在行动。新加坡亚洲新闻台报道说,中国38个部门12月4日发布联合政策,以应对一系列侵犯知识产权的行为。中国拟在这一领域建立一个“社会信用体系”,公布全国范围内严重侵犯知识产权者的名单。12月5日耿爽表示,中美双方关于知识产权问题的讨论一直在进行,从没有停止过。中方在这一问题上的立场和态度,美方是非常清楚的。中方也将继续致力于在下一步磋商中,同美方共同探讨妥善解决有关问题的办法。

阿里巴巴

腾讯

唯品会

京东

快手

携程

美团

....

 

这些互联网只有阿里巴巴有自己的AJDK(基于openJDK 魔改),其他的小公司呢? 当然其实并不一定摇给钱,只要JDK永远只使用JDK 8u192版本。

首先我们要搞清楚JDK到底是什么?

JDK != Oracle JDK

由于Oracle长久以来提供近乎免费的 JDK,让大多数Java的用户错误的以为JDK就是 Oracle公司的那个 Java Development Kit。其实,Oracle也有一个免费的社区版JDK:OpenJDK。另外,IBM、Azul、Redhat等都有自己的JDK产品公开发布,企业用户也大有人在。

前2年Android系统就因为Java的授权问题被Oracle给告了。而机智的Oracle这次又在JDK的收钱套路上给用户准备好了律师函,Oracle律师团队整装待发。

其次,我们要搞清楚对我们的影响是什么?

从Oracle JDK发布以来,一直采取的策略是,经过多年的免费支持以后,该Oracle JDK版本EOL(End of life),然后让出领导权,由社区接手并主导后续更新事务。 但是,Oracle JDK 8经过了近5年的发展,仍然很受欢迎,用户没有准备好,也没有足够动力去升级,更不用提好多还在用JDK 6、7的用户了。

此次,OracleJDK 8只是在支持了近5年后,停止了免费更新,注意是"更新"。继续使用JDK8的用户,和目前停留在JDK 6、7的用户没有什么不同。为方便理解,大家可以对比现在还使用Windows 7或XP的客户,仅是无法获取安全更新,但并不会丧失使用的权力,这取决于用户自己的判断和选择。

那如果还想要得到JDK8 的更新怎么办?

这个就要看你使用的是什么JDK了,咨询下相应厂商的策略吧。大多数企业用户应该是在使用Oracle JDK,那么就需要订阅Oracle JDK支持服务才可以更新了,当然个人用户还可以继续免费更新到2020年12月。其他如Azul、Redhat、IBM等厂商的用户也是需要确认相关路线图,对于JDK 8的用户,这是唯一可能需要掏钱的情况。

那么,有人说 "我公司想要使用JDK 11等新版本,但不想付费,怎么办?"

企业用户仍然有可靠途径获取免费的JDK,既可以使用Oracle等发布的GPL协议的OpenJDK,也可以使用AdoptionOpenJDK社区等发布的OpenJDK产品,甚至是有能力的用户自己从源码构建!

引申:"Java是GPL授权,我是不是要将Java开发的应用也开源?" 不,这纯属无稽之谈,Java开发的应用与OpenJDK的GPL授权没有关系!OpenJDK的GPL授权,只会约束基于OpenJDK源码生产并发布JDK产品的厂家,而不是Java开发的应用,绝大部分用户根本就不可能是JDK生产商,所以这个担心完全没有必要,而且,Java不是今天才开源的,使用GPL授权的开源项目比比皆是,如Linux,这也是业界最普遍、最受欢迎的授权选择之一。微软为Xamain的Android开发发布了自己的微软OpenJDK, 可以在安装Visual Studio 的移动开发里面看到,我猜测微软也会发布全功能的OpenJDK, 毕竟Visual Studio 2019和 Visual Studio code支持Java开发了。

众多没有能力开发维护OpenJDK的公司完全可以转向更具有竞争力的.NET Core,.NET Core从属于.NET基金会,由微软进行官方支持。使用最宽松的MIT和Apache 2开源协议,文档协议遵循CC-BY。这将允许任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示,后者协议将会除了为用户提供版权许可之外,还有专利许可,并且授权是免费,无排他性的(任何个人和企业都能获得授权)并且永久不可撤销,用户使用.NET Core完全不用担心收费问题,你可以很自由的部署在任何地方,。

现在是云计算时代,.NET Core已经磨练5年时间,准备好了迎接云计算时代的云原生应用开发,云系统中,用更少的硬件为更高密度的用户提供服务是非常重要的。应用程序的占位面积越小,密度越高。容器只包含应用程序及其依赖项。文件大小要小很多倍,启动时间以秒为单位,只有应用程序加载到内存中,容器保证在任何主机上工作。鉴于容器的明显优势,.NET Core的设计决定之一就是使其成为模块化。这意味着你的.NET Core应用程序可以被"发布",使得它和它的所有依赖关系在一个地方,这很容易放入容器。

2018年8月我看好.NET Core的未来发展前景,离开工作11年的腾讯创立一家以.NET Core技术为主的公司在中国地区开展帮助企业从.NET 转向.NET Core的咨询服务,目前为止,我已经服务四家客户,客户的分布很典型,其中不凡大企业,也有进入B轮的工业互联网创业公司,也有传统的医疗行业,他们都有共同的特点是当年创业赚钱的业务系统使用.NET技术构建的,现在面对的一个环境,大量的公司在被忽悠转Java,他们自己也有系统使用Java构建,但是和.NET Core相比较,整体的成本增长很可观,例如项目的开发周期和团队规模被放大1/3,运营的服务器成本放大1倍以上,同样是跑在K8s集群上,.NET Core应用所需资源是Java应用的1/4到一半。

2018年年末的听到大量的互联网公司裁员消息,但是我服务这几家客户都有很强烈的招聘.NET Core开发人员的需求,这是大量学习Java的同学转向.NET Core平台的好时机,我一直认为做Java开发的同学比做传统.NET的人员更容易用好.NET Core, Java相比C#,在使用了C#后你不会再去想用Java,而且.NET Core有你非常熟悉的Spring Cloud那一套约定的编程范式,然而见过很多.NET 开发人员, 依赖注入都没用过,更别说用Linux了。在这里我没有贬低.NET开发人员的意思,技术更多的还是要靠自己的努力,我们努力一起成为一群不被时代抛弃的程序猿。

640?wx_fmt=jpeg

原文地址: https://www.cnblogs.com/shanyou/p/10198757.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

等比数列三角形 (数论 + 黄金分割点)+ JOISC 2016 Day3 T3 「电报」(基环树 + 拓扑排序)

文章目录T1:等比数列三角形题目题解代码实现T2:电报题目题解代码实现T1:等比数列三角形 题目 求三边都是 ≤n 的整数,且成等比数列的三角形个数 注意三角形面积不能为 0 注意 oeis 中未收录此数列,所以并不需要去搜了…

使用PerfView监测.NET程序性能(三):分组

在上一篇博客使用PerfView监测.NET程序性能(二):Perfview的使用中,我们通过Perfview帮助文件中自带的代码来简单使用了Perfview,了解了基本操作。现在来看看Perfview中的分组操作(Grouping)。分…

【做题记录】构造题

CF468C Hack it! 题意: 令 \(F(x)\) 表示 \(x\) 的各个位上的数字之和,如 \(F(1234)123410\) 。 给定 \(a(a\le 10^{18})\) ,请求出任意一组 \(l,r(l,r\le 10^{200})\) ,要求满足: \[\sum_{il}^{r}F(i)\pmod{a}0 \]输出…

Star Way To Heaven (prim最小生成树) // [ NOIP提高组 2014]飞扬的小鸟(DP)

文章目录T1:Star Way To Heaven题目题解代码实现T2:飞扬的小鸟题目题解代码实现T1:Star Way To Heaven 题目 小 w 伤心的走上了 Star way to heaven。 到天堂的道路是一个笛卡尔坐标系上一个 n*m 的长方形通道 顶点在 (0,0) 和 (n,m) 。 小…

IdentityServer4-客户端的授权模式原理分析(三)

在学习其他应用场景前,需要了解几个客户端的授权模式。首先了解下本节使用的几个名词Resource Owner:资源拥有者,文中称“user”;Client为第三方客户端;Authorization server为授权服务器;redirection URI&…

[2019 牛客CSP-S提高组赛前集训营4题解] 复读数组(数论)+ 路径计数机(数上DP)+ 排列计数机(线段树+二项式定理)

文章目录T1:复读数组题目题解代码实现T2:路径计数机题目题解代码实现T3:排列计数机题目题解CODET1:复读数组 题目 有一个长为nk的数组,它是由长为n的数组A1,A2,…,An重复k次得到的。 定义这个数组的一个区间的权值为…

微软携手 Docker 打造 CNAB,分布式应用来了!

微软中国MSDN 前天Microsoft Connect(); 2018发布的众多最新科技,都让全球开发者惊艳不已。其中一项最令开发者瞩目并迫不及待——微软联合Docker发布了云本地应用捆绑包(Cloud Native Application Bundle,以下简称CNAB)&#xff…

[C++]试一试结构体struct node的构造函数

可直接点击跳转到构造函数处结构体概念定义结构体定义结构体及结构体变量结构体变量的特点成员调用成员函数调用结构体的构造函数Upd1Upd2Upd3结构体概念 在实际问题中,一组数据往往具有不同的数据类型。 例如:人口大普查时,需要记录每一个人…

[多校联考-西南大学附中]切面包(线段树/概率与期望)+ Slow Path Finding Algorithm(拓扑排序/DP)+ 分数转化(数论)

文章目录T1:分数转换题目题解代码实现T2:Slow Path Finding Algorithm题目题解代码实现T3:切面包题目题解代码实现T1:分数转换 题目 Time limit: 1.5 seconds Memory limit: 512 megabytes 给定一个十进制小数,请你…

P3992 [BJOI2017]开车

P3992 [BJOI2017]开车 题意: 题解: 我们要先将问题转换 圈是车,x是加油站。红色部分为车移动的路线 数组a是车数量的前缀和 数组b是加油站的前缀和 而a[i]与b[i]的差的绝对值就是对应的红色路被走的次数 现在车发生位置移动,b数…

IdentityServer4-MVC+Hybrid实现Claims授权验证(四)

上节IdentityServer4-客户端的授权模式原理分析(三)以对话形式,大概说了几种客户端授权模式的原理,这节重点介绍Hybrid模式在MVC下的使用。且为实现IdentityServer4从数据库获取User进行验证,并对Claim进行权限设置打下…

漫谈何时从单体架构迁移到微服务?

面对微服务如火如荼的发展,很多人都在了解,学习希望能在自己的项目中帮得上忙,当你对微服务的庐山真面目有所了解后,接下来就是说服自己了,到底如何评估微服务,什么时候使用微服务,什么时间点最…

[CSP-S Day1,Day2 游记]提高组考后总结及学习编程C++以来的心得体会

怀着沉重而感慨的心情写下了这篇blog考试中暴露的问题Day1Day2综上解决方法学习历程及以来的心得体会职业精神这篇博客我可能会写好几天,我jio得这篇博客对我的学习历程以及态度产生深刻影响考试中暴露的问题 首先先说这次提高组考试的每道题所遇到的各种问题吧 Da…

【.NET Core项目实战-统一认证平台】第十二章 授权篇-深入理解JWT生成及验证流程...

上篇文章介绍了基于Ids4密码授权模式,从使用场景、原理分析、自定义帐户体系集成完整的介绍了密码授权模式的内容,并最后给出了三个思考问题,本篇就针对第一个思考问题详细的讲解下Ids4是如何生成access_token的,如何验证access_t…

P5049 [NOIP2018 提高组] 旅行

P5049 [NOIP2018 提高组] 旅行 题意: 一棵树(可能是基环树),从1出发,每到达一个新的点就记录下编号。求一种走法使得记录下来的编号字典序最小。 1≤n≤500000 mn−1 或 mn 题解: 如果不是基环树,那直接每次走字典…

[2019CSP-S Day1]提高组Day1题解(格雷码[模拟(k转二进制取反的做法带证明)] + 括号树[DP] + 树上的数(暴力+菊花图+单链))

Day1T1:格雷码题目题解代码实现T2:括号树题目题解代码实现T3:树上的数题目10pts暴力题解代码实现25pts菊花图题解代码实现25pts单链题解代码实现T1:格雷码 题目 通常,人们习惯将所有 n位二进制串按照字典序排列&…

使用PerfView监测.NET程序性能(四):折叠,过滤和时间范围选择

在上一篇文章使用PerfView监测.NET程序性能(三):分组中,我们使用了Perfview的分组功能。分组功能旨在对某些函数按照某个格式进行分组,以减少视图中的各种无关函数的数量。但仅有分组还不够,有时我们想将一…

带旋treap概念及模板,带例题:普通平衡树

带旋Treap二叉查找树BST(Binary Search Tree)定义Treap定义模板合集(均为O(logn)O(logn)O(logn))push_up模板旋转模板插入模板删除模板查找前驱模板查找后驱模板查找键值key模板查找节点的修正值rank模板PS:rd的比较问题例题:普通…

微服务系列实践 .NET CORE

从事这个行业转眼已经6年了,从当初刚毕业的在北京朝八晚十,从二环到五环,仍每天精力充沛的小愤青;再到深圳一点一滴的辛勤在软件行业的耕种,从当初单体应用架构到现在微服务架构的经历,回想起来自己的收获倒…

P2607 [ZJOI2008]骑士

P2607 [ZJOI2008]骑士 题意: n个点n个边,每个点都有权值,相邻的点不能同时选择,问如何选择能使得权值最大 题解: 这个题很有P1352 没有上司的舞会这个题的感觉,唯一的区别是那个题保证是树,…