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

时间:2010-01-08 21:18:18

标签: java open-source

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

我也一直在Google上搜索,但我找不到合适的答案。

11 个答案:

答案 0 :(得分:83)

编程语言不是自开源的,不是它的实现,但它的实现可能是。是的,有Java的开源实现。 Sun的Java实现(最受欢迎的实现)就是其中之一。

答案 1 :(得分:20)

是的,或者它最终会(由于它们是在许可下使用的,因此可能仍有一些东西正在替换)。 Sun committed使其成为开源的,您可以从中下载它。查看OpenJDK

答案 2 :(得分:14)

语言本身的“官方”SUN实现不是,但是有一个社区驱动的过程(不确定它有多好)可以提出改进语言的建议 - Java Community Process。还有Java开发工具和运行时的开放实现,例如OpenJDK

答案 3 :(得分:7)

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

源:

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

  • Oracle is proposing to increase the release cadence of Java SE to every six months
  • Oracle将简化开发人员,客户和消费者使用Java SE的方式
  • 从JDK 9 GA开始Oracle计划在GPL
  • 下发布OpenJDK版本
  • Oracle为Java SE提出了一个时间驱动的发布模型,而不是历史特征驱动模型
  • Oracle JDK将为OpenJDK提供以前的商业功能,例如Java Flight Recorder
  • Oracle将与其他OpenJDK贡献者合作,使社区基础设施完整,现代且易于访问
  • Oracle JDK将继续作为商业长期支持服务
  • 一旦OpenJDK二进制文件可与Oracle JDK(目标2018年末)互换,Oracle JDK将主要用于商业和支持客户 Oracle将继续加强完整的可立即运行的应用程序的打包和分发

我们已将Java EE移至: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

答案 4 :(得分:5)

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

然而,OpenJDK是一个完整的JAVA编程语言开源实现。可能还有更多。

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

答案 5 :(得分:3)

来自Oracle America Inc诉Google LLC第3号:10-cv-03561-WHA:

" ... 此诉求中的问题是来自Java SE 1.4版和5.0版的37个API包。我们已经得出结论,有争议的37个Java API包的声明代码和SSO有权获得版权保护。  Oracle,750 F.3d at 1348. Java编程语言本身是免费的,未经许可可以使用。在这个阶段,无可争议的是,要用Java编程语言编写,必须使用分布在Java API库中的三个包中的“62个类(以及它们的一些方法)”。否则语言本身就会失败。“订单拒绝JMOL,2016 WL 3181206,* 5。使用Java编程语言的任何人都可以编写自己的预编程程序库来执行各种功能,这也是无可争议的。虽然Oracle使Java平台可以免费供程序员构建应用程序(“应用程序”),但它设计了一个许可方案来吸引程序员,同时将平台商业化。在相关部分中,Oracle向想要在竞争平台中使用API​​或将其嵌入电子设备的用户收取许可费。为了保持“一次编写,随处运行”的理念,Oracle对被许可方强加了严格的兼容性要求。 Oracle,750 F.3d at 1350. Oracle还根据开源许可证免费提供了一个名为“OpenJDK”的Java版本。订单拒绝JMOL,2016 WL 3181206,* 10。然而,Oracle坚持认为,OpenJDK带来了一个重要的关键:任何改进OpenJDK软件包的公司都必须“向Java社区”免费提供这些变更。“Appellant Br。 53.证据显示,到2005年,Oracle在7亿台个人电脑中授权Java。尽管甲骨文从未使用Java成功开发自己的智能手机平台,但它还是为移动设备授权Java SE。据甲骨文称,“移动设备市场特别有利可图”                   ORACLE AMERICA,INC。诉GOOGLE LLC 10 “Java迅速成为在手机上开发和运行应用程序的领先平台。”Appellant Br。 9。 ..."

部分语言需要缴纳许可费,因此这些部分似乎不是开源的......#/ p>

答案 6 :(得分:1)

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

答案 7 :(得分:1)

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

答案 8 :(得分:1)

2006年11月13日,根据GNU通用公共许可证(GPL)的条款,Sun发布了大部分Java作为免费和开源软件(FOSS)。 2007年5月8日Sun完成了这个过程,除了Sun没有拥有版权的一小部分代码之外,所有Java的核心代码都是在自由软件/开源分发条款下提供的。

OpenJDK(Open Java Development Kit)是Java编程语言的免费开源实现。这是Sun Microsystems于2006年开始的努力的结果。该实现是根据GNU通用公共许可证(GNU GPL)许可的,具有链接例外。

为什么还有人说Java不是免费语音的开源或免费?

答案 9 :(得分:1)

Java语言是开源的,Sun几乎没有权利开放......检查更多OpenJDK

答案 10 :(得分:1)

Oracle宣布,他们将与IBM和Red Har一起将Java迁移到开源平台Eclipse Foundation。

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