首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle JDK不是一个开源项目吗?

Oracle JDK不是一个开源项目吗?
EN

Stack Overflow用户
提问于 2016-09-25 07:53:44
回答 2查看 4.4K关注 0票数 6

我在从技术上讲,Oracle JDK和Open之间的主要区别是什么?读到

Oracle是OpenJDK的实现,不是开源的

但是JDK源代码是公开的和免费的。对啊。那么它为什么不是开源的呢?我在这里判断oracle为开放源代码可能是错误的,因为源代码可能是可用的和免费的,但是它不允许进一步修改/扩展和重新分发它,这就是为什么它不是开源的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-25 08:04:40

但是Oracle源代码是公开的和免费的。对吗?

严格地说,不。

1) Oracle JDK的完整源代码不可用。JDK源代码ZIP文件只包含公共类库API的源代码。不是一些“内部”类。不是JDK / JRE工具链。而不是JVM运行时本身;例如JIT编译器、GC实现、验证器等。

2)对于可用的子集,您需要接受Oracle许可证。

3)可用的源代码在版权标题中说,它是Oracle (或Sun)专有的。

那么它为什么不是开源的呢?

请参见上面的。

也许我错了,因为源代码可能是免费的,但是它不允许进一步修改/扩展和重新分发它吗?这就是为什么它不是开源的原因吗?

这就是原因之一。

开源并不仅仅意味着源代码是免费的。它也可以得到,没有不必要的限制,你可以用它做什么。

(如果您想要Oracle JDK的完整源代码,那么它就不是免费的,而且条款和条件非常严格。)

相比之下,OpenJDK代码库由GPLv2覆盖(除了"Classpath异常“,这说明了为使用OpenJDK JVM /类库而构建的应用程序不受GPL的约束)。作为OpenJDK一部分的所有内容都可以作为源代码.不需要你签任何东西。

当然,GPL限制了您可以做什么,但这些限制是为了使代码免费(如在自由中)和保护最终用户的权利而设计的。

票数 11
EN

Stack Overflow用户

发布于 2016-09-25 08:04:02

OpenJDK在GPL v2许可下是开源的,而OracleJDK使用的是Oracle二进制代码许可协议(更多介绍这里这里)。

当您说源代码是免费的,但不允许进一步修改和重新分发时,这是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39684598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档