JDK 协议

决定是否收费首先得看JDK使用的是什么协议?

  • BCL协议,即Oracle Binary Code License Agreement,协议规定你可以使用JDK,但是不能进行修改。私用和商用都可以,但是JDK中的某些商业特性,是需要付费才可以使用的。
  • OTN协议,即Oracle Technology Network License Agreement,目前新发布的JDK用的都是这个协议,可以私用,商用需要付费。

从下图可以看出各个版本对应的协议:

Oracle 更新路线

Oracle 支持 JDK 路线图


图片来源( CodeFX Weekly

  • 绿色的部分为 GPL v2+CPE协议的OpenJDK版本,是完全免费使用的。
  • 白色部分为BCL协议,商用是免费的。
  • 橘色及网格部分为OTN协议,商用是要收费的 。

结论

  1. Java 8 使用 8u201/202 及之前的版本是免费的,之后的收费。
  2. Java 9 是免费的,过渡版本且不再更新不建议使用。
  3. Java 10 是免费的,过渡版本且不再更新不建议使用。
  4. Java 11 开始Oracle JDK收费,只能使用免费的Open JDK。

其他内容

  1. 从2019年4月开始,Oracle JDK 8 更新将具有商业使用限制。
  2. Java 10.0.2(2018年7月),Java 8u201/202(2019年1月)是 Oracle 发布的最后的免费的Oracle JDK。
  3. 从 Java 11 开始,每6个月发布一个新的版本,即 11 → 12 → 13 → 14。
  4. 从 Java 11 开始,每3个月更新一个补丁版本,即 11.0.1 → 11.0.2。
  5. 从 Java 11(2018年9月,LTS)开始,Oracle将提供基于GPLv2 + CPE协议的 OpenJDK ,Oracle JDK构建和OpenJDK构建将基本相同。
  6. Oracle计划至少在2025年之前为Oracle JDK 8和至少在2026年之前为Oracle JDK 11提供全额付费支持。
  7. 免费的JDK有 OpenJDK 、 AdoptOpenJDK 、 Amazon Corretto 、 Azul Zulu 、 BellSoft 、 IBM 、 jClarity 、 Red Hat 、 SAP 、 阿里巴巴 Dragonwell等。

通知案例

Hello开发小伙伴们:
  因 Oracle JDK许可变更,在没有商业许可的情况下,在2019年1月之后发布的 Oracle Java SE 8 的公开更新将不可用于商业或生产用途。
  经架构委员会、运维部会议讨论,目前 Oracle JDK 8u201 已经满足公司当前开发需求。如后期有更高版本的使用需求,须经架构委员会评估后,另行通知方可使用。
  从即日起全公司使用的 Oracle JDK 版本不得高于8u201,请各业务线上技术经理知悉并安排自检,同时通知研发人员不得使用更高版本JDK进行开发,以防新特性无法上线。

参考资料

  • BCL许可协议内容
  • OTN许可协议内容
  • GPLv2+CE协议内容
  • Oracle官方关于许可协议的FAQ
  • Oracle官方关于Java SE Subscription的FAQ
  • Java SE Subscription价格表
  • Oracle的Java SE技术支持路线图
  • Java is Still Free 2.0.3-社区大佬们对于Java免费与否的解释
  • Oracle如何对JDK收费
  • 适用于Java 11及更高版本的Oracle JDK版本

Java 收费那些事儿相关推荐

  1. Oracle要对Java收费了,SAP基于Java技术栈的那些产品的客户怎么办

    今年年初的时候,所谓"Oracle要对Java收费"的新闻,在网上传得沸沸扬扬.这个新闻被专业人士视为标题党,而国内众多技术论坛,比如知乎社区上,有很多大神对"Java收 ...

  2. Java编程那些事儿78——时间和日期处理

    Java编程那些事儿78--时间和日期处理 陈跃峰 出自:http://blog.csdn.net/mailbomb 9.6 java.util包 java.util包是Java语言提供的工具类包,该 ...

  3. Java编程那些事儿70——抽象类和接口(三)

    Java编程那些事儿70--抽象类和接口(三) 陈跃峰 出自:http://blog.csdn.net/mailbomb 8.9.3 抽象类和接口的比较 抽象类和接口都是进行面向对象设计时专用的设计结 ...

  4. Java编程那些事儿69——抽象类和接口(二)

    Java编程那些事儿69--抽象类和接口(二) 陈跃峰 出自:http://blog.csdn.net/mailbomb 8.9.2 接口 接口(Interface)是一种复合数据类型. 至此,Jav ...

  5. mysql 不免费了? java收费还远吗?

    今天刚刚看到oracle对mysql实现收费制度.具体消息如下: 未来,Oracle会以售价$2,000, $5,000和$10,000每年提供三个付费版的MySQL. 之前的"基本&quo ...

  6. Java编程那些事儿11——JDK的获得、安装和配置

    Java编程那些事儿11--JDK的安装.配置和使用 作者:陈跃峰 出自: http://blog.csdn.net/mailbomb 第二章 建立开发环境 "工欲善其事,必先利其器&quo ...

  7. Java编程那些事儿74——java.lang包介绍1

    Java编程那些事儿74--java.lang包介绍1 陈跃峰 出自:http://blog.csdn.net/mailbomb 9.4 JDK API包名综述 在整个JDK API中,大约包含1.2 ...

  8. Java编程那些事儿68——抽象类和接口(一)

    Java编程那些事儿68--抽象类和接口(一) 陈跃峰 出自:http://blog.csdn.net/mailbomb 8.9  抽象类和接口 在实际的项目中,整个项目的代码一般可以分为结构代码和逻 ...

  9. Java编程那些事儿102——网络编程技术1

    Java编程那些事儿102--网络编程技术1 陈跃峰 出自:http://blog.csdn.net/mailbomb 13.2 网络编程技术 前面介绍了网络编程的相关基础知识,初步建立了网络编程的概 ...

最新文章

  1. javaScript入门之常用事件
  2. C语言结构体指针与结构体变量作形参的区别
  3. AIDL注意细节 简单Demo
  4. 如何生成安全的密码 Hash:MD5, SHA, PBKDF2, BCrypt 示例
  5. MySql 中文乱码排查解决方案
  6. 华为鸿蒙系统腾讯首测,华为鸿蒙系统首测,速度超安卓60%?谷歌该咋想,咱也不敢问呐...
  7. 又收集了一个字体图标站
  8. FreeSql (二十六)贪婪加载 Include、IncludeMany、Dto、ToList
  9. double在mysql中是什么类型_为什么PVC输送带深受企业的青睐?
  10. 避免服务器成为肉鸡的应对措施
  11. 题目242-计算球体积
  12. ADI AD9371/9375+Xilinx ZC706 No-OS初始工程搭建 ——Vivado2019.2
  13. html设置表格高宽的代码_设置html表格宽度
  14. Android 图片剪切框架 uCrop 简单集成
  15. 7z文件linux怎么解压,Ubuntu 12.04下解压7z文件
  16. 网络适配器网卡驱动错误代码56解决
  17. FOC——10.11.IR2106半桥预驱电路
  18. 带宽、符号速率、比特率、码元速率、采样速率之间的关系
  19. 用数据说话,看中国49个地方(省、市、高新区)集成电路产业实力情况
  20. 数据结构题及c语言版答案第七章,数据结构第七章习题答案

热门文章

  1. 记录有关达梦dm数据库中需要根据中文拼音进行排序问题
  2. 记一次Spring cloud和Spring boot版本不一致导致项目启动失败的解决办法!!
  3. GOTS认证咨询,GOTS是实现纺织品标签协调化和透明化的一个重要措施
  4. Fail-Fast和Fail-Safe的解释
  5. c语言入门题之打印直角三角形
  6. 浅谈IM软件业务知识-实现富文本解析,如:解析字符串、网络链接等
  7. Ubuntu15.10搭建合适的实验室环境
  8. html趣味数学网页版,趣味数学启蒙电脑版
  9. linux C time
  10. vm虚拟机安装VMware Tools弹出‘安装程序无法自动安装