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.
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 :
We have moved Java EE onto :http://openjdk.java.net/projects/jdk9/spec/
Further reads:
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 relevant 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"...
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).
Oracle annouced, that they are along with IBM and Red Har moving Java to Open source platform, Eclipse Foundation.