Java 是一种开源编程语言吗?

我知道 Python、 Ruby、 Perl 都是开源的,但 Java 真的是一种开源编程语言吗?

我也一直在谷歌上搜索,但是没有找到合适的答案。

86738 次浏览

是的,或者它最终会(可能仍然有一些东西,他们正在工作更换,因为它们是根据许可使用)。Sun坚定不移使它成为开源的,你可以从他们那里下载。看看 OpenJDK

一种编程语言本身不是开源的,但它的实现可能是开源的。是的,有 Java 的开源实现。Sun 的 Java 实现(最流行的一种)就是其中之一。

该语言的“官方”SUN 实现本身并非如此,但是有一个社区驱动的过程(不确定它的工作效果如何)来提供改进该语言的建议—— Java 社区进程。还有 Java 开发工具和运行时的开放实现,比如 OpenJDK

大部分的“ Java”是开源的,有一些小部分 Sun 没有权利开放... 查看网站的 OpenJDK了解更多信息

OpenJDK 下载到 src 文件夹后,你就有了 windows,solaris,share,linux 在共享文件夹中,您可以找到类。在那里您可以看到所有类的源代码(例如 JButton)。

短语“ Java 编程语言”指的是 Sun (现在是 Oracle)提供的规范。Sun 提供了 Java 虚拟机和 Java 编译器的参考实现。两者都不是开源的(至少不完全像 Python 那样)。

然而,例如 OpenJDK 是 JAVA 编程语言的一个完全开源的实现。

大多数程序员认为 Java 是 Sun 提供的一种编程语言。我认为 Sun 只提供了任何人在任何许可下都可以完成的语言规范实现。

2006年11月13日,太阳公司以自由开源软件(FOSS)的形式发布了大部分 Java GNU通用公共许可协议。2007年5月8日,Sun 完成了这个过程,除了一小部分 Sun 没有版权的代码之外,Java 的所有核心代码都可以在自由软件/开源发布条款下获得。

OpenJDK (开放 JDK) 是 Java 编程语言的一个免费的开源实现。这是2006年开始的一项努力的昇阳电脑。这个实现是根据 GNU通用公共许可协议(GNU gPL)授权的,但有一个链接异常。

为什么仍然有人说 Java 不像自由言论那样是开源或自由的?

Java Language 是开源的,Sun 没有权利打开的片段很少... ... 请查看更多的 OpenJDK

甲骨文公司宣布,他们正在与 IBM 和红哈尔一起将 Java 转移到开源平台,Eclipse基金会。

Https://blogs.oracle.com/theaquarium/opening-up-ee-update

还没有 ,但是很快就要开放源码了。

来源:


引自 https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se:

  • Oracle 计划将 JavaSE 的发布节奏提高到每六个月一次
  • Oracle 将简化开发人员、客户和消费者使用 JavaSE 的方式
  • 从 JDK9GAOracle 开始,Oracle 计划在 GPL 下发布 OpenJDK 构建
  • Oracle 为 JavaSE 提出了一个时间驱动的发布模型,而不是以往的特性驱动模型
  • Oracle JDK 将为 OpenJDK 贡献以前的商业特性,比如 Java Flight Recorder
  • Oracle 将与其他 OpenJDK 贡献者合作,使社区基础设施完整、现代和可访问
  • Oracle JDK 将继续作为一种商业的长期支持产品
  • 一旦 OpenJDK 二进制文件可以与 Oracle JDK 互换,Oracle JDK 将主要面向商业和支持客户(目标是2018年末) Oracle 将继续增强完整的即时运行应用程序的打包和发行

我们已经将 JavaEE 转移到了: http://openjdk.java.net/projects/jdk9/spec/

进一步内容:

  1. Https://blogs.oracle.com/theaquarium/opening-up-ee-update
  2. Https://blogs.oracle.com/java-platform-group/java-se-offerings
  3. Https://blogs.oracle.com/java/java-9-release-now-available
  4. Https://blogs.oracle.com/java-platform-group/convergence-of-oracle-java-se-embedded-with-oracle-jdk

摘自甲骨文美国公司(Oracle America Inc)诉谷歌有限责任公司(Google LLC No. 3:10-cv-03561-WHA) :

"... 在这个呼吁的问题是37个 API 包从 Java SE 版本1.4和版本5.0。我们已经得出结论,有关的37个 JavaAPI 包的声明代码和 SSO 有权享有版权保护。 甲骨文,750F.3d,1348。Java 编程语言本身是免费的,可以在未经许可的情况下使用。在这个阶段,毫无疑问,要用 Java 编程语言编写,“必须使用分布在 Java API 库中的三个包中的62个类(以及它们的一些方法)。否则语言本身就会失败。”命令拒绝 JMOL,2016 WL 3181206,at * 5。毫无疑问,任何使用 Java 编程语言的人都可以编写自己的预写程序库来执行各种函数。尽管 Oracle 让开发应用程序的程序员可以免费使用 Java 平台,但它设计了一个许可方案来吸引程序员,同时将该平台商业化。在相关部分,Oracle 向那些希望在竞争平台中使用 API 或将其嵌入到电子设备中的用户收取许可费。为了保持“只写一次,在任何地方运行”的原则,Oracle 对被许可方实施了严格的兼容性要求。甲骨文,750 F。3d,1350。Oracle 还免费提供了一个名为“ OpenJDK”的 Java 版本命令拒绝 JMOL,2016 WL 3181206,在 * 10。然而,Oracle 坚持认为 OpenJDK 带来了一个重要的问题: 任何改进 OpenJDK 包的公司都必须“免费向 Java 社区提供这些改进”上诉人 Br。53.证据显示,到2005年,甲骨文已经在7亿台个人电脑上授权了 Java。尽管 Oracle 从未成功地使用 Java 开发自己的智能手机平台,但它为移动设备授权了 JavaSE。根据甲骨文的说法,“移动设备市场特别有利可图。” 甲骨文美国公司诉谷歌公司10 “ Java 很快成为开发和运行手机应用程序的领先平台。”。 ..."

语言的某些部分需要支付许可费,所以这些部分看起来不像是“开源”的..。