"Regarding Java and Open Source, I have some good news and some bad news...
The good news is that Java is "open" in the sense that you can look at its source code
The bad news is that it's not truly "open source" according to the
official definition.
The good news is that you can see the source so you can work around problems.
The bad news is that you can't actually fix the problems in the JDK.
The good news is that you can fix the problems in your own version of the JDK.
The bad news is is that you can't distribute your own version to your customers.
The good news is that you could always email your fix to Sun and hope that they incorporate it.
The bad news is that that's never really worked at all.
The good news is that Sun has now set up a real mechanism to submit bug fixes,
The bad news? Well, we'll have to wait and see if there is any bad news. "
Here's the link to the complete article.