简体   繁体   English

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

[英]Is java an open source programming language?

I know that Python, Ruby, Perl are all open source, but is Java really an open source programming language? 我知道Python,Ruby,Perl都是开源的,但Java真的是一种开源编程语言吗?

I have been searching on Google too, but I didn't find a proper answer. 我一直在Google上搜索,但我找不到合适的答案。

A programming language isn't in it self open source or not, but an implementation of it might be. 编程语言不是自开源的,不是它的实现,但它的实现可能是。 Yes, there are open source implementations of Java. 是的,有Java的开源实现。 Sun's Java implementation (the most popular one), is one of them. Sun的Java实现(最受欢迎的实现)就是其中之一。

Yes, or it will be eventually (there may still be some things they're working on replacing since they were used under licence). 是的,或者它最终会成功(可能仍有一些东西正在替换,因为它们是在许可下使用的)。 Sun committed to making it open source and you can download it from them. Sun 致力于使其成为开源的,您可以从中下载它。 Check out OpenJDK . 查看OpenJDK

The "official" SUN implementation of the language itself is not, but there is a community-driven process (not sure how well it works) for suggestions to improve the language - the Java Community Process . 语言本身的“官方”SUN实现不是,但是有一个社区驱动的过程(不确定它的工作原理)是否有改进语言的建议 - Java Community Process There are also open implementations of the Java development tools and runtime, such as OpenJDK . 还有Java开发工具和运行时的开放实现,例如OpenJDK

Not yet , but it is soon about to go open source. 还没有 ,但很快就要开源了。

source: 资源:


Quoting from https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se : 引自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的发布节奏提高到每六个月一次
  • Oracle will simplify how developers, customers, and consumers use Java SE Oracle将简化开发人员,客户和消费者使用Java SE的方式
  • Starting with JDK 9 GA Oracle plans to ship OpenJDK builds under the GPL 从JDK 9 GA开始,Oracle计划在GPL下发布OpenJDK版本
  • Oracle has proposed a time-driven release model for Java SE instead of the historical feature-driven model Oracle为Java SE提出了一个时间驱动的发布模型,而不是历史特征驱动模型
  • Oracle JDK will contribute previously commercial features such as Java Flight Recorder to OpenJDK Oracle JDK将为OpenJDK提供以前的商业功能,如Java Flight Recorder
  • Oracle will work with other OpenJDK contributors to make the community infrastructure complete, modern and accessible Oracle将与其他OpenJDK贡献者合作,使社区基础设施完整,现代且易于访问
  • The Oracle JDK will continue as a commercial long-term support offering Oracle JDK将继续作为商业长期支持服务
  • The Oracle JDK will primarily be for commercial and support customers once OpenJDK binaries are interchangeable with the Oracle JDK (target late 2018) Oracle will continue to enhance the packaging and distribution of complete ready-to-run applications 一旦OpenJDK二进制文件可与Oracle JDK(目标2018年末)互换,Oracle JDK将主要用于商业和支持客户.Oracle将继续增强完整的即用型应用程序的打包和分发

We have moved Java EE onto : http://openjdk.java.net/projects/jdk9/spec/ 我们已将Java EE移至: http//openjdk.java.net/projects/jdk9/spec/

Further reads: 进一步阅读:

  1. https://blogs.oracle.com/theaquarium/opening-up-ee-update https://blogs.oracle.com/theaquarium/opening-up-ee-update
  2. https://blogs.oracle.com/java-platform-group/java-se-offerings https://blogs.oracle.com/java-platform-group/java-se-offerings
  3. https://blogs.oracle.com/java/java-9-release-now-available 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 https://blogs.oracle.com/java-platform-group/convergence-of-oracle-java-se-embedded-with-oracle-jdk

The phrase "Java Programming Language" refers to the specification as provided by Sun (now oracle). 短语“Java编程语言”是指Sun(现在的oracle)提供的规范。 Sun provides a reference implementation of Java Virtual Machine and Java Compiler. Sun提供了Java虚拟机和Java编译器的参考实现。 Both of which are not open source (at least not fully like say Python). 这两个都不是开源的(至少不完全像Python一样)。

However OpenJDK for example is a complete open-source implementation of JAVA programming language. 但是,OpenJDK是一个完整的JAVA编程语言开源实现。 There might be more as well. 可能还有更多。

Most of the programmers think of Java as a programming language provided by Sun. 大多数程序员都认为Java是Sun提供的编程语言。 I think Sun only provides the language specification implementation can be done by anyone under any license. 我认为Sun只提供语言规范实现,任何人都可以在任何许可下完成。

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

"... At issue in this appeal are 37 API packages from Java SE Version 1.4 and Version 5.0. We have already concluded that the declaring code and the SSO of the 37 Java API packages at issue are entitled to copyright protection. Oracle, 750 F.3d at 1348. The Java programming language itself is free and available for use without permission. At this stage, it is undisputed that, to write in the Java programming language, “62 classes (and some of their methods), spread across three packages within the Java API library, must be used. Otherwise the language itself will fail.” Order Denying JMOL, 2016 WL 3181206, at *5. It is also undisputed that anyone using the Java programming language can write their own library of prewritten programs to carry out various functions. Although Oracle makes the Java platform freely available to programmers building applications (“apps”), it devised a licensing scheme to attract programmers while simultaneously commercializing the platform. In relevan “...此诉求中的问题是来自Java SE 1.4版和5.0版的37个API包。我们已经得出结论,有争议的37个Java API包的声明代码和SSO有权获得版权保护.Oracle,750 F.3d at 1348. Java编程语言本身是免费的,可以在未经许可的情况下使用。在这个阶段,无可争议的是,用Java编程语言编写“62个类(以及它们的一些方法),传播到必须使用Java API库中的三个包。否则语言本身就会失败。“订单拒绝JMOL,2016 WL 3181206,at * 5.使用Java编程语言的任何人都可以编写自己的预写库也是无可争议的。虽然Oracle使Java平台可以免费供程序员构建应用程序(“应用程序”),但它设计了一个许可方案来吸引程序员同时将平台商业化。 t part, Oracle charges a licensing fee to those who want to use the APIs in a competing platform or embed them in an electronic device. 在某些情况下,Oracle向那些想要在竞争平台中使用API​​或将其嵌入电子设备的用户收取许可费。 To preserve the “write once, run anywhere” philosophy, Oracle imposes strict compatibility requirements on licensees. 为了保持“一次编写,随处运行”的理念,Oracle对被许可方强加了严格的兼容性要求。 Oracle, 750 F.3d at 1350. Oracle also made available without charge under an open source license a version of Java called “OpenJDK.” Order Denying JMOL, 2016 WL 3181206, at *10. Oracle,750 F.3d at 1350. Oracle还根据开源许可证免费提供了一个名为“OpenJDK”的Java版本。订单拒绝JMOL,2016 WL 3181206,* 10。 Oracle maintains, however, that OpenJDK came with an important catch: any company that improved on the packages in OpenJDK had to “'give away those changes for free' to the Java community.” Appellant Br. 然而,Oracle坚持认为,OpenJDK带来了一个重要的关键:任何改进OpenJDK软件包的公司都必须“向Java社区”免费提供这些变更。“Appellant Br。 53. The evidence showed that Oracle licensed Java in 700 million PCs by 2005. Although Oracle never successfully developed its own smartphone platform using Java, it licensed Java SE for mobile devices. 53.证据显示,到2005年,Oracle在7亿台个人电脑中授权Java。尽管甲骨文从未使用Java成功开发自己的智能手机平台,但它还是为移动设备授权Java SE。 According to Oracle, the “mobile device market was particularly lucrative,” and ORACLE AMERICA, INC. v. GOOGLE LLC 10 “Java quickly became the leading platform for developing and running apps on mobile phones.” Appellant Br. 据甲骨文称,“移动设备市场特别有利可图”,ORACLE AMERICA,INC。诉GOOGLE LLC 10“Java很快成为在手机上开发和运行应用程序的领先平台。”Appellant Br。 9. ..." 9. ...“

Parts of the language are subject to license fees, so those sections don't appear to be "open source"... 部分语言需要支付许可费,因此这些部分似乎不是“开源”......

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

On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). 2006年11月13日,根据GNU通用公共许可证(GPL)的条款,Sun将大部分Java作为免费和开源软件(FOSS)发布。 On May 8, 2007, Sun finished the process, making all of Java's core code available under free software/open-source distribution terms, aside from a small portion of code to which Sun did not hold the copyright. 2007年5月8日,Sun完成了这个过程,除了Sun没有拥有版权的一小部分代码之外,所有Java的核心代码都是在自由软件/开源分发条款下提供的。

OpenJDK (Open Java Development Kit) is a free and open source implementation of the Java programming language. OpenJDK(Open Java Development Kit)是Java编程语言的免费开源实现。 It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GNU General Public License (GNU GPL) with a linking exception. 这是Sun Microsystems于2006年开始的努力的结果。该实现是根据GNU通用公共许可证(GNU GPL)许可的,具有链接异常。

Why there are still people that say Java is not open source or free as in free speech ? 为什么还有人说Java不是免费语音的开源或免费?

OpenJDK after you download it in a src folder you have windows,solaris,share,linux in the share folder, you can find classes. OpenJDK在src文件夹中下载后你有windows,solaris,share,linux在share文件夹中,你可以找到类。 There you can see the source code of all classes (ex. JButton). 在那里你可以看到所有类的源代码(例如JButton)。

Java语言是开源的,Sun没有权利开放的几个细分市场......检查更多的OpenJDK

Oracle annouced, that they are along with IBM and Red Har moving Java to Open source platform, Eclipse Foundation. Oracle宣布,他们与IBM和Red Har一起将Java迁移到开源平台Eclipse Foundation。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM