从明年1月开始,Oracle要对JDK8就要收费了,怎么办?

开发
JDK8从2019年1月开始就要收费了,怎么办呢?其实这个问题本身就是有问题的,因为收费的并不是JDK8 , 而是JDK8后续的update (更新) 。
从明年1月开始,Oracle要对JDK8就要收费了,怎么办?

JDK8从2019年1月开始就要收费了,怎么办呢?

其实这个问题本身就是有问题的,因为收费的并不是JDK8 , 而是JDK8后续的update (更新) 。

什么是update? 如果你下载过JDK, 就会看到那些8u191, 8u192这样的东西,191,192就是update 的编号。

这些update中通常会包含对JDK bug的fix ,或者一些功能的改变,增强, 拿update 172为例:

1. 这个update 修改了下面两个方法的文档,让文档描述和方法的实现一致:

java.awt.Toolkit.getImage(URL u)

java.awt.Toolkit.createimage(URL u)

2. 增加了在Windows8 及以上版中,对Swing/AWT 文本组件自动显示触摸键盘的功能

3. 36个Bug Fix

 

 


 

 

假设JDK 8u192是2018年的***一个update , 你下载并且安装了,那可以继续免费使用下去,没有任何问题。

但是从2019年1月开始,如果你还想获取JDK的update , 对不起,你需要付费订阅。

这个订阅服务的价格是这样的:

对于PC, 每用户每月是2.5美元,对于服务器/云部署,每个processor 每月是25美元, 当然,数量多的话可以打折。

Oracle 为什么要这么干呢?

我推测有两个原因, ***个原因可以理解: Oracle JDK8 2014年3月发布, 到2019年1月正式进入“End of Public Updates”, 这个版本Oracle支持了将近5年时间,一个版本的软件不可能***期地支持下去,那样维护成本太高。

第二个原因可能是没有多少人购买它的Java SE Advanced, Java SE Advanced Desktop 或者Java SE Suite, 这三个家伙是什么东西? 我们稍后解释。

你也许注意到了, 我刚才再说JDK的时候,特别加上了Oracle 这个词,这是因为Java虚拟机的规范是开放的,任何人都可以去实现。

老刘在2017年编程提高群***季中,不就和大家一起实现了一个极为简单的版本吗? 当然那不能称为JVM ,只实现了对Class文件的解析,和一个能实现顺序,分支,循环,多态的简单执行引擎。

其实现在的JDK提供者非常多,不像微软的.NET,独此一家,别无分号。

Open JDK

这个不多说,免费的开源实现,以GPL License发布,很多Linux发行版中都会包含这个Open JDK 。

参与开发的大佬们有Oracle, RedHat (已被IBM收购), Azul System, IBM , Apple , SAP。

Oracle JDK

就是我们常说的Java JDK , 也是最常用的一个,是Oracle公司(收购了开发Java的Sun公司)对Java SE的实现。

如果更详细分的话,可以分为Oracle JDK和 Oracle JRE。

比如你想玩Minecraft 这样需要Java的游戏, 那只需要从java.com下载一个JRE就够了。

如果你想基于Java做开发,那就需要从Oracle Technology Network(OTN)网站上下载JDK了。

其他公司提供的JDK

有实力的大公司,都有可能开发自己的JDK , 比如IBM ,肯定要为自家的操作系统AIX,还有z/OS开发SDK。

我在IBM工作的时候,根本就没有用过Oracle JDK,公司也不让用啊。

HP,SAP也有自己的JDK , 可以为自己的硬件和软件做定制。

Oracle Java SE Advanced, Java SE Advanced Desktop, Java SE Suite

这名字老长了,也有点费解,简单来说,这是个收费的服务, 是Oracle 为企业级用户提供的高级工具和功能,可以监控、部署、管理企业级的Java程序,与此同时,你还可以下载那些老版本的JDK及其update。

换句话说,如果你购买了这个服务,自然就不用担心什么JDK update 收费的问题。

但是问题在于,到底有多少公司再使用这个服务? 如果你的公司在使用,欢迎告知。

所以我猜测Oracle耍了一点小手段, 以后不要这个收费的服务了,把这些高级的功能加上JDK update 打包,统一成一个新的服务,就是之前说的订阅服务。

总结一下

如果你的公司已经买了这个Java SE Advanced (或者 Advanced Desktop), Java SE Suite的License, 什么都不用担心,你很安全。

如果你的公司正在使用Oracle JDK 8 并且还想在2019年1月之后获得那些更新和支持,你需要购买Orace 的订阅服务。

如果你的公司一直在在升级你的Oracle JDK ,比如说已经升级到JDK9了,你什么服务都不用购买, 因为那个订阅服务主要解决的是老版本的Update 的问题。

或者可以选择一个没有public update的Oracle JDK , 这也很常见,很多JDK已经非常稳定了, 比如Oracle JDK 7 发布日期是2011年7月, “End of Public Updates” 是2015年4月, 我估计现在还有不少公司还在使用JDK7这个已经没有public update的版本吧!

如果真的出现了巨大的安全漏洞,你又没法升级JDK ,那只好去购买订阅服务去Fix了。

当然,你的公司也可以选择纯开源OpenJDK。

注意,我这里说的都是公司,都是商业用途,如果只是个人学习Java的话,没什么影响!

后记: 这篇文章是我从网络上查阅资料,综合分析后写的,如果有不正确的地方,欢迎批评指正。 
责任编辑:庞桂玉 来源: 码农翻身
相关推荐

2018-12-17 12:21:28

OracleJDK8fix

2018-11-23 11:12:00

安卓谷歌手机厂商

2010-04-20 08:56:53

2021-12-01 06:59:27

Typora收费使用

2021-03-08 07:10:13

微信微信朋友圈腾讯

2022-03-30 07:32:10

JDK8异步编程

2015-10-22 09:09:59

2013-11-28 16:46:46

虚拟运营商

2024-04-08 07:27:02

JDK8ZGC垃圾回收

2021-08-07 07:48:28

JDKjava JDK17

2022-05-31 07:32:19

JDK8API工具

2020-02-21 16:38:28

通信电脑DNS

2021-07-05 22:32:33

数据仓库团队

2022-04-21 07:34:34

JDK8JDK7数据

2022-04-21 09:48:54

JDK8JDK7编码

2018-01-28 20:39:39

戴尔

2019-10-12 09:50:46

Redis内存数据库

2022-07-05 11:48:47

MySQL死锁表锁

2011-09-22 11:57:33

Windows 8 B

2009-11-03 08:56:02

linux死机操作系统
点赞
收藏

51CTO技术栈公众号