The Java Gated Community Process


The JCP may feel like an 'open' process if you're a mammoth, or even if you're a reasonably well-off sabre-toothed tiger, but to us small mammals, it's the same old s***, different day, that we get from standards organizations. We get to run around among the mammoths and sabre-toothed tigers wearing funny lenses that blur our vision and working with tools that may not have been created with our needs in mind.

The price of _joining_ the process (as a partner, where it appears you do have more influence) is even more irritating because Sun is, after all, a vendor. If I really wanted to give Sun Microsystems a sizable check, I'd expect at least a Sparc 5 with a huge monitor to show up in return. Giving Sun $5000 so this poor company can manage a not-so-open process ('Process Cost Sharing') is ridiculous.

Given that $5000 pays all my expenses for a few months, the cost to small business and self-employed folks is outrageous. I'd love to participate in the process as a 'full' member, contributing time (which costs me something too), the standard currency for open source and open process participation, rather than a large sum of money that goes nowhere.

--Simon St.Laurent on the xml-dev mailing list


I was a little surprised to see that in the last couple of days I've gotten two notes about proposals for major extensions to Java that received little or no press. Yet these didn't seem to get much attention elsewhere. I did a little digging and discovered that there are fifteen proposals for equally large changes to Java already in the works. Some of these changes seem like good ideas (a new preferences API). Some are probably very bad ideas (a Sun-controlled standard XML API) and some are of interest only to niche markets (a telephone switching API).

As of April 25, 1999, there are five open Java Specification Requests (JSRs):

There are ten closed JSRs, all of which have been approved:

Twelve of the fifteen JSRs were submitted by Sun.

If it seems a little strange that all of this work is going on behind closed doors without significant public input or awareness of its existence, that's the Java Community Process at work. The JCP is Sun's new procedure for adding to Java with input from its major commercial partners. The "Community" is comprised of companies who are willing to pay Sun $2000-$5000 a year to belong, as well as Sun's Java commercial licensees who pay even more to license the JDK source code. This is very much a gated community designed to keep out the riff-raff like you and me and let Sun run things the way it sees fit. The process works like this:

  1. A dues-paying, community member presents Sun with a Java Specification Request (JSR) for a proposed extension or change to Java.

  2. Sun's Process Management Office approves or disapproves the JSR. Very important: at this step Sun can unilaterally veto any submission. There is no appeal of this veto, and there is no independent review of Sun's decision at this point.

  3. Sun forms an expert group to write the specification; this begins with a "Call for Experts" to participate. Sun chooses the leader of the group, who then chooses the remainder of the experts. Only company employees are allowed to be experts. Freelancers are excluded. (This is similar to W3C procedures, but the W3C allows exceptions for recognized experts. Sun does not.)

  4. The expert group writes a first draft of the specification. Participants in the expert group can't talk about the ongoing work with outsiders.

  5. Sun circulates the draft to all Java technology licensees and dues paying members of the Java Community Process.

  6. The expert group collects, reads, and responds to comments.

  7. Sun releases the refined specification to the public for comment.

  8. The expert group collects, reads, and responds to comments, resulting in more refinements.

  9. The expert group produces the final specification, along with a reference implementation and compatibility tests.

  10. When the process is done, Sun owns the copyright and other intellectual property rights related to the spec. As owner, they will not allow derivative works they decide are incompatible.

To me this makes it pretty clear, that this process is not an open one. If you're still not convinced, ask yourself these questions:

  1. Can anyone tell Sun No? Can anyone keep Sun from putting something into the spec they want to put it in? Or put something in that Sun wants to keep out?

  2. Can Sun's enemies (e.g. Microsoft, HP, etc.) participate in this process on an equal footing with Sun? Can they even participate at all?

When you actually read the fine print, what the Java Community Process says is that Sun agrees to let other companies contribute their time, money, and knowledge to help Sun do what it wants to do anyway. That may be intelligent business, but it's not an open, community based process for developing standards.

Cafe au Lait Home | Java Books | Java Trade Shows | Java Course Notes | Java FAQ | Java Tutorial | Java User Groups | Java Mailing Lists | Java Questions | Java Quotes

Copyright 1999 Elliotte Rusty Harold
Last Modified at Monday, April 26, 1999 10:58:45 AM