kus*_*sma 83
编程语言不是自开源的,不是它的实现,但它的实现可能是.是的,有Java的开源实现.Sun的Java实现(最受欢迎的实现)就是其中之一.
Tho*_*ens 14
语言本身的"官方"SUN实现不是,但是有一个社区驱动的过程(不确定它的工作原理)是否有改进语言的建议 - Java Community Process.还有Java开发工具和运行时的开放实现,例如OpenJDK.
还没有,但很快就要开源了.
资源:
引自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/
进一步阅读:
来自 Oracle America Inc 诉 Google LLC,编号 3:10-cv-03561-WHA:
\n\n“...\n本次上诉涉及 Java SE 1.4 版和 5.0 版的 37 个 API 包。我们已经得出结论,涉及的 37 个 Java API 包的声明代码和 SSO 均享有版权保护。\n Oracle, 750 F.3d at 1348。Java 编程语言本身是免费的,无需许可即可使用。现阶段,毫无争议的是,用 Java 编程语言编写 \xe2\x80\x9c62 类(以及一些必须使用分布在 Java API 库内的三个包中的方法)。否则语言本身将会失败。\xe2\x80\x9d Order Denying JMOL, 2016 WL 3181206,at *5。毫无疑问,任何人使用 Java 编程语言可以编写自己的预编写程序库来执行各种功能。虽然 Oracle 让 Java 平台免费供程序员构建应用程序 (\xe2\x80\x9capps\xe2\x80\x9d),但它设计了一种许可计划吸引程序员,同时将平台商业化。在相关部分,Oracle向那些想要在竞争平台中使用API或将其嵌入电子设备中的人收取许可费。为了保留\xe2\x80\x9c一次写入,随处运行\xe2\x80\x9d的理念,Oracle对被许可方提出了严格的兼容性要求。Oracle,750 F.3d,1350。Oracle 还根据开源许可免费提供了一个名为 \xe2\x80\x9cOpenJDK 的 Java 版本。\xe2\x80\x9d 拒绝订单 JMOL,2016 WL 3181206,位于 *10。然而,Oracle 坚持认为 OpenJDK 有一个重要的问题:任何对 OpenJDK 中的软件包进行改进的公司都必须将这些更改免费提供给 Java社区。\xe2\x80\x9d 上诉人 Br。53. 有证据表明,到 2005 年,Oracle 已为 7 亿台 PC 授予了 Java 许可。尽管 Oracle 从未成功地使用 Java 开发了自己的智能手机平台,但它为移动设备授予了 Java SE 许可。根据 Oracle 的说法,\xe2\x80\x9c 移动设备市场利润特别丰厚,\xe2\x80\x9d 和 \n ORACLE AMERICA, INC. v. GOOGLE LLC 10 \n\xe2\x80\x9cJava 迅速成为领先的平台在手机上开发和运行应用程序。\xe2\x80\x9d 上诉人 Br. 9. \n..."
\n\n该语言的部分内容需要支付许可费,因此这些部分似乎不是“开源”的......
\n短语"Java编程语言"是指Sun(现在的oracle)提供的规范.Sun提供了Java虚拟机和Java编译器的参考实现.这两者都不是开源的(至少不完全像Python一样).
但是,OpenJDK是一个完整的JAVA编程语言开源实现.可能还有更多.
大多数程序员都认为Java是Sun提供的编程语言.我认为Sun只提供语言规范实现,任何人都可以在任何许可下完成.