Java In Crisis?
A storm is sweeping through the Java ecosystem.
A storm is sweeping through the Java ecosystem, stirring up old debates and sparking new ones. You could be tempted to say that a hot autumn is better than the years of stagnation, but the current atmosphere is clearly showing signs of a programming language in crisis. Throughout it all, Oracle – Sun’s successor and new steward of Java – maintains a stony silence.
A quick chronology of events:
- January: Oracle announces it has completed its acquisition of Sun Microsystems, following a six month period where Java made little headway.
- August: The end of OpenSolaris.
- August: The lawsuit against Google over Android.
- September: JavaOne sees some technical announcements, but important issues regarding the future of Java remain unanswered.
- October: Oracle cooperate with IBM on OpenJDK.
- October: Resignation of Doug Lea from the JCP EC.
- October: Apple announce they are deprecating Java.
- October: Nokia rejects Java in smartphones and Tablets.
1) Oracle is not a community-orientated company: it relies on its internal process control. This is rigorous but efficient. Without them, the company would not have been able to grow with acquisitions, to more than 100,000 employees. Oracle’s decision-making processes are not discussed in public. With this business model, it is unclear how a credible integration of the Java community will work. It is likely that a reorganisation of the entire community process is currently being discussed behind closed doors – without consulting that very community.
2) OpenSolaris is not OpenJDK. Let me say in advance: when it comes to OpenJDK, Oracle has provided a credible and reliable roadmap covering the next few years. However, the fate of OpenSolaris has shown us how easy it is for Oracle to close a project if it doesn’t fit their strategy. But, to be fair, OpenSolaris and OpenJDK have one thing in common: there was virtually no essential community contribution during their lifespan.
3) As to the action Oracle have taken against alleged patent infringement against Google and Android (the legal part of this matter is currently being clarified by the lawyers) the strategic implications have already been widely discussed. It is true that Android may well be understood to be a fork of Java, and it is quite clear today that Sun would also have sued Google, if they were capable of doing so. It was only due to their standing in the market and their dwindling financial resources, amongst other problems, that Sun were forced to accept Android in silence. Oracle is now showing its teeth – but the Java community would have preferred more acrimony in constructive issues, rather than in the fight with a competitor.
4) JavaOne was Oracle’s premier as a ‘steward of Java,’ and the Ellison Company certainly played their role as heralds of technical innovation. But, if questioned on community participation (not merely on a technical but also on a political-strategic level) the answer was always “no comment.” This was not good enough for a JavaOne which had nearly fifteen years of tradition to live up to.
5) Instead of involving the community, Oracle has decided to form a duopoly with IBM. Again, this was an efficient decision, but contrary to the idea of community participation.
6) Whether the brain drain in Java is a severe loss, or a necessary generational change, only time will tell. But the fact that Doug Lea, a recognised and neutral representative of the JCP, has just submitted his resignation and thus expressed his clear distrust of Oracle’s motives, has left the community shaken.
7) In the Release Notes of a small Mac OS Update, Apple announced its standard operating system will not be shipped with a preinstalled JDK. After Apple’s determined exclusion of Flash, Java seems to be the next victim – and it is being made a victim by the most successful and innovative computer manufacturer around today. This shows that Apple is not dependent on being connected to the vast Java ecosystem. On the other hand, one should not forget that the JDK for Windows has always been developed by Sun (now Oracle) and not Microsoft, and that the distribution of Java amongst the majority of PCs has not been achieved through a partnership with Microsoft, but through agreements with HP, Dell, Lenovo, Acer, etc….
8) Nokia is planning the future of its seminal product categories – Smartphones and Tablets – without Java. The programming models for Symbian and MeeGo apps will be based solely on Trooltech’s Qt, according to the Nokia press release.
In this context, Oracle stands silent. Not only does it refuse to talk to the community, it also doesn’t seem to talk to its partners. The Oracle Technology Network (OTN) commented on Apple’s rejection of Java via Twitter:
To people asking me if Oracle will supply a JVM for Mac OS X – when I have the answer, I’ll share it.
We can be sure that Oracle is determined to keep Java on the trail of success and return Java to the forefront of technical innovation. But, we are also learning that Oracle has yet to arrive in the communication culture of open source and Web 2.0. The company is too busy analysing, with strategists and lawyers, the impact of every small detail. Java users are growing increasingly concerned about this lack of communication, but one thing is clear: failure is not a typical action for Oracle. The company will continue to work on establishing a control mechanism for Java which is to their liking, and they will do this successfully. It will pursue a path that has its own interests at heart, whilst meticulously judging how much they can impose on the community. Oracle is currently not really with the community, but it will not march diametrically against the community.