Sun wants you to like Java. They want you to really, really like Java. Maybe they even want you to just love Java to death. In view of the recent flurry of activity and publicity surrounding the protocol, the question remains: Is Java Open Source or not?
The answer from Sun has been a somewhat confusing, "Sort of."
The response from the Open Source community has been a resounding, "Not even close."
In an effort to make Java more appealing to the Open Source crowd, the company has created something called the Java Community Process (JCP), a way to formally recognize the worldwide Java developer community's contributions to making Java better.
Getting involved with the Java Community Process carries a price tag -- anywhere from $2,000 for non-commercial or educational institutions and all the way up to $5,000 for corporations, also known as fee-bearing licensees.
Critics charge the high cost of joining the JCP has locked many smaller developers out of the process. Sun responded by creating a "personal title" individual membership to the JCP for $100, and other mechanisms for sponsoring companies that can't afford the higher fees are in place.
The process starts when a participant submits a Java Specification Request (JSR), a white paper describing the proposed specifications for a new Java API or changes to be made to an existing API. The JSR is then subject to a review process with no fewer than thirteen steps before it can make it from concept to public release, and there are a few trapdoors included in the process that could scuttle a proposal at any time.
Sun's Process Management Office (PMO) might veto a proposal if it doesn't feel that all pertinent information has been included in the JSR, or if the request conflicts with an existing specification or a JSR that's farther along in the JCP pipeline. Or the company could veto the proposal just because it wants to; there is no appeal or independent review of Sun's decision on the matter.
Sun insists that the process isn't about control, but compatibility - and insist they're doing nothing new or controversial here. "This is simply a formalization of the process that has been used since the inception of Java in 1995 to work with our partners on technology specifications," said Onno Kluyt, manager of Sun's Program Management Office.
If the JSR gets the PMO's stamp of approval, the next step is community review. In Sun's definition of "Community" it means that JCP members get to read and comment on the proposal. Again, the life of the JSR is in peril at this point -- after 10 to 30 days of participant commentary, the PMO will then accept or reject the proposal.
If the JCP makes it through the second ring of fire, the general public is invited to read - but not comment - on the proposal.
The next step is a Call For Experts (CAFÃ - hey look, cute Java symbolism at work) to community participants. Any company involved with the Java Community Process can select one of its employees - freelancers need not apply - to work on the specification outlined in the JSR.
Of course that doesn't mean Sun has to accept the selections offered by the participants. It's up to the PMO to decide who actually gets to work on the thing. It takes about 15 days for the PMO to pick the team that will make up the Expert Group.
Now it's time for the assembled Expert Group to create the first issue of the specification, or the Participant Draft. The Expert Group takes as long as it needs to develop this draft, and Sun estimates that participants may spend as much as 50% of their workday developing the draft - even longer, depending on the complexity involved.
When the Expert Group has polished its draft it is then made available for public review on Sun's Web site. Yes, the general public may now weigh in with their opinion and contributions on the proposed specification. The average time allotted for public review is around 30 days, but the Expert Group can prolong the process if it wishes.
Developers have roundly criticized the Java Community Process on many points, one of the most contentious being the public review phase. Developers and other interested parties can feel free to offer their comments, but the JCP doesn't have to consider or catalogue any of those comments if it doesn't feel like it.
Many smaller developers have charged that this practice effectively locks them out of any sort of participation in the Java Community Process. Sun has countered that the public comment period has enabled them to make many changes and improvements in several additions to Java.
After the public comment period has expired, the specification is sent back to the Expert Group for additional revisions. This time around, the group has thirty days to revise its draft and then post a final specification to the Web site.
The word "final" is used loosely here; if the specification doesn't pass through a Compatibility Test Suite and Reference Implementation process, it returns to the Expert Group again and again, until the specification, testing, and implementation are complete.
At this point, the specification is deemed to be complete and the final results are posted to the public. The Expert Group is dissolved and maintenance of the specification is handed over to a single individual, who will monitor community feedback and propose any needed changes to the specification.
In his essay, The Java Gated Community Process, Elliotte Rusty Harold sums up what appears to be the general attitude of the Open Source movement toward the JCP:
"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."
Sun's Onno Kluyt responds: "That's quite a broad statement, isn't it? If you look at the process, it's a mechanism that allows companies to participate in the Java technologies and lead in those developments. We now have roughly 95 projects in development, and well over half of those are actually being led by other companies."
NewsForge editors read and respond to comments posted on our discussion page.