简体   繁体   中英

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?

I have been searching on Google too, but I didn't find a proper answer.

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. Sun's Java implementation (the most popular one), is one of them.

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. Check out 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 . There are also open implementations of the Java development tools and runtime, such as 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 :

  • Oracle is proposing to increase the release cadence of Java SE to every six months
  • Oracle will simplify how developers, customers, and consumers use Java SE
  • Starting with JDK 9 GA Oracle plans to ship OpenJDK builds under the GPL
  • Oracle has proposed a time-driven release model for Java SE instead of the historical feature-driven model
  • Oracle JDK will contribute previously commercial features such as Java Flight Recorder to OpenJDK
  • Oracle will work with other OpenJDK contributors to make the community infrastructure complete, modern and accessible
  • The Oracle JDK will continue as a commercial long-term support offering
  • 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

We have moved Java EE onto : http://openjdk.java.net/projects/jdk9/spec/

Further reads:

  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

The phrase "Java Programming Language" refers to the specification as provided by Sun (now oracle). Sun provides a reference implementation of Java Virtual Machine and Java Compiler. Both of which are not open source (at least not fully like say Python).

However OpenJDK for example is a complete open-source implementation of JAVA programming language. There might be more as well.

Most of the programmers think of Java as a programming language provided by Sun. I think Sun only provides the language specification implementation can be done by anyone under any license.

From Oracle America Inc v. Google LLC No. 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 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. To preserve the “write once, run anywhere” philosophy, Oracle imposes strict compatibility requirements on licensees. 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 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. 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. 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. 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). 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.

OpenJDK (Open Java Development Kit) is a free and open source implementation of the Java programming language. 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.

Why there are still people that say Java is not open source or free as in free speech ?

OpenJDK after you download it in a src folder you have windows,solaris,share,linux in the share folder, you can find classes. There you can see the source code of all classes (ex. JButton).

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

Oracle annouced, that they are along with IBM and Red Har moving Java to Open source platform, Eclipse Foundation.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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