Skip to main content

Carry On Wayward Son

Posted by editor on January 24, 2007 at 6:43 AM PST

Hani's case against pointer JSR's

Many Java programmers know Hani Suleiman from the brutally critical and often obscene Bile Blog, one of the most popular blogs on JRoller. Fewer are aware of his role as a founder of the Open Symphony project, which has produced a number of projects in widespread use, and probably fewer still recall that he was elected to the JCP executive committee in 2005.

So it's interesting to see him joining with Sun in voting against JSR 291, Dynamic Component Support for Java SE. While the JSR passed, Hani and Sun's "no" votes raise similar exceptions, questioning the value of JSR's that are effectively pointers to standards codified elsewhere. Hani lays out his objections in his "no" vote:

The expert group seems to have done no work here, and the 'specification' as it stands seems to be one paragraph pointing to an external OSGi document. While the specification is technically sound, I do not believe a JSR should exist merely to rubber stamp an external effort, and I fail to see the benefit to the Java community at large by assigning JSR numbers to external specifications.

Interestingly, Sun made pretty much identical comments in its "no" vote:

However, our understanding is that, in producing this public review draft, the expert group's role has been to gather some yet not all of the requirements it meets, and that the design work and decision making took place exclusively outside the expert group and instead within the OSGi working group.

We believe this approach for developing technology is inconsistent with the goals of the JCP to create expert groups empowered to evolve technologies, with the freedom to make design choices and technical decisions based on the needs of the Java Community.

So here's a question to consider. What's the proper relationship between the JCP and external standards bodies? I mean, it's not like there are JSR's to codify commonly-used standards like HTTP, JPEG, or SOAP, even if many Java API's touch those standards. But on the other hand, one of the purposes of JSR 306 is to develop a new vision of the JCP that better suits having relationships with other standards bodies. Should JSR 306 explicitly support, or forbid, "pointer" JSR's like 291? What do you think? Talk about it here, or check out the InfoQ article JSR 291 (OSGi) passes Public Review ballot, which has more details and a comments section of its own.

In Java Today,

Sun has announced that it is releasing its Sun
Java System Content Delivery Server to the open source community.
Content Delivery Server is a mobile content delivery and management
platform that enables mobile operators to launch and sustain content
services more cost-effectively. The source code is available today under
the the Common Development and Distribution License (CDDL) at

The Robotics Community's new productionplanning project is being built around the "Routing, Sequencing, and Scheduling of jobs for Production planning to incorporate new functionality's into the existing software. The purpose of this project to find the Optimal job sequence when some machines of same type work in parallel and job can follow any Arbitrary path along the machines and different types machines with Optimal or near optimal Sequence."