负责任的说,Java仍然免费
最近有关Java收费的谣言不断,本不想对此发表评论,毕竟一些负责任的媒体早已经澄清了多次,我自己的立场也不中立,而且,仔细阅读那些文章,你会发现往往第一句话就是自相矛盾的呀。
不过,还是有一些企业的朋友不断咨询,甚至包括一位曾经工作于Java组的前同事,以后使用Java是否真的存在法律风险吗?Java未来还会发展吗?看来谣言带来的换乱超出了想象。
有鉴于此,明确一点,Java仍然免费!并且针对大家的主要疑问,谈谈个人的观点:
第一,“我公司想要使用JDK 11等新版本,但不想付费,怎么办?”
企业用户仍然有可靠途径获取免费的JDK,既可以使用Oracle等发布的GPL协议的OpenJDK,也可以使用AdoptionOpenJDK社区等发布的OpenJDK产品,甚至是有能力的用户自己从源码构建!
第二,“我不想升级JDK,目前的JDK 8还可以继续使用吗?”
当然可以!这就是正常的软件EOL,OracleJDK 8只是在支持了近5年后,停止了免费更新,注意是“更新”。继续使用JDK8的用户,和目前停留在JDK 6、7的用户没有什么不同。为方便理解,大家可以对比现在还使用Windows 7或XP的客户,仅是无法获取安全更新,但并不会丧失使用的权力,这取决于用户自己的判断和选择。
第三,“如果还想要得到JDK 8的更新怎么办?”
这个就要看你使用的是什么JDK了,咨询下相应厂商的策略吧。大多数企业用户应该是在使用Oracle JDK,那么就需要订阅Oracle JDK支持服务才可以更新了,当然个人用户还可以继续免费更新到2020年12月。其他如Azul、Redhat、IBM等厂商的用户也是需要确认相关路线图,对于JDK 8的用户,这是唯一可能需要掏钱的情况。
第四,“Java是GPL授权,我是不是要将Java开发的应用也开源?”
不,这纯属无稽之谈,Java开发的应用与OpenJDK的GPL授权没有关系!
不止一个朋友表示了对Java GPL v2 +CPE协议授权的担心,源头似乎是最近某开源项目的宣传卖点,这个只能是佩服其想象力和价值观了,连GPL都能成为攻击点,真是掌握了核心竞争力了~
OpenJDK的GPL授权,只会约束基于OpenJDK源码生产并发布JDK产品的厂家,而不是Java开发的应用,绝大部分用户根本就不可能是JDK生产商,所以这个担心完全没有必要,而且,Java不是今天才开源的,使用GPL授权的开源项目比比皆是,如Linux,这也是业界最普遍、最受欢迎的授权选择之一。
好了,不在这种问题上纠缠了,态度严肃的IT决策者可能一直就觉得这是个笑话,也许大家会好奇,为什么Java最近引发了如此的困惑呢?
个人认为,这是历史原因和OpenJDK社区正在发生的变化叠加的影响,而且国内的部分自媒体也只在乎是否博眼球:
第一,JDK != Oracle JDK
长久以来,由于Oracle提供了近乎“免费”的JDK,让大多数Java用户,尤其是个人和中小企业,产生了这样一种错觉“JDK = Oracle JDK”,尽管,IBM、Azul、Redhat等都有自己的JDK产品公开发布,企业用户也大有人在。这种深度和自然的依赖,导致JDK 8免费支持期的结束令人产生了巨大的不适应。
第二,JDK 8等太成功了,后续的JDK得到采纳还需要一个过程。OpenJDK一个约定成俗的做法是,经过多年免费支持以后,该Oracle JDK版本进入EOL(End of Life),然后让出领导权,由社区接手并主导后续更新事务。
但是,JDK 8经过了近5年的发展,仍然很受欢迎,用户没有准备好,也没有足够动力去升级JDK,更不用提好多还在用JDK 6、7的用户了,这也许是所有基础软件面临的困扰吧。
第三,OpenJDK的权力中心正在向社区转移!Java正在逐步采用更加快速的迭代周期(半年一个大版本),更加开放的产品特性(Oracle开源了ZGC、AppCDS、JFR等)和更积极的社区协作(例如,ProjectSkara项目将把OpenJDK代码库等切换到github)等。
虽然长远来看很可能是利好,但不可避免地带来了困惑,因为开发者需要对Java生态的长久信心,企业IT决策者需要可预计的Java路线图,这些恰恰是往往来源于核心厂商的长期主导,“自由职业者其实最喜欢的就是五险一金!”。
好了,最后再次明确,Java仍然免费,OpenJDK正在变得并且更加开放和活跃,Java/JVM拥有清晰的发展路线图,时间会说明一切。套用官宣用语,Java开发者和IT决策者可以吃下“定心丸”了:-)
本文作者:杨晓峰
本文来自云栖社区合作伙伴"技术琐话",了解相关信息可以关注"技术琐话"。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript 的这个难点,毁掉了多少程序员?
1.this 适合你吗? 我看到许多文章在介绍 JavaScript 的 this 时都会假设你学过某种面向对象的编程语言,比如 Java、C++ 或 Python 等。但这篇文章面向的读者是那些不知道 this 是什么的人。我尽量不用任何术语来解释 this 是什么,以及 this 的用法。 也许你一直不敢解开 this 的秘密,因为它看起来挺奇怪也挺吓人的。或许你只在 StackOverflow 说你需要用它的时候(比如在 React 里实现某个功能)才会使用。 在深入介绍 this 之前,我们首先需要理解函数式编程和面向对象编程之间的区别。 2.函数式编程 vs 面向对象编程 你可能不知道,JavaScript 同时拥有面向对象和函数式的结构,所以你可以自己选择用哪种风格,或者两者都用。 我在很早以前使用 JavaScript 时就喜欢函数式编程,而且会像躲避瘟疫一样避开面向对象编程,因为我不理解面向对象中的关键字,比如 this。我不知道为什么要用 this。似乎没有它我也可以做好所有的工作。 而且我是对的。 在某种意义上 。也许你可以只专注于一种结构并且完全忽略另一种,但这样...
- 下一篇
如何学好 Linux、C++,并搞定 BAT 面试 作者/分享人:天千
学好Linux运维需要做到以下几点 1、多做实验 实验环境完全可以通过VMware来模拟,模拟私有网络,模拟多台机器,要搞懂VMware提供的集中网络模式的工作原理(桥接网络、宿主机网络、NAT等),这对整个Linux后续的学习帮助都非常之大,还可以通过虚拟机模拟Grub损坏并进行修复、模拟忘记密码并通过单用户模式修改密码等等。 2、LNMP、DHCP、DNS、MySQL等等这些网络服务需要完全基于源码来编译 这样更加有体感,对于编译的参数要理解,因为通过yum安装的软件包都是上一个稳定版本,并不是最新稳定版本,还有另外一点就是编译安装可以通过编译参数对软件进行一定的优化。 3、Linux基础要扎实 底层原理要理解,典型的文件系统的组成、inode和数据存放的位置、Linux进程是如何调度的、调度算法有哪些、磁盘调度算法有哪些、TCP/IP的三次握手和四次挥手的过程是如何的,网络中的数据是如何流向的(参考《构建高性能web站点》),iptables的三表五链、Nginx的网络IO模型(这个很重要,你要能讲清楚为什么Nginx要比Apache好),马哥Linux对于这个部分的内容讲...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7