Oracle JDK11(LTS)-作为开发人员/测试人员,我可以从Oracle免费获得LTS更新吗?

Cod*_*ete 1 java java-11

作为开发人员,我希望从Oracle(Oracle JDK)安装JDK11二进制分发版,并从Oracle获得7年(LTS)的免费更新。这可以免费吗?

我认为这是不可能的,因为从JDK11出现在Oracle网站上开始的6个月后,我将无法从Oracle网站下载它(具有任何最新更新的Oracle JDK 11版本,如11.0.2),并且我将无法下载无需Oracle付费订阅就可以找到(在Oracle网站上)此类更新的下载位置(对于OracleJDK)。我想我可以搜索OpenJDK 11付费的替代品,以获得超过6个月的更新(例如Red Hat),但是我不知道有任何免费替代品-请告知!

我知道以下内容(如果我输入错了,请纠正我):

  1. 从Oracle JDK9开始,这种JDK在生产中的任何使用(即使只是使用,而不仅仅是获得更新-因此也要支付使用而无需更新)。但是在开发,测试,原型制作和演示中的任何使用仍然是免费的!
  2. 看来,对于OracleJDK使用也是免费的,如果我使用任何Oracle云服务或Oracle SQL Developer中IDE(见的“许可权利和限制”部分的许可证和“甲骨文认可的产品使用” 的定义
  3. 我可以在生产中免费使用OpenJDK(JDK9,JDK10等),这些JDK与Oracle JDK完全相同,唯一的区别是早期的OpenJDK没有二进制文件(在jdk.java.net中,它们只有源文件)作为zip)(但是二进制文件现在可以在https://jdk.java.net/archive/http://jdk.java.net/12/上找到),除了acceptopenjdk.net还 提供由OpenJDK制成的二进制文件(src取自openjdk.java.net网站)。
  4. 在JDK8之前,OracleJDK和OpenJDK之间存在显着差异(性能,稳定性等),但是从JDK9开始,这些差异将消失(Oracle声称是这样,我不知道现实)。
  5. 仅为OracleJDK(针对LTS版本JDK8,JDK11,预期的JDK17)提供LTS更新。LTS版本每3年发布一次,每个版本至少要支持7年。
  6. 因此,如果我使用OpenJDK JDK11,我将绝对不会得到任何更新(既不是6个月,也不是1年,也不是7年)。
  7. 如果我有一个来自Oracle的非LTS(例如JDK12)(仅在生产中才付费),我将仅获得大约6个月的更新-直到JDK13发布为止,而且不再(甚至是花钱)。
  8. 如果我有来自OpenJDK的非LTS(例如JDK12),我也将绝对没有更新 -我可以在jdk.java.net上以源代码(zip)的形式下载第一个JDK12,也可以作为二进制发行版(用于Windows的exe安装程序)下载),在acceptopenjdk.net

有一个带有OpenJDK 更新的奇怪站点(Mercurial回购?),但是我似乎没有任何实用的方法来使用该站点。

我认为社区中存在一些讨论,现在该如何处理OpenJDK版本的更新-谁以及如何做。但是今天没有人这样做。

另外,RedHat 似乎为OpenJDK提供了一些更新,但是我不了解整个情况。我猜想,如果我为RHEL付费,那么他们会更新我的JDK作为RHEL的一部分(这就像购买Oracle JDK,但可能更便宜,我不知道。此外,RHEL似乎使用OpenJDK,而不是OracleJDK。确保OpenJDK和OracleJDK现在完全相同,正如Oracle声称的那样)。

关于OpenJDK的更新(不存在这样的更新?!),我不明白这一点-如果甲骨文声称,它是Oracle在谁的网站jdk.java.net OpenJDK的提供释放(参见(!)(!)prooflink),为什么甲骨文在至少6个月内还没有为这些OpenJDK提供更新(dk.java.net站点上没有此类更新)?OracleJDK和OpenJDK现在“完全相同”,Oracle仍将OracleJDK更新为6个月-为什么不同时将OpenJDK也更新为6个月? 在此处输入图片说明

PS 看起来甲骨文承诺将有助于安全更新的OpenJDK 季度(而不是任何其他更新:性能更新,稳定性更新,如Oraccle JDK,如果我付的“Java SE认购”,其中包括更新和在线/电话支持24/7在服务器或云中每个处理器每月25美元): 在此处输入图片说明

同样有趣的是,Mark Rotteveel(请参见注释)写道,JDK源代码只有一个地方:(可能http://hg.openjdk.java.net/ 我不知道与http:/的区别/openjdk.java.net/),甚至Oracle(及其他)也从那里获取代码:

OpenJDK是仅源项目,每个构建都是由公司,人员等构建的OpenJDK的变体(例如Oracle,AdoptOpenJDK,RedHat,Azul等),可能带有特定于供应商的扩展和工具。

参考资料:

OracleJDK vs OpenJDK vs AdoptOpenJDK-必须阅读

OpenJDK,Oracle JDK和JCP

Ste*_*n C 6

我知道以下内容(如果我输入错了,请纠正我):

您的摘要中有相当多不正确的事实错误。

例如:

但是我建议您(和其他读者)花时间阅读以下内容,而不是全部纠正它们:


现在您的问题:

关于OpenJDK更新(不存在这样的更新?!),

它们确实存在。在下一个OpenJDK版本之前,将生产OpenJDK版本的更新。

我不明白这一点-如果甲骨文声称是Oracle(!)在jdk.java.net站点上提供了OpenJDK(!)版本(请参见校对链接),为什么Oracle至少也没有为这些OpenJDK提供更新,所以6个月(dk.java.net网站上没有此类更新)?OracleJDK和OpenJDK现在“完全相同”,Oracle仍将OracleJDK更新为6个月-为什么不同时将OpenJDK也更新为6个月?

这些是Oracle做出的业务决策。

无论如何,我不能代表Oracle,但是从Oracle的角度来看,显然存在三个问题:

  1. 雇用甲骨文要花费甲骨文的钱。

  2. Oracle希望让更多的人支付使用Java。他们以订阅,支持合同等形式获得的金钱越多,他们对Java的投资就越多。

  3. Oracle不再热衷于通过免费提供长期存在的Java版本来继续(有效)补贴个人和其他组织。

您可以说所有您喜欢的甲骨文都应该继续以旧版本提供旧版本的更新。但是,他们根本没有义务这样做。不合法,也不道德。


另外,请注意,您可以从jdk.java.net站点之外的其他位置获取基于OpenJDK的Java。在许多情况下,您可以免费获得它。一些供应商说他们将为Java LTS版本提供长期支持。例如,请参阅https://access.redhat.com/articles/1299013