![](https://www.azul.com/wp-content/uploads/2024-08-01-OpenJDK-Myth5.jpg)
Azul 迁移专家研究了公司不从 Oracle Java 迁移到 OpenJDK 发行版的原因。经过仔细调查,他们发现了六个 Oracle OpenJDK 迁移谬见,并对此分别提出了事实反驳。
谬见 5:我不需要为 Java 支持付费。毕竟,我从未给 Oracle 打过电话。
现实:Java 支持允许您提交帮助台工单并获得专家工程支持,同时,它也是一种防止业务受到回归问题和安全漏洞影响的保险政策。从历史上看,每三次更新中就有一次不稳定,并且会因为非安全性修复所导致的问题而无法部署。从支持提供商处获取关键补丁更新,可确保您的 Java 应用程序和基础设施在等待更新变得稳定期间受到保护。
什么是支持?我们大多数人都会想到常见问题解答、聊天机器人和电话号码。对于 Java 来说,支持远不止这些。Java 支持结合了综合性保险政策和一流服务合同的要素。它包括及时交付 Java 的新版本以及 OpenJDK 的更新(安全修复、错误修复和增强功能)。
![Java Migration Myths - Java support is more than just calling for help](https://www.azul.com/wp-content/uploads/Screenshot-2024-05-14-at-11.40.48 PM.png)
支持与免费
通过支持订阅提供的软件与可免费下载的构建版之间有几个重要的不同点。
首先,支持订阅包含关键补丁更新,也称为稳定安全更新。这些构建版本仅包含最近与安全相关的更改。它们作为一种保险措施,可避免全面更新(多达超过 300 项更改)可能导致的不稳定性。支持订购还包括周期外的构建版本,用于在季度更新之间的紧急情况下提供紧急修复。
您知道吗?CPU 是指其近期更改仅涉及安全问题的一种 JDK
最后,支持订阅针对已达到“生命周期结束”的 Java 版本,提供向后移植的安全修复程序,这些版本不再受到 Oracle 和其他提供商的支持,但在生产环境中仍被广泛使用。例如,Java 6 和 Java 7 分别于 2018 年 12 月和 2022 年 7 月达到“生命周期结束”。这些版本仍会暴露出常见漏洞和风险,因此支持必不可少。
虽然全面更新(也称为补丁集更新,PSU)不仅免费提供,也可通过支持订阅获得,但这其中存在一些微妙而重要的区别。 通过订阅提供的 PSU 源代码经过仔细审查,确保任何包含该 JVM 的应用程序都可以保持独立授权。如果没有这种审查,应用程序可能必须使用与 OpenJDK 相同的开源许可证,即通用公共许可证 (GPL) v2 许可证。这称为 Copyleft 污染。
您知道吗?平均每 4 个 PSU 中就有 1 个不稳定,无法部署
JDK 商业支持订阅为当前所有受支持的 Java LTS 版本以及当前发布的版本提供许可、更新和支持。可交付的支持内容包括所有受支持版本的周期外补丁。Azul 支持包括对 OpenJDK 的 Azul Zulu 构建版本的免费社区支持。针对 Azul Platform Core 客户的更新与 Oracle 更新在同一天发布,其中包括所有受支持 Java 版本的仅安全更新和安全与增强更新。JDK 6 和 7 还提供扩展的生产支持。
![OpenJDK Migration for Dummies eBook Cover](https://www.azul.com/wp-content/uploads/dummies-page-hero-1-1-1024x481.png)
重要的支持元素包括:
- 及时发布版本和修复:每推出一个新的 Java 版本,Oracle 都会发布新的 JDK 版本和修复程序,确保新的 Java 版本可以安全使用。由于 Java 在大多数情况下向后兼容,因此新的修复程序也可应用于大多数以前的版本。
- 稳定的仅安全更新:随着 Java 每季度的发布,Oracle 和其他所有 JDK 发行版都会发布补丁集更新 (PSU)。它是新版本功能、增强功能和安全更新的完整集合。Oracle 和 Azul 会发布稳定的仅安全更新,也被称为关键补丁更新 (CPU)。CPU 是新版本仅包含安全相关更新的子集。如果新版本不是 LTS,只应用 CPU 比应用完整的 PSU 更具可扩展性和安全性,因为后者可能会耗费大量时间和资源。
- 知识产权保护:GNU 公共许可证第 2 版附带类路径例外 (GPLv2+CPE) 是 OpenJDK 发行版或运行时使用的主要许可证。它对代码的复用方式施加了严格要求。该许可证的 Copyleft 性质授予人们自由分发和修改其源代码的权利,但要求在使用其代码的任何衍生作品中必须保留 GPL 授予的权利。OpenJDK 许可证包含类路径例外 (CPE),类路径或模块路径上的任何应用程序代码都不受 GPLv2 Copyleft 性质的影响。对于商业 OpenJDK 发行版,所有需要 CPE 的文件都必须包含该例外声明。否则,您的应用程序将受到严重影响。
- 客户支持:客户支持是 OpenJDK 发行版之间最明显的区别。一些公司选择提供自助资源,例如常见问题解答、博客文章和视频等。其他公司(如 Azul)则通过电子邮件和电话支持提供卓越的客户服务。
要了解有关所有这些问题的更多信息,请阅读 《OpenJDK 迁移入门指南》。 它由 Azul 副首席技术官 Simon Ritter 撰写,解释了如何使用经过验证的方法迁移到 OpenJDK,并应对罕见但可能棘手的边缘情况,缺乏准备的团队可能会因为这些情况陷入困境。