Apache committer Jon Stevens says it’s time for the Apache Software Foundation to consider dumping its Java projects. Paul Querna says that developing open source software in Java is a trap because there will be no Java implementations other than the one offered by Oracle.
The piece of news that is triggering this reaction is that IBM has announced it is going to work with Oracle on the OpenJDK implementation and will no longer contribute to Apache Harmony, an effort to create an open source, compliant implementation of Java. In announcing that change, IBM said that they were abandoning Harmony because they believed that Oracle was never going to give them the test tools necessary to certify that Harmony was a fully compatible implementation of Java. This announcement, along with Oracle’s lawsuit against Google, makes it clear that Oracle is not going to support third party implementations of Java. They’re going to discourage them.
As a practical matter for people in the business of developing applications using Java, I don’t think this changes all that much. I use Java every day and I’ve never given any thought to Apache Harmony or the Java Community Process. If this move were to discourage open source activity on the Java platform, it will hurt developers down the road, but my guess is that nearly all open source Jave development is done using the official version of the JDK. That’s not likely to change anytime soon.
At one time, I thought a lot of Java developers would shift to Ruby on Rails. I no longer think that’s the case. We won’t see a mass migration to PHP at this point, either. I suppose we could see people moving to Scala and other languages, but they’re still niche players. So I think Java is going to continue to be what it already is. No longer the belle of the ball, but still the platform businesses use to build their Web applications.
Update: Just read Steven O’Grady’s blog post on this topic.
Matt Raible on Java frameworks
Matt Raible takes on the argument that the age of Java Frameworks is over. One interesting aspect of the Java ecosystem is that there’s always some new thing out there that we’re supposed to be migrating to. And they’re nearly all just terrible in terms of productivity. Now apparently, we’re supposed to be looking at Java EE 6. I don’t even know what that is, but I’m sure it’s awful. In the meantime, I continue to plug along with Spring and Hibernate, using them in the simplest way I can.
Here’s a snippet from a post on migrating from Spring to Java EE:
Where do I sign up?