Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以实现Openjdk并创建一个可再发行的新JDK吗?而不需要通过tck或任何特殊许可的测试吗?_Java_Oracle_Java 8_Jvm_Openjdk - Fatal编程技术网

Java 我可以实现Openjdk并创建一个可再发行的新JDK吗?而不需要通过tck或任何特殊许可的测试吗?

Java 我可以实现Openjdk并创建一个可再发行的新JDK吗?而不需要通过tck或任何特殊许可的测试吗?,java,oracle,java-8,jvm,openjdk,Java,Oracle,Java 8,Jvm,Openjdk,我可以实现OpenJdk并创建自己的JDK并重新发布它吗?没有通过技术兼容性工具包(TCK)测试,或者它是否需要任何特殊许可证才能称为JDK 我刚刚发现,许多JDK的第三方供应商都是在OpenJdk的基础上编写的,他们的可再发行JDK是否需要TCK(或)许可证。我已经和OpenJDK合作了一段时间,但我自己并不了解所有的法律。这是我的理解 要能够将某个东西称为“Java”,需要从Oracle拥有的术语“Java”中获得许可证 TCK不是OpenJDK本身的一部分。这是一个单独的产品,在非免费许可

我可以实现OpenJdk并创建自己的JDK并重新发布它吗?没有通过技术兼容性工具包(TCK)测试,或者它是否需要任何特殊许可证才能称为JDK


我刚刚发现,许多JDK的第三方供应商都是在OpenJdk的基础上编写的,他们的可再发行JDK是否需要TCK(或)许可证。我已经和OpenJDK合作了一段时间,但我自己并不了解所有的法律。这是我的理解

要能够将某个东西称为“Java”,需要从Oracle拥有的术语“Java”中获得许可证

TCK不是OpenJDK本身的一部分。这是一个单独的产品,在非免费许可下提供。获取OpenJDK的TCK的过程在这里是可以实现的:但我听过这样的故事,实际上获取访问权是非常重要的。你的经历可能会有所不同

您完全可以使用OpenJDK修改它并发布结果,声称它是OpenJDK的分支。这几乎是每个Linux发行版都会做的事情——他们采用OpenJDK并对其进行修补(即使只是小改动),然后构建/发布它。除非得到Oracle的批准,否则不能称之为“Java”,除非它确实通过了TCK,否则不能声称它通过了TCK

据我所知,每一个重新分发东西并称之为Java的供应商都通过了TCK,并有权称之为“Java”


至于使用OpenJDK源代码,这里有一个很长的解释。我99.9%确信,至少每个实现都使用OpenJDK类库。每个OpenJDK贡献者都同意Oracle贡献者协议,该协议允许Oracle在另一个许可证下重新许可OpenJDK。因此,Oracle和其他第三方非OpenJDK供应商可以使用OpenJDK,从Oracle获得许可证,并在非OpenJDK许可证的许可证下发布他们的JDK。

OpenJDK是在GNU GPL下许可的,这意味着只要结果也是在GPL下许可的,你基本上可以做任何你想做的事情。例如,您可以删除任何您不喜欢的测试。但是为什么呢?除非你想做一些超高级的优化工作,否则这听起来像是一件疯狂的事情!?OpenJDK已经是一个Java实现。你不能自己实现它。原则上,你可以创建你自己的、单独的实现,但是这充满了危险——从2010开始就考虑到这一点。是否需要任何许可或测试来作为JDK传递?将其称为我自己的特定jdk,我可以与供应商或。。等等,@HorstI假设“JDK”在某种程度上受到甲骨文的保护,就像@JohnBollinger所建议的那样。因此,如果你避免这样做,你可能会没事(尽管没有可靠的法律建议)。但再说一遍,你为什么要这样做???听起来你还是想做一些完全不同的事情!?所以,如果你以LINUX为例,它是开源的,假设我以自己的方式实现(可能是更新的风格),我是否需要从LINUX获得版权许可证才能作为新的LINUX风格在网上重新发布或发布?同样,我可以用开源的OpenJDK来做吗@约翰伯林格