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

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

我也一直在谷歌search,但我没有find一个正确的答案。

是的,或者最终会(因为许可证的使用,他们可能还有一些工作要replace)。 Sun 致力于使其开放源代码,并可以从中下载。 看看OpenJDK 。

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

这种语言本身的“官方”SUN实现本身并不是,但是有一个社区驱动的过程(不知道它的工作效果如何)提出改进语言的build议–Java Community Process 。 Java开发工具和运行时也有开放的实现,比如OpenJDK 。

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

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

大多数程序员认为Java是Sun提供的编程语言。 我认为Sun只提供任何许可证下的语言规范实现。

还没有 ,但是即将开源。

资源:


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

  • 甲骨文正在build议将Java SE的发布频率提高到每六个月
  • Oracle将简化开发人员,客户和消费者如何使用Java SE
  • 从JDK 9 GA开始Oracle计划在GPL下发布OpenJDK版本
  • Oracle为Java SE提供了一个时间驱动的发布模型,而不是历史特性驱动的模型
  • Oracle JDK将为OpenJDK贡献先前的商业function,如Java Flight Recorder
  • 甲骨文将与其他OpenJDK贡献者合作,使社区基础设施完整,现代化和可访问
  • Oracle JDK将继续作为商业性的长期支持服务
  • Oracle JDK将主要面向商业和支持客户,一旦OpenJDK二进制文件可与Oracle JDK互换(目标是2018年底),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

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

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

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

为什么还有人说,Java不像自由言论那样是开源或免费的?

甲骨文宣布,他们正在与IBM和Red Haro一起将Java移植到开源平台Eclipse基金会。

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

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

Java语言是开源的,Sun没有开放权限的部分很less…检查更多的OpenJDK