Java's team of rivals: Conflicts and alliances in the Oracle era

Oracle may be Java's new proprietor, but SpringSource, Apache, and Eclipse are driving the development agenda too

Oracle's acquisition of Java founder Sun Microsystems, which finally closed in January after lingering for eight months, placed Oracle in charge of Java -- or did it?

On the surface, it would seem Oracle, as the new proprietor of all things Sun, is now the master of Java's fate. Besides inventing Java, Sun had steered important Java technologies such as the GlassFish application server, which has served as the open source reference implementation of enterprise Java. Sun also held power in the Java Community Process (JCP), the official scheme for amending Java.

[ Java founder James Gosling gives Oracle a mixed review in its stewardship of Java. | Keep up with the latest in software development and programming with InfoWorld's Developer Central newsletter. ]

But there has been more to Java than the guidance of its founding company. Many other industry players -- including the Apache Software Foundation, Eclipse Foundation, JBoss, and SpringSource -- have made vital contributions to the ecosystem regardless of what Sun was doing.

For example, the Spring Framework for Java development has served as an alternative to Java technologies officially sanctioned within the JCP. Apache has also built implementations of official Java technology.

So Oracle, while still perhaps the most powerful player in the Java space, is by no means the only one that can decide what happens with the popular platform and language. In fact, it may not even be the major driver behind Java innovation.

"I think it's clear that most of the innovation we see in the in the Java world today is coming from outside Oracle," says Rod Johnson, founder of the Spring Framework and general manager of the SpringSource business unit at EMC VMware. (VMware recently bought SpringSource.) He lists his own Spring technologies as well as the Google Web Toolkit and Eclipse tooling as prime examples.

To its credit, Sun enabled all this to happen by making Java available to anyone who wanted it. Java founder James Gosling strongly encouraged such openness; thanks to his efforts, even before Sun open-sourced Java in 2006, that Java source code already was available.

Spring and Eclipse lead the pack of rival Java technologies
The Spring Framework, which has been downloaded an estimated 3 million times, debuted in 2004. Johnson says he developed it to provide a simpler alternative to official Java technologies such as J2EE and Enterprise JavaBeans. "They typically made a lot of applications very, very difficult" and overly complex to implement, Johnson says.

"I think truly it has gotten to the point [where Spring Framework] is the de facto choice for enterprise Java development today," Johnson adds.

Eclipse, with its IDE and other open source technologies, also has been an outlet for Java development. "Eclipse was founded to provide a place where innovation can happen in and around Java that was done in a vendor-neutral, open organization," says Eclipse executive director Mike Milinkovich, himself an ex-Oracle official.

But Eclipse doesn't see a need to impose an Iron Curtain between itself and Oracle. Milinkovich points out Oracle is a participant in Eclipse, shepherding projects such as the EclipseLink proposal for a Java-to-relational persistence framework. Oracle also pays $250,000 a year in dues to the foundation and serves on the Eclipse board of directors. By contrast, Sun resisted Eclipse participation and usually was its chief rival; the Sun-driven NetBeans IDE was the primary open source alternative to the Eclipse IDE.

Apache, JBoss build Java technology; conflicts arise
Apache has been a critical player in the development of open source Java technology as well. The Apache Tomcat Java Web server was the first implementation of a Java specification at Apache, notes Geir Magnusson, who is vice president of the Java Community Process at Apache and an Apache board member. Apache also has built Java technologies such as the Maven and Ant build tools without input from Sun. In addition, Apache recently released Cayenne Version 3.0, an object-relational mapping technology for Java.

But Apache had an ongoing dispute with Sun over getting a technology compatibility kit for the Apache Harmony implementation of Java. Even with Oracle now in charge, the dispute has not been resolved, Magnusson says. Apache objects to the Harmony usage limitations that would be imposed by the Java license Sun offered. "[Sun seemed] to be desperately protecting Java ME [Micro Edition]," he says.

JBoss also was a pioneer in open source Java servers. "It was certainly outside the whole J2EE process as it was called then," recalls Mark Little, senior director of engineering for middleware at Red Hat, which acquired JBoss in 2007. JBoss had been kept at arms' length from the Java process by Sun, but the company is now part of the JCP, driving specifications such as CDI (the Context Dependency and Injection framework), he notes.

Oracle may not be the only player, but it remains critical to Java
Even with these independent advocates, Java needs Oracle to survive, says Eclipse's Milinkovich. After all, Oracle controls the JCP and governs both GlassFish and OpenJDK, which is the open source reference implementation of Java. "If Oracle fails to shepherd Java in the right direction, then there will definitely be negative repercussions for everybody in the ecosystem," he stresses.

Of concern to Milinovich is that Oracle has "been awfully quiet since the acquisition. ... We're definitely looking for Oracle to provide some leadership here." (Oracle declined to comment for this article.)

Oracle has wanted the JCP to be a more open process and could become a better custodian of Java than Sun if the company keeps that pledge, says Red Hat's Little. And he says he hopes Oracle does not take a heavy-handed approach to Java, as Sun did. Oracle's role in the JCP is highly critical, notes Apache's Magnusson, because the JCP "is not an independent body"; it was financed and managed by Sun and now by Oracle.

Sun had been a good custodian of Java until it started to compete with other companies such as IBM, Little says. "As soon as they started to compete, they had a conflict of interest that they could never get over," resulting in a process that was slowed down for business reasons rather than technical reasons, he notes. "If [Oracle does] what Sun did, they'll probably fracture the whole community [and] we won't have the benefit of a community standard like we have today," Little warns.

So far, users are positive about Oracle's role
A recent survey of open source software users revealed Oracle was viewed by most respondents as a better steward of Java and the MySQL database than Sun. Open source business intelligence software company Jaspersoft in April queried more than 500 of its customers about the future of Java and MySQL and found somewhat surprising results.

Most large organizations in the survey planned to use Java more than before and expected to see MySQL improve faster under Oracle, the survey found. Eighty percent of respondents believe the Java process will improve or stay the same.

"The summary is that we believe that there may be a resurgence in use of Java" under Oracle, says Jaspersoft CEO Brian Gentile.

This article, "Java's team of rivals: Conflicts and alliances in the Oracle era," originally appeared at InfoWorld.com. Follow the latest developments in Java and programming at InfoWorld.com.

Join the discussion
Be the first to comment on this article. Our Commenting Policies