Open Source Java – ‘Harmony’: do we really need it?

Apache have recently announced plans for an Open Source Java project, called ‘Harmony’.

I’m still in two minds about this. There has been a lot of pressure from the community for Sun to open source Java, but so far Sun have resisted. Instead they have implemented some other license agreements whereby they release and allow access to JVM source code early, during development and before the actual release, but as far as I know they are not soliciting community involvement.

I want to see the Java language and platform continue to grow, but right now it still is (not as fast as in the early days, such as in the first couple of years), and I’m not sure if community involvement would enhance the development and evolution of the platform or be harmful to it. For example, I see there could be a danger if anyone was allow to contribute the language would pick up so many different additions that would only be useful for some particular very specific problem (and < 5% of the time), that the language would end up overly bloated with unneeded features (as if it isn't heading that way anyway).

If you need additional features, whats wrong with producing a well documented open source API and release it as a Jar library that anyone can use, if they have a need for it. It doesn’t have to be included as part of the language, and people can choose whether they need it or not?

David Flanagan article on Generic Types (pt1)

O’Reilly have an in depth article on their site by David Flannagan, author of the Java in a Nutshell books now in 5th edition to cover Java 1.5 language changes, on the use of Generics.

I’ve always found the Nutshell books to be an excellent desktop reference, plus the introductory chapters give a very concise overview of the language features in Java. Click here for more details on Java in A Nutshell:

FindBugs: a Code syntax and bug/improvement analyzer

A couple of years ago I was impressed by the code analyzer feature in Oracle’s JDeveloper – it checked you code for unused variables, infinite loops etc – a useful utility to get a sceond opinion on your code (although never a replacement for a code review with other experienced developers).

The FindBugs project on SourceForge is a similar utility. Looks like it finds an impressive range of different bugs and areas for optimization.