jQuery in Action, 2nd edition*
The moose likes Beginning Java and the fly likes Is JAVA OpenSource? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Is JAVA OpenSource?" Watch "Is JAVA OpenSource?" New topic
Author

Is JAVA OpenSource?

Clarence J M Tauro
Ranch Hand

Joined: Aug 09, 2008
Posts: 30

Actually, we were having a debate "If or If not Java is a OpenSource"..
Not talking about OpenJDK.

Again I skimmed across the internet, again to find some unnecessary arguments. I thought this would be the best place to get the confirmed answer.


Kumar Kamlesh
Greenhorn

Joined: May 10, 2009
Posts: 15
Java as a specification is open source but its implementation is vendor specific.
Clarence J M Tauro
Ranch Hand

Joined: Aug 09, 2008
Posts: 30
Kumar Kamlesh wrote:Java as a specification is open source but its implementation is vendor specific.


Agreed..

Question was "Is Java Open Source"?..
Then what is OpenJDK?
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41102
    
  45
Sun's Java 6 and Java 7 implementations are available as open source under the term "OpenJDK" ("free software", even, since the license is GPL). The same goes for the Kaffe/Classpath and Apache Harmony JREs. Other vendor's implementations (like Apple and IBM) are closed source.

Java as a specification is open source but its implementation is vendor specific.

For a spec it doesn't make much sense to call it "open source". I'd say the spec is openly available, and can be implemented royalty free. Calling the result "Java" used to require a license from Sun, though; I'm not sure if that has changed.

If by "Java" you mean something besides the spec or any of its implementations, please be more specific what you're asking about.


Ping & DNS - my free Android networking tools app
Kumar Kamlesh
Greenhorn

Joined: May 10, 2009
Posts: 15
As the home page of OpenJDK itself says. It is :

the place to collaborate on an open-source implementation of the Java Platform, Standard Edition, and related projects.


So again it boils down to the implementation part.

Having an insight of the various open source licenses (GPL, LGPL etc) available may also help catalyzing your debate.

Try to compare Sun's Java J2SE license and that of the OpenJDK.
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

I'm not sure if it technically requires a license, but it *does* require passing the compatibility test suite. Using Harmony in some applications would (appear) to require a commercial Java license. It's all a bit... murky.

See the open letter to Sun and its accompanying FAQ for details. There are also some interesting comments here.
Kumar Kamlesh
Greenhorn

Joined: May 10, 2009
Posts: 15
Licenses can be classified as license required to procure a software [which includes various costs] and license required to use the software [which includes the modifications in the source code, distribution, copyrights etc; to be more open source specific].

On the download page of Sun's J2SE 5.0 JDK Source Code you can find Sun Community Source License (SCSL) and Java Research License (JRL).

Correct me if I am wrong.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41102
    
  45
On the download page of Sun's J2SE 5.0 JDK Source Code you can find Sun Community Source License (SCSL) and Java Research License (JRL).

Note that these apply to the source code only; not the binaries.
Clarence J M Tauro
Ranch Hand

Joined: Aug 09, 2008
Posts: 30
Ulf Dittmer wrote:Sun's Java 6 and Java 7 implementations are available as open source under the term "OpenJDK" ("free software", even, since the license is GPL).


So do I conclude Java 1.6 and Java 1.7 are Open Source.. and Java 1.2 thru 5 are not?
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41102
    
  45
I'm not sure what you concluded, but that would be a correct conclusion :-)
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

No, that conclusion is not entirely correct.

The version of Java 6 that you can download from http://java.sun.com/javase is not open source.

There is a version of OpenJDK that implements the Java 6 specification, which is open source. And Sun is working on JDK 7 in the OpenJDK project; Sun Java SE 7 will be fully open source.

There is some history behind this. Sun decided some time ago to make their Java implementation open source. But they couldn't just make the source code available like that, because they used third party libraries for which they do not have the rights (for example for font rendering, SNMP and other things). To make Java fully open source, those third party libraries have to be replaced by open source software. That is what Sun is doing in the OpenJDK project. If you download the Java 6 version of OpenJDK, you get Sun Java 6 but with the proprietary parts replaced by open source software.

Note that, as already discussed above, you can't really say "Java is open source" because "Java" is a specification. Implementations of that specification can be open source - some are, and some are not.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Clarence J M Tauro
Ranch Hand

Joined: Aug 09, 2008
Posts: 30
Thanks Jesper, really appreciate your effort to explain this to me..
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: Is JAVA OpenSource?
 
Similar Threads
SCJP,SCJD,SCEA with over 3 years experience!
opensource language
Good reporting plug-in for java.
java IO, File Processing
Java XML Opensource