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.