OpenJDK 发行版的安全更新
Security Updates with OpenJDK distribution
随着来自 Oracle 的 JDK 许可协议的变化,公司正在转向 OpenJDK。
我的问题是 - OpenJDK 的哪个发行版是更好的选择?我正在评估 Oracle Open JDK 和 AdoptOpenJDK,它们似乎都是一个不错的选择。但是在支持方面,Oracle OpenJDK 遵循 6 个月的发布节奏没有任何长期支持,但是 AdoptOpenJDK 具有 Java 版本 8 和 11 的 LTS。因此,如果我切换到 Oracle OpenJDK,那么我将不得不遵循新的发布节奏关注带有安全补丁的数据(我不太关心新功能),但是如果我切换到 AdoptOpenJDK,那么我可以使用他们的一个 LTS 版本 (11),并期待新的安全补丁将应用于此版本。我主要担心的是,在切换到 OpenJDK 发行版后,我想及时了解 Java 安全更新。
参考资料
https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk/
tl;博士
如果您想要最快速地发布关键安全补丁,请支付来自 Azul systems、BellSoft、Oracle、Pivotal 或 Red Hat (IBM) 等供应商的支持计划。
为了更好地了解 Java 版本的当前状态,您真的 应该研究文档 Java Is Still Free。由 Java 拥护者 独立 Java 领导者和专家社区撰写。
详情
With changes in JDK licensing agreement from Oracle, companies are switching to OpenJDK.
这里要明确一点,您可能指的是 Oracle 更改其 Oracle JDK 产品的条款,以便在生产中使用时需要付费。该产品仍可免费用于开发、测试等。
My question is - which distribution of the OpenJDK would be a better choice?
根据对您重要的标准来回答。但是除了需要快速安全更新之外,您没有提到任何标准(更多内容见下文)。
I am evaluating Oracle Open JDK and AdoptOpenJDK, and they both seems to be an idea choice..
明确这一点:OpenJDK 项目只发布源代码,不发布构建或安装程序。许多供应商提供基于 OpenJDK 源代码的 builds/installers。
Oracle 就是这样的供应商之一,提供三种产品:
- Oracle JDK — 他们的品牌产品需要为生产使用付费,并提供付费支持。
- jdk.java.net — OpenJDK 的构建,无需任何费用,也无需任何支持。
- GraalVM — 一个特殊产品,一个 Java VM 和 JDK 基于 HotSpot/OpenJDK,在 Java 中实现,并支持其他编程语言和执行模式,例如提前编译 Java 应用程序以实现快速启动和低内存占用。
这三个都基于 OpenJDK 源代码。第一个和最后一个提供付费支持计划。
Oracle 已 publicly 宣布他们打算保持 Oracle JDK 与 OpenJDK 的功能对等。作为该承诺的一部分,Oracle 赞助了 OpenJDK 项目。同时,Oracle 保留向其付费客户快速发布任何关键安全补丁的权利。他们最终会将此类补丁提交给 OpenJDK 项目。但是那些提交的补丁在发布之前可能需要更多时间来完成 OpenJDK 过程。
AdoptOpenJDK 是另一个供应商,提供 OpenJDK 源代码库的构建和安装程序。因此,同样,任何关键的安全补丁可能无法像其他供应商向其付费客户提供补丁那样免费 public。
这是我制作的流程图,可帮助指导您为 Java 实施选择供应商。您有多种选择,有些带有支持选项。
However when it comes to support, Oracle OpenJDK is following a 6 month release cadence without any Long term support, however AdoptOpenJDK has LTS for Java version 8 and 11.
我相信你在这里是不正确的。 Oracle 确实维护了 Oracle JDK 产品的 Java 8 和 Java 11 的 LTS 更新,持续了一些年到 public,并为他们的付费客户提供额外的年限。
Java 社区在合作方面的合作程度超出您的理解。我所知道的每个 Java 的实现都主要基于 OpenJDK 项目。 OpenJDK 项目得到了 Oracle、Apple、IBM、SAP 以及可能的其他公司的支持。亚马逊、微软和其他公司做出了贡献。整个 Java 社区都接受了快速发布序列和 Long-Term Support (LTS) 策略。
Oracle 有 turned over stewardship of the LTS versions 8 and 11 to Red Hat, but Oracle continues to support them both. See the Oracle Java SE Support Roadmap 的详细信息。
So if I switch to Oracle OpenJDK, then I will have to follow the new release cadence to be up to data with security patches
我所知道的每个 Java 实现都遵循相同的发布节奏。
(I don't care much about the new features),
那么你一定要坚持只使用 LTS 版本。目前是 Java 8 和 Java 11.
If I switch to AdoptOpenJDK, then I can go with one of their LTS version (11), and expect the new security patches will be applied to this version.
您可以期待任何提供 Java 实施的供应商提供安全补丁。问题是这些补丁将以多快的速度到达您手中。
My main concern is, I wanted to be up to date with Java security updates
那么我建议您从可靠的供应商处购买付费支持计划。你有几个选择。请参见上图中蓝色桶的左侧。
如果您认为严重的安全漏洞特别影响您的可能性极低,或者您可能能够缓解此类漏洞,那么支持计划的成本对您来说可能不值得。在这种情况下,您将等待更新的免费版本。与付费供应商相比,您等待的时间可能更长。
after switching to OpenJDK distribution.
据我所知,今天分发的每个 Java 实现都是基于 OpenJDK。
这是另一个图表,列出了为您的 Java 实施选择特定供应商的可能动机。
随着来自 Oracle 的 JDK 许可协议的变化,公司正在转向 OpenJDK。
我的问题是 - OpenJDK 的哪个发行版是更好的选择?我正在评估 Oracle Open JDK 和 AdoptOpenJDK,它们似乎都是一个不错的选择。但是在支持方面,Oracle OpenJDK 遵循 6 个月的发布节奏没有任何长期支持,但是 AdoptOpenJDK 具有 Java 版本 8 和 11 的 LTS。因此,如果我切换到 Oracle OpenJDK,那么我将不得不遵循新的发布节奏关注带有安全补丁的数据(我不太关心新功能),但是如果我切换到 AdoptOpenJDK,那么我可以使用他们的一个 LTS 版本 (11),并期待新的安全补丁将应用于此版本。我主要担心的是,在切换到 OpenJDK 发行版后,我想及时了解 Java 安全更新。
参考资料 https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk/
tl;博士
如果您想要最快速地发布关键安全补丁,请支付来自 Azul systems、BellSoft、Oracle、Pivotal 或 Red Hat (IBM) 等供应商的支持计划。
为了更好地了解 Java 版本的当前状态,您真的 应该研究文档 Java Is Still Free。由 Java 拥护者 独立 Java 领导者和专家社区撰写。
详情
With changes in JDK licensing agreement from Oracle, companies are switching to OpenJDK.
这里要明确一点,您可能指的是 Oracle 更改其 Oracle JDK 产品的条款,以便在生产中使用时需要付费。该产品仍可免费用于开发、测试等。
My question is - which distribution of the OpenJDK would be a better choice?
根据对您重要的标准来回答。但是除了需要快速安全更新之外,您没有提到任何标准(更多内容见下文)。
I am evaluating Oracle Open JDK and AdoptOpenJDK, and they both seems to be an idea choice..
明确这一点:OpenJDK 项目只发布源代码,不发布构建或安装程序。许多供应商提供基于 OpenJDK 源代码的 builds/installers。
Oracle 就是这样的供应商之一,提供三种产品:
- Oracle JDK — 他们的品牌产品需要为生产使用付费,并提供付费支持。
- jdk.java.net — OpenJDK 的构建,无需任何费用,也无需任何支持。
- GraalVM — 一个特殊产品,一个 Java VM 和 JDK 基于 HotSpot/OpenJDK,在 Java 中实现,并支持其他编程语言和执行模式,例如提前编译 Java 应用程序以实现快速启动和低内存占用。
这三个都基于 OpenJDK 源代码。第一个和最后一个提供付费支持计划。
Oracle 已 publicly 宣布他们打算保持 Oracle JDK 与 OpenJDK 的功能对等。作为该承诺的一部分,Oracle 赞助了 OpenJDK 项目。同时,Oracle 保留向其付费客户快速发布任何关键安全补丁的权利。他们最终会将此类补丁提交给 OpenJDK 项目。但是那些提交的补丁在发布之前可能需要更多时间来完成 OpenJDK 过程。
AdoptOpenJDK 是另一个供应商,提供 OpenJDK 源代码库的构建和安装程序。因此,同样,任何关键的安全补丁可能无法像其他供应商向其付费客户提供补丁那样免费 public。
这是我制作的流程图,可帮助指导您为 Java 实施选择供应商。您有多种选择,有些带有支持选项。
However when it comes to support, Oracle OpenJDK is following a 6 month release cadence without any Long term support, however AdoptOpenJDK has LTS for Java version 8 and 11.
我相信你在这里是不正确的。 Oracle 确实维护了 Oracle JDK 产品的 Java 8 和 Java 11 的 LTS 更新,持续了一些年到 public,并为他们的付费客户提供额外的年限。
Java 社区在合作方面的合作程度超出您的理解。我所知道的每个 Java 的实现都主要基于 OpenJDK 项目。 OpenJDK 项目得到了 Oracle、Apple、IBM、SAP 以及可能的其他公司的支持。亚马逊、微软和其他公司做出了贡献。整个 Java 社区都接受了快速发布序列和 Long-Term Support (LTS) 策略。
Oracle 有 turned over stewardship of the LTS versions 8 and 11 to Red Hat, but Oracle continues to support them both. See the Oracle Java SE Support Roadmap 的详细信息。
So if I switch to Oracle OpenJDK, then I will have to follow the new release cadence to be up to data with security patches
我所知道的每个 Java 实现都遵循相同的发布节奏。
(I don't care much about the new features),
那么你一定要坚持只使用 LTS 版本。目前是 Java 8 和 Java 11.
If I switch to AdoptOpenJDK, then I can go with one of their LTS version (11), and expect the new security patches will be applied to this version.
您可以期待任何提供 Java 实施的供应商提供安全补丁。问题是这些补丁将以多快的速度到达您手中。
My main concern is, I wanted to be up to date with Java security updates
那么我建议您从可靠的供应商处购买付费支持计划。你有几个选择。请参见上图中蓝色桶的左侧。
如果您认为严重的安全漏洞特别影响您的可能性极低,或者您可能能够缓解此类漏洞,那么支持计划的成本对您来说可能不值得。在这种情况下,您将等待更新的免费版本。与付费供应商相比,您等待的时间可能更长。
after switching to OpenJDK distribution.
据我所知,今天分发的每个 Java 实现都是基于 OpenJDK。
这是另一个图表,列出了为您的 Java 实施选择特定供应商的可能动机。