Wow, it finally happened. Java is now officially open-source. First of all, I think it’s great to be able to take a peek under the hood of Java.
Now there is a catch though. I’m not entirely sure, but it seems that it is JDK version 8 (!!) which is available under an open-source license. The sources and binaries of JDK 6 and JDK 7 can be downloaded, but they are licensed under the JRL (Java Research License), which has some restrictions.
To check it out, take a look overhere. Note the usage of username “guest”. Personally I have checked out using the command:
svn checkout https://openjdk.dev.java.net/svn/openjdk openjdk --username guest
Yes, that’s without the trunk part. I will perform a chechout of the entire repository, including all branches and tags of the main project, hotspot project and the compiler project. That’s like, everything. After the checkout the source code tree is about 220 MBs in size. That’s a lot of code.
Also note the usage of the GPL with the OpenSDK. Corporations need not worry though, The GPL license has an addendum called the classpath exception, a GNU endorsed mechanism to allow linking of proprietary code to API code.
Anyway: Is open-source java a good thing or a bad thing. There are a number of opinions:
Pro: Open Source Java …
- … will speed up development and feature maturity.
- … will provide developers with the possibility to review the JVM/Compiler code and truly understand it’s workings.
- … will allow the Sun Java release to be integrated with true open-source Linux distributions.
Con: Open Source Java …
- … will become a hindrance because of wild growth of JVM branches.
- … is not needed, we’ve got the JRL license, so we can already review the code.
- …, why join those overzealous fanatics, open-source is a pest that should be exterminated with all available measures. (Erh, right…)
Of-course there are more arguments to be made in favor and against open-source Java. Personally I think it’s great. Fiddling with the code is not something for everybody. I took a stroll through the code the other night and yes it is intimidating, believe me. But because it is such an essential component to any Java runtime and development environment, I do think it is best when you have the source-code available. Also I don’t think there will be any wild fire like scenario with heaps of different Java SDKs available will happen any time soon. I do think certain people and organisations might provide their own extensions, much like J2EE server implementations do. But gross incompatibility, I don’t expect that. See, Sun is still the driving force behind the Java Community Process which defines the standards that a Java implementation has to comply to. So as long as there remains a single entity that defines the shape of Java today and in the future, we will all be all-right.