I followed the news about Oracle’s Java acquisition pretty intense in the last weeks and today the summit seems to be taken: The Apache foundation left the Java community process that accounts for specifications found in nearly all J2SE + J2EE components. I think this is a destastrous step for the overall development and progress of the Java ecosphere. Apache is a foundation that embraces open source more than no one else. Many products are built upon Apache technology, e.g. the popular Apache Server (that has nothing to do with Java), Tomcat, Geronimo, ANT, not to mention all the little helper projects and frameworks (JSF) that help making web development easier, robust and reliable.
With the retirement of Apache lots of knowledge is draining from the JCP and the foundation itself hasn’t told yet what they’re about to do next. Maybe they start off working on their open Java implementation Harmony but I doubt that it’ll gain lots of popularity as long as the “official” Java is maintained by a commercial and therefore “believable” company like Oracle. From my point of view Apache’s decision will lead to a slow but remarkable decrease of Java usage in the development industry. There are plenty of companies, organizations and OS projects that will suffer from it since the foreseeable forking of Java technology will lead to a fragmentation that’s going to kill Java’s fundamental strive to unify operating systems and runtimes untilizing one open binary compatible platform. Shortly put: Java is nothing more than a formally open .NET framework, controlled by a commercial company.
This is not the way open software should be developed. One could have said that when Google launched the binary incompatible Dalvik VM on Android over that the search giant is going to trial with Oracle. But at least Google tries to implement an open source process behind the popular mobile operating system.
Since fragmentation of technology will lead to a mess of implementations Java technology is about to loose it’s spearhead position in the server environments in the middle future. I’d estimate that by 2015 many projects won’t be launched on Java anymore but choose a meta oriented approach like Ruby, PHP or Python. It’s time for every developer to think about her future. Do you want to develop against a fragmented and unvisionary, monolithic controlled architecture like Java or .NET or do you want to concentrate on upcoming standards like Canvas/HTML5, PHP (APC), Python (Django), Ruby ? It’s your decision. I’ve made mine.