6

Why do we have two versions of Java ?

  1. The jdk from Oracle and the one from OpenJDK.
  2. And why is it that OpenJDK is available only for Linux ?
  3. And on Wikipedia,I find that Java is open source .But ,I find a copyright information inside the Oracles JDK saying everything restricted ???
Am_I_Helpful
  • 18,735
  • 7
  • 49
  • 73
Kishore Vignesh
  • 141
  • 1
  • 8
  • 3
    It's complicated. :) The important thing to know is that there's only one Java specification. What you mention are different implementations of it and the standard Oracle JDK and OpenJDK aren't the only such implementations. But basically when Sun, the original developers of the Java platform, were taken over by Oracle, the old Sun implementation split into two: one of them became OpenJDK and the other stayed with Oracle. – biziclop Sep 10 '14 at 15:23
  • 1
    Where is all the "information" in this thread pulled from? It was Sun who created OpenJDK, to respond to the wishes of the Java community to drop the closed source nature of the standard JDK. All you have to do is go to the actual OpenJDK website and READ! http://openjdk.java.net/ – Gimby Sep 10 '14 at 15:41
  • What do you mean, two versions of Java? What about Zing and Zulu and Dalvik and ... – David Conrad Sep 10 '14 at 15:44
  • See, I told you it was complicated. – biziclop Sep 10 '14 at 15:46
  • 1
    @DavidConrad And of course Jikes RVM. :) – biziclop Sep 10 '14 at 15:47
  • There are easily a dozen different version of Java, produced by different vendors. IBM has 2 or 3, Android has one, several other vendors have them. Oracle itself ships several. – Hot Licks Sep 10 '14 at 16:17

2 Answers2

5
  1. Open JDK is trying to reinvent the wheel by giving you freedom of choice (you can use cool OpenJDK JVM or the mainstream Oracle one)

  2. If something is that cool OBVIOUSLY it's only for linux

  3. that question is out of SO scope, besides I'm not sure myself...

Lucas
  • 3,181
  • 4
  • 26
  • 45
2

There are many java distributions. Oracle JDK is just the reference one, but others like Open JDK exist. IBM has its own, for example. While they all share the mandatory set of features, each one goes beyond that and implement their own proprietary set. Parts of Oracle JDK are not open source and it requires licensing for embedded devices, and this is why Open JDK exists - to provide a fully free Java implementation. Now, Java, as in "the spec" is open source and most of Oracle JDK is as well. Other companies are allowed to make their own implementations as long they pass Oracle's test that certify compatibility. Still, Oracle owns the Java trademark and I think the ability to certify other implementations. Somewhere there lies in the dispute with Google and their Java implementation (same with now defunct Apache Harmony). As for the Open JDK on Windows, it can be done by building the sources (like this guy here did). The binaries do not exists probably because there was no demand. It's only Linux that imposes limitations on proprietary software.

Community
  • 1
  • 1
kaqqao
  • 12,984
  • 10
  • 64
  • 118