Java 社区领袖联合发文:别慌,Java 仍然是免费的!

在去年的 Java One 上,Mark Cavage 当时宣布 Oracle 将逐步开源 Oracle JDK 的专有功能(商业特性)。Oracle Java 平台产品管理高级总监 Donald Smith 曾在一篇博客文章中写道,他们的目的是让 OpenJDK 版本和 Oracle JDK 二进制文件之间没有技术差异。

但关于 OpenJDK 和 Oracle JDK 以及其他服务商提供的变种版本,各自的许可证是什么,又都提供哪些服务和支持,让许多 Java 开发者理不清头绪,容易混淆。Oracle 7 月份启用新的 Java SE 订阅模式的消息一出,更是让许多开发者认为是不是代表 Java 以后要收费?

为解答 Java 社区的疑惑,超过30位 Java 社区领袖和专家共同创建了一个 Google 文档,里面详细描述了各版本之间的区别,并对一些常见问题进行了答疑。文档分为“短版本”和“长版本”,建议所有 Java 开发者研读。

e69c0d0abbf8a30d938e0e703ac018b0c8d.jpg

文档中强调,开发者仍然可以免费获得 Oracle JDK、Oracle 的 OpenJDK ,以及其他服务商提供的 OpenJDK:

OpenJDK 社区创建并维护 (GPLv2+CE 许可) Java SE 规范的开源参考实现(RI),受 JCP(Java Community Process)管理,并根据 JSR(Java Specification Request)发布未来每个版本。

有不同服务商提供不同的 Java SE 实现(如 Azul、Eclipse、IBM、Red Hat、Oracle、SAP 和其他公司),其中最通用的是 Oracle JDK 。

虽然 Java 11 LTS 已发布,但更多的开发者还停留在上一个 LTS 版本 —— Java 8 。关于开发者最为关注的 Java 8 的许可问题,文档给出了解答:

Oracle 将在2020年12月前为个人桌面用户继续提供 Oracle JDK 8 的公共更新。若是商业用途,则在2019年1月之后不会再有免费的商业版本更新。但是,自 Java SE 9 以后,Oracle 还提供了 OpenJDK 版本,可免费用于商业用途,并且还有其他服务商提供的免费 OpenJDK 版本可供选择,如 AdoptOpenJDK、Azul、IBM、Red Hat、Linux distros 等。

也就是说,如果届时你想继续免费使用 Java 8,你可以:

  • 不再更新,继续无限期地使用 Oracle JDK 8 ;

  • 使用来自其他服务商的免费 Java SE 8 / OpenJDK 8 二进制分发版。

上面也有提到,由于 Oracle 在7月份改变了 Java SE 的商业支持模式,所以从 Java 11 开始,支持方式有所不同:

Oracle OpenJDK - 使用 GPLv2 + CE 许可,可用于商业用途;
Oracle JDK - 使用付费商业许可(个人和非商业使用免费)。

简单一句话总结,想要继续免费使用 Java 11 的,请选择 OpenJDK !

最后附上各版本支持路线图:

d3633365d585b0a8186a324fa065a7d68d2.jpg

142407f32b9a5bc1615b6c4614b7e68a1d0.jpg

目 录 摘 要 I ABSTRACT II 第一章 绪论 1 1.1 选题的背景 1 1.2 国内外状况 2 1.3 问题的提出 3 1.4 主要研究内容 3 1.5 论文的组织结构 3 第二章 相关理论及技术介绍 5 2.1 开发平台 5 2.1.1 MyEclipse 5 2.1.2 NetBeans 5 2.2 相关技术 5 2.2.1 XML 5 2.2.2 Dom4j 6 2.2.3 SOAP 6 2.2.4 WebService 7 2.2.5 WSDL 7 2.2.6 Velocity 8 2.2.7 Swing 8 2.2.8 Java反射 9 2.3 本章小结 9 第三章 服务开发平台的总体框架 10 3.1 前台可视化IDE的设计 11 3.2 后台的总体设计 12 3.2.1 后台RuntimeContainer容器管理模块设计概述 13 3.2.2 后台UDDI注册中心模块设计概述 14 3.2.3 后台SP Agent Builder代码生成模块设计概述 16 3.3 本章小结 20 第四章 服务生成工具SP Agent Builder的设计与实现 21 4.1 三层XML schema设计与解析模块的设计与实现 21 4.1.1 功能层XML schema的设计 21 4.1.2 表示层XML schema 的设计 24 4.1.3 传输层XML schema 的设计 24 4.1.4 三层XML文件解析的设计与实现 26 4.2 数据转换模块的设计与实现 28 4.2.1 目标数据格式介绍 28 4.2.2 对象与目标数据格式之间的转换 31 4.3 传输代理模块的设计与实现 35 4.3.1 网络传输协议 36 4.3.2 传输代理的运作流程 38 4.4 代码生成器模块的设计与实现 39 4.4.1 模板的设计 39 4.4.2 代码生成的运作流程 40 4.5 可视化编辑器模块的设计与实现 41 4.5.1 可视化编辑器的设计 41 4.5.2 可视化编辑器的运作流程 42 4.5 本章小结 42 第五章 系统实现 44 4.1 创建服务 44 4.2 编辑服务 48 4.3 删除服务 50 4.4 本章小结 51 第六章 结论 52 致 谢 53 参考文献 54 毕业设计小结 56 附录A XML数据类型和Java数据类型之间的映射规则 57 附录B 功能层XML schema的设计 58 附录C 表示层XML schema的设计 60 附录D 传输层XML schema的设计 61 附录E TXT文本的格式介绍 63
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值