我知道Python,Ruby,Perl都是开源的,但Java真的是一种开源编程语言吗?
我也一直在Google上搜索,但我找不到合适的答案。
答案 0 :(得分:83)
编程语言不是自开源的,不是它的实现,但它的实现可能是。是的,有Java的开源实现。 Sun的Java实现(最受欢迎的实现)就是其中之一。
答案 1 :(得分:20)
答案 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:
我们已将Java EE移至:http://openjdk.java.net/projects/jdk9/spec/
进一步阅读:
答案 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)