Oracle, which officially took on the big job of shepherding Java two years ago this month, is traveling bumpy roads lately, with its modularization and licensing plans for Java raising eyebrows and security concerns coming to the fore as well.
Plans for version 8 of Java Platform Standard Edition, which is due next year, call for inclusion of Project Jigsaw to add modular capabilities to Java. But some organizations are concerned with how Oracle's plans might conflict with the OSGi module system already geared to Java. In the licensing arena, Canonical, the maker of Ubuntu Linux, says Oracle is no longer letting Linux distributors redistribute Oracle's own commercial Java, causing difficulties for the company. Meanwhile, security vendor F-Secure views Java as security hindrance. (Oracle declined to discuss these issues with InfoWorld.)
[ More upset users: Oracle rankled backers of the Project Hudson continuous integration server and OpenOffice.org office suite after taking over those projects from Sun. | For the latest perspectives on software development, subscribe to InfoWorld's Developer World newsletter. | Check out JavaWorld.com for hands-on Java advice, tips, and discussions. ]
Jigsaw's inclusion draws ire
With Jigsaw, Oracle intends to provide an approachable and scalable module system for large legacy software systems in general and the JDK (Java Development Kit) in particular, said Mark Reinhold, Oracle's chief architect of the Java platform group, in a recent blog post.
But some see conflict between Oracle's Jigsaw effort and OSGi, a long-standing dynamic module system for Java adopted by organizations like the Eclipse Foundation (of which Oracle is a member) for open source tools. "The major risk inherent in Project Jigsaw is that it is attempting to supplant an incumbent Java modularity system that has already seen a great deal of success," says Eclipse representative Ian Skerrett. "OSGi is widely used across the Java ecosystem in the implementations of IDEs, enterprise service buses, and application servers. Project Jigsaw must not only support the modularization of the Java platform, it also must provide seamless integration with the existing OSGi ecosystem."
Rather than benefiting Java, Jigsaw will only complicate matters, says Peter Kriens, technical director of the OSGi Alliance: "Jigsaw is inventing something that doesn't really fit very well in Java."
Help may be on the way, however.
Floated in an OpenJDK online discussion group is a proposed effort called Penrose to implement interoperability between Jigsaw and OSGi implementations. This project would enable cooperation between Jigsaw and OSGi to show how OSGi implementations would run on the OSGi runtime and how to load Jigsaw modules into OSGi frameworks.