It’s not that developers have abandoned Java wholesale. They haven’t. Despite years of market-share declines amongst programmers, with the rising generation of developers preferring dynamic programming languages like PHP, job growth remains healthy for Java developers. Outside the realm of market-share data, however, there is cause for concern in Java Land. What with Oracle’s apparently loose management of the Java Community Process, Apple’s rejection of Java altogether, and Google’s sidestepping mainline Java for Android, Java’s future looks a bit shaky at present.
Intrigue at the Top
For one thing, as much as people may have complained about Sun’s guarded control of the Java Community Process (JCP), concern is growing that Oracle’s commitment to Java may benefit it more than it benefits the wider Java community. Oracle, perhaps recognizing that it had a PR battle to win, has repeatedly emphasized Java’s central importance to it, leading the Java community to mostly give Oracle the benefit of the doubt.
Well, until Oracle nominated little-known Hologic to the JCP’s executive committee, the body tasked with “guiding the evolution of Java.” The executive committee is supposed to represent “major stakeholders and a representative cross-section of the Java Community,” but prominent members of the Java community, including Stephen Colebourne, a prominent Java developer within the JCP, called foul on the inclusion of Hologic, a company little known in Java circles. Colebourne accused Oracle of stacking the JCP deck in its favor, given Oracle’s longstanding, cozy partnership with Hologic.
While Eclipse Foundation Marketing Director Ian Skerrett is quick to suggest this looks more like diversification of the committee than stacking it, he also points to a growing distrust Oracle has engendered by largely remaining silent in the face of criticism. Oracle’s management of the JCP has already caused one JCP executive committee member, Doug Lea, to reject further association with the JCP.
“Dear Oracle, get a clue,” suggests Skerrett.
No Room for Java in a Mac World
Maybe in addition to a clue, Oracle needs a developer platform. After all, this past week news broke that Apple had decided to discontinue development of its version of Java for the Mac. Apple CEO Steve Jobs put the onus on Oracle to develop Java for the Mac if it wanted Java to remain available to Mac developers.
But this is unlikely, as Java founder James Gosling writes, because “OS X has piles of secret APIs” which make the Mac version of Java difficult to implement without significant Apple involvement. OSI director and former Sun open-source guru Simon Phipps also points out that this move effectively leaves Mac-toting developers with a hard choice: stick with their Mac and largely abandon Java or move to a PC.
To add insult to injury, Apple’s new Mac App Store rules give Java the boot. Apparently, there’s no room at the Apple inn for Java.
True, Mac OS X still commands an anemic share of the overall personal computing industry, but as any attendee of a developer conference will tell you, it has significant traction with developers. Apple is betting that it can convince developers to “write once for Apple, run everywhere for Apple,” and it may have some success, which leaves Java fighting to stay relevant with the developer demographic. Chris Adamson, an industry consultant, believes Java’s disappearance from the Mac means very little, but removing the second-largest development platform for developers isn’t going to do enterprise Java any favors.
Stick a Fork in it
Nor does mainstream Java fare much better in mobile, with Apple ignoring or barring it, and Google Android effectively forking it. In fact, Oracle has also stirred a fair amount of ill-will within the open-source Java community by suing Google over this Android fork (“Dalvik”).
All of which leaves Java alive and still well in enterprise computing, but facing strong headwinds as Oracle takes it into the future. BonitaSoft CEO Miguel Valdes-Faura, however, feels that there’s room for optimism:
Java is facing a real challenge right now, but I don’t see it so much as being under siege as it’s facing a transitory period. There is ample evidence that suggests Java’s foundation remains strong: from the number of enterprise products being developed in Java — the associated Java developer jobs — to the growing adoption of Java by Open Source communities.
He could be right, but now seems like an ideal time for Oracle to rally its Java troops with a truly open JCP. The company recently made a big move in this direction by bringing its long-time nemesis, IBM, more firmly into its Java camp through an OpenJDK partnership. Some, like Lea, feel that OpenJDK is the only future for Java, given Oracle’s heavy-handed stewardship of the JCP:
For the core Java platform…the only existing vehicle for which I can foresee a useful role for the academic and research community is OpenJDK. OpenJDK is a shared-source, not shared-spec body, so is superficially not an alternative at all. But at this point, a Linux-style model for collaboratively developed common source is likely to be more effective in meeting upcoming challenges than is the JCP.
Oracle needs to head off this criticism with open, candid involvement in the Java community. It needs to communicate its plans for Java, and then listen for feedback. Oracle needs to rally the troops around an open Java flag, rather than sitting passively as Apple and others dismiss Java, which is far too easy to do when Java comes to mean “Oracle’s property” rather than community property.
Disclosure: I work for Canonical, a Linux vendor.
Related content from GigaOM Pro (subscription req’d):