开发者社区> 胡昜> 正文

Java8及新版本许可证及收费?

简介: 问题:许可类型及如何收费? JDK 8 Oracle 将继续提供JDK 8 免费的公共更新和自动更新,支持个人用户到 2020 年 12 月底,支持商业用户到 2019 年 1 月;换句话说如果想 Oracle 后续继续为你提供 JDK 8 的支持,那么则需要付费。
+关注继续查看

问题:许可类型及如何收费?

JDK 8
Oracle 将继续提供JDK 8 免费的公共更新和自动更新,支持个人用户到 2020 年 12 月底,支持商业用户到 2019 年 1 月;换句话说如果想 Oracle 后续继续为你提供 JDK 8 的支持,那么则需要付费。Oracle目前只提供了部分平台的JDK 8的openJDK构建,多数平台只有第三方的openjdk可以用。

按照 Oracle 公布的支持路线图

img_3a8e4f5c36afa08c4fd9f3863df6f8fc.png
java支持路线图

如上图绿色的部分为免费支持的openJDK版本。棕红色部分为Oracke JDK Java SE Advanced, 该系列的产品是收费的,只有在「通用计算」使用范围内是完全免费的。显然通用计算不包括商业使用。

对于最新的java 11
Oracle JDK:支持 BCL 协议,开发人员可以免费使用,但不能用于生产,生产需要商业许可,如果全额付费的话,可支持到 2026 年 9 月。
OpenJDK:支持 GPL V2+CPE协议「一般只支持到发布以后的 6 个月」,可以用于公司使用,因此,对于JDK 11 来说,应该有JDK 11.0.0,然后是两个安全补丁 11.0.1 和 11.0.2 。如果你要继续使用 Oracle 的 OpenJDK 最新构建和安全补丁,那么您将必须在发布后的一个月内迁移到 JDK 12。参见这里:oracle openjdk

GPL v2+CPE:官方Blog:java 11及以后发布许可证解释,按照解释,java 11以后,openjdk和oracle jdk本质上来说是完全一致的,只不过需要付费许可证的高级特性在openjdk中是不可用的,现在如果用了,在编译时会报错。这一点很重要,也就是说,除去高级特性的部分,openJDK和oracle JDK是可以互换的。

对于java 9和10,属于过渡版本,oracle官方也只是提供了6个月的支持期,所以可以不用考虑。

那我们怎么办?

对于需要部署jdk运行环境的企业,将不可避免的面临以下选择:

java 8:

  • 要么不升级版本,只要没有关键的安全问题,就可以保持版本不变,不跟进升级。这应该是很多现有老项目的唯一选择。
  • 要么选择第三方发布的可以免费使用的openJDK版本。需要付出迁移成本。
  • 升级到新版本JDK,比较适合新的开发项目。
  • 付费使用oracle JDK更新,属于不差钱的选择。

java 11

  • 使用Oracle的openJDK,需要及时跟进版本更新,可能需要比较高的开发迁移能力。
  • 使用第三方发布的JDK,取决于三方jdk的稳定性及可用度。
  • 付费使用Oracle JDK。

对于纯粹的产品开发商,大多数的java产品发布时并不需要打包jdk在内,因此对于产品开发时的策略,并不太需要考虑许可协议的限制。只需要确保最终产品部署时不要依赖需要付费的高级特性或者某个特定版本,只使用openjdk兼容的部分即可。最终部署时的jdk,则完全取决于使用产品的客户的具体策略。对于大多数客户来说,免费够用应该是最佳选择。

可用的三方OpenJDK

  • AdoptOpenJDK,官网地址:adoptopenjdk.net,它同样支持 GPL 协议且免费。
  • Red Hat OpenJDK,Red Hat 通过 Red Hat Enterprise Linux「RHEL」提供 OpenJDK 的构建,这是一个付费的商业产品。Red Hat 构建更好地集成到操作系统中,因此它不是纯粹的 OpenJDK 构建。
  • IBM, 为 Java 8 及更早版本提供并支持 JDK。他们还使用 OpenJ9 为 AdoptOpenJDK 构建提供商业付费支持。
  • Azul Zulu,官网地址:zulu.org,它的核心部分就是原汁原味的 OpenJDK
  • SAP, 官网地址:sap.github.io/SapMachine,SAP 根据 GPL+CE 协议为 Jdk 10 及更高版本提供 JDK。

参考:
https://www.oracle.com/technetwork/java/javase/eol-135779.html
https://yq.aliyun.com/articles/645952

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JDK 11 是发布了,但收费吗?
自 9 月 26 日,Oracle JDK 11 正式版本发布以来,一直被大家所看好,因为它是继 6、7、8之后,第一个长期支持的版本「见下图」,而 9 、10 估计多半会夭折了。。。
3256 0
Java 17 新功能介绍(LTS)
Java 17 新功能介绍(LTS)
362 0
甲骨文严查Java授权 、 openJDK 注意避坑
甲骨文严查Java授权 、 openJDK 注意避坑
151 0
Java 升级JDK版本常见的问题解决方案
Java 升级JDK版本常见的问题解决方案
226 0
免费体验!部署基于Dragonwell的Java运行环境
阿里云开发者学堂全员开课计划上线!为开发者提供超多免费Java精品课!阿里云开发者学堂是开发者学习成长的一站式学习平台,为开发者构建完善的学习成长体系、技术赋能。
140 0
Java/JDK下载、安装与环境变量配置超详细教程(2022更新)保姆级,秒会
Java/JDK下载、安装与环境配置超详细教程(2022更新)保姆级,小白秒会[学习必备,建议收藏]。包含JDK8、JDK11、JDK17、JDK19等,本文将从JDK的下载与安装讲起,在从配置到第一个HelloWrold实践结束。在观看本文前我们需要知道JDK是什么,有什么作用?JDK是Java的开发工具包,包括JVM虚拟机,核心类库,开发工具。
191 0
+关注
胡昜
来自汉得
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载