Opensource Java Continues…
By Adrian Sutton
I can’t resist picking apart this comment to my earlier post.
It’s easy to look at the code and modify it, but it’s not as easy to actually test that code. You need to mess with bootclasspaths and things like that. How is this different to an opensource version of Java? You would still have to set up all the correct bootclasspaths and make sure you had things in the right place for it to work. That’s the design of Java, it has nothing to do with whether or not it’s opensource. Additionally, it’s not that difficult, just replace rt.jar (on Sun based JREs, classes.jar on Mac) with your new modified version and viola, you have a modified JRE.
And even if you do submit patches, you can’t include patched versions of JDK classes in your application, nor can you distribute your patches. No one could create a “development version” of the JDK that included other people’s patches, and that could be distributed for use with other applications. This is considered a good thing by pretty much everyone I’ve head from on the issue. The greatest problem with opensourcing Java is that it could become fractured with multiple different non-compatible versions floating around causing trouble for Java developers. By not allowing you to distribute a modified JRE that problem is avoided.
I think Scott’s response to IBM was silly, since (1) IBM offered to release the source to their JVM, and (2) Sun doesn’t make money off of the JDK like IBM does from DB2. 1. If IBMs JVM is all IBMs intellectual property, they could opensource it without Suns help. There is nothing against having an open source JVM implementation, IBM wanted Sun to release control of Java certification. 2. Sun makes a lot of money off of Java through licensing their implementation, certification, developer training and a whole bunch of other ways. Think of the JRE as Sun’s “free reader” like Adobe provides a free reader for PDF documents.