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.
October 13, 2010 at 5:33 am
I agree with you that Rails has lost the momentum. From my uninformed opinion as a sysadmin (and very occasional code contributor) running a couple of open source Java webapps in enterprise academia, and watching their development evolution, Java is an unrecoverable mess. It seems to me that new, large-scale web projects can’t afford to be monolithic in their architecture, which means Java doesn’t need to be the end-all be-all any more. The team of developers I support along with myself recently built an application using various components written in PHP, Perl, Java, Ruby, and Bash. It’s a small app, but it feels like a healthier approach to me. Solving the same problem in any single one of those languages would have been nearly impossible. Scale up to big problems, and it really starts to make little sense these days.
October 14, 2010 at 2:34 pm
Oracle seems determined to do as much damage as possible to the only thing that Sun had going for it. Java was adopted because it was pseudo-open and that allowed the ecosystem to develop. Without the openness, it’s just an inferior C#.
I have an affection for Java now after coming back to it mid-career, but it has a lot of problems. As the common compiled, managed OO language of web development it was very useful, and Google’s tools that extended it to JavaScript and mobile phone apps with GWT & Android were looking like a good extension of that role.
But if Oracle plans on being a dick about it, and it looks like they do, all of that is in trouble.
The problem is, what can reasonably replace it? From what I’ve seen none of the other current contenders is really capable of doing so.