Happy First Anniversary: The Open Window of
the JCP Program Version 2.6 Beckons Participants

by Susan Mitchell

Over the past year, the Java Community Process (JCP) program has enjoyed success as
never before, with 90 percent of members and nearly 60 percent of non-members
reporting their satisfaction with the JCP program. Thanks to the new JCP program,
version 2.6, launched March 2004, the community is experiencing a major culture
shift in terms of openness and efficiency.

The new rules, developed by the JCP program Executive Committee (EC) under
JSR 215 , promote the notion that less is more.
Growing numbers of people agree that less shielding of expert groups from community
involvement and a shorter time between review periods and votes by the EC will make
the process smoother, easier, and better. Both members and non-members are perceiving
that the JCP program is open to their feedback and willing to make expert group (EG)
work more transparent.

Java Specification Requests (JSRs) that were started in the last year illustrate the benefits
of JCP 2.6. For example, JSR 270, the 6.0 version of Java 2 Platform Standard Edition (J2SE),
code-named Mustang, will take advantage of the improvements introduced by JCP 2.6, related to
transparency and efficiency. As will co-spec leads Volker Bauche of Siemens and Jari
Lansio of
Nokia, for JSR 228, Information Module Profile - Next Generation. And Ed
Burns, co-spec lead for
JSR 252, JavaServer Faces 1.2, will leverage collaborative tools for transparency and expects
his project to complete in less than a year.

JCP version 2.6 was expected to meet several specific objectives of increased efficiency,
transparency, participation, and quality, benefiting everyone associated with the JCP
program effort. Many of these expectations have already been met; some will require more
time before they can be accurately assessed. However, it is already clear that all sorts
of Java technology community participants are pleased with the ways JCP 2.6 benefits them.

JSR Lifecycle Efficiency

Prior to JCP 2.6, JSRs would spend an average of nine months before being
introduced to the community for review. That may be an optimal gestation
period for a human baby, but not nearly fast enough to keep pace with
market demands. It was hoped that version 2.6 changes – the EC no longer votes after the first
review period renamed Early Draft Review (EDR), but delays their vote until
the second review period, Public Review (PR), and expands the review audience
to include the public at both EDR and PR – would help expert groups feel comfortable
submitting JSRs for review earlier in the process and to a wider audience,
potentially trimming the time before the first review to six months.

The specification always filtered out to the public eventually, but now spec
leads are encouraged to air their open issues and submit JSRs to EDR for public
scrutiny earlier in the game, reducing the fear of reprisals from the EC at this
stage. The best scenario has spec leads promptly addressing all pertinent comments
and suggestions that come their way, using every opportunity to improve the
specification and raise its chances of wide adoption.

Under prior versions of the JCP progam, spec leads were concerned about going to the
review milestones (when the EC would vote) without having fully thought through
every open issue, so they tended to nail down proposed solutions early on. When
everyone, including the public had made suggestions, those were frequently relegated
to a wish list of future version enhancements. Now the hope is that at least within
the first six months of a JSR's beginning, a first draft will be made available to
the public through EDR for review and comment.

Volker Bauche

Volker Bauche co-leads JSR 228 Information Module Profile - Next Generation, with
Jari Lansio of Nokia. Both were "pleased that the new version (JCP 2.6) came to life"
and migrated the JSR to JCP 2.6. A senior software technologist with Siemens Mobile,
Volker sees the wisdom of this strategy. "Having the possibility of presenting the
spec to the public so early (using the early draft review) can help to find any
ambiguity or something much earlier, so the risk of having the need of serious
changes in the RI/TCK implementation in a late state (i.e., after public review)
is much smaller."

Because typical JSRs have an 18-month average life cycle, the process will need to be
monitored for a few cycles to clearly assess where the efficiencies have been made.
It appears that the total lifecycle of JSRs is shortening, as is the period between
when a JSR starts and when it goes to EDR. It used to take an average of 200 days
for JSRs to get to this point. Based on preliminary data, it is now taking
approximately 125 days for JSRs to get to EDR. Very few JSRs that started under
2.6 have gone into EDR, but the trend is encouraging. "JSRs are getting to the first
review period earlier, giving the public access to the JSR earlier, and enabling the
JSR to get to market faster," says Aaron Williams, manager of the JCP program management
office (PMO).

Transparency of JSR Issues and Drafts

Ed Burns

A key outcome for JCP 2.6 was for expert groups to operate with more
transparency, and indeed they have. JSRs initiated under 2.6 are required
to include a transparency plan. The plan can be a simple paragraph such as
the one drafted by the co-spec leads Ed Burns and Roger
Kitain of Sun Microsystems
for JSR 252 JavaServer Faces 1.2: "We will leverage the collaborative tools
provided by the java.net infrastructure[, where] we will have a public issue
tracker [. . . P]rivate issues will be handled with a separate EG-private
issue tracker. We will have an EG-private mailing list, and we will have
a monitored public discussion forum as well. . . . We will leverage the Early
Draft feature of JCP 2.6 to allow the public to see the spec in progress." A
spec lead can communicate using whatever tools he or she prefers – blog,
wiki, RSS feed, their community webpage, and so forth – in order to help
the community glimpse what is happening at various stages in the life of
a JSR.

The general wording of the transparency requirement allows spec leads
like Ed to
"run with it within the bounds of what our management would allow."
They put their code on java.net using the Java distribution license (JDL)
and the Java research license (JRL). The JRL and JDL are simplifed alternatives
to the Sun Community Source License (SCSL) – the JRL can be used for
research and to experiment with changes to the code base. However, if it's
distributed or used internally, developers will need to switch to the JDL license.
He says, "This has
been a real big deal because people have been able to find bugs and get
greater clarity on exactly what is going on."

Scott Stark

JCP program member Scott Stark, who is chief technology officer of JBoss,
remarks that "The improved visibility was a nice change." The transparency
plan requirement does two things. For one, it forces the spec lead to think
ahead. A plan also gives the EC insights into what the spec lead intends to
do, so that later in the process the EC can check whether the spec lead
made good on the intention. If a spec lead doesn't provide the promised
level of transparency, the PMO or EC can follow up and encourage the
spec lead to do the right thing. There's always the not-so-subtle pressure
of knowing EC members can vote against a JSR that does not live up to its
own plan.

The JCP participants have always worked hard to live up to the process
requirements, however, and the transparency plans are no different.
Spec leads and expert groups are fulfilling their transparency commitments.
Aaron says, "I think EC members have been pleased with the transparency
plans that have come through so far. We're already seeing spec leads and
JSRs that are providing more access to their information earlier on in the
process, and that's essential to fulfilling the goals of JCP 2.6."

New Participation at All Levels

In addition to the goals of JC 2.6 to make the process more transparent and
efficient, increased participation and quality were two other constant goals.
Participation relates to (1) the JCP's continued interest in attracting leaders
and innovators of every market segment, (2) service within the community, and (3)
involvement in review cycles.

Transparency encourages public participants like Jacob Hookom to ramp up their
level of commitment. Jacob saw the JSR 252 project on java.net, and he submitted
his own implementation of the written expression language to the spec leads, who
liked what they saw. They worked with Jacob until he got all the tests working,
then they accepted him as a full committer – someone trusted to access the
source code repository and willing to help augment and maintain the test suite
as they develop code. Ultimately, Jacob joined the JCP program as an individual
and became a full-fledged member of the expert group.

The JCP continues to attract the movers and shakers among Java developers,
architects, and executives. As more organizations and individuals join the
community, members like Jacob are challenged to step up a rung in their level
of commitment and service, and JCP 2.6 has further encouraged this investment
by the entire community.

At the end of 2004, Sun was the spec lead for about one-third of the active
JSRs (those that were not completed, withdrawn, or rejected), but had
completed more than twice the number of JSRs as the rest of the community.
"There is no question that Sun has historically borne a greater burden in
terms of completing and participating in JSRs compared to the rest of the
community. The PMO loves to see other members of the community step up and
participate and invest in the work of the JCP program, and JCP 2.6 has
encouraged more active participation," says Aaron.

Scott Stark notes that he now feels "more involved" under JCP 2.6, and he
hopes to have the chance to comment on JSRs. JBoss recently was elected to
a position on the EC, the top level of community participation that starts
with members, moves up to experts, continues to spec lead, then peaks at EC member.

The public can participate without becoming a JCP member and the JCP program
wants them to play their critical role in public review cycles. Opening all
review cycles to the public, moving review cycles earlier and increasing
transparency into the development process has already elicited more community
and public participation. "Spec leads who have gone through the EDR have
already reported an increase in response from the public with regards to their
spec – questions, ideas, thoughts – and that's really what we were hoping for
with JCP 2.6," says Aaron.

High Quality Deliverables

It makes sense that if more community members and public participants get involved
in the activities of the JCP and develop or comment on JSRs in progress,
then naturally the JSRs will increase in quality and the deployed spec will
enjoy broader adoption. A big aspect of quality involves the TCK (Technology
Compatibility Kit), that is required of all JSRs. The TCK is the suite of
tests, tools, and documentation that allows an implementor of a specification
to determine if their implementation is compliant with that specification.

TCK development is not exhaustively documented, but is best learned
by doing. Today Sun still does more than 80 percent of the TCKs
that come out of the community. The complexity causes many spec leads
to delegate this task to Sun, even though Sun tries to enable engineers
to develop their own TCKs by providing tools, including a test harness
that is freely available to spec leads and available on jcp.org.

Aaron Williams

With JCP 2.6, spec leads are now required to submit a TCK plan with their
JSR to make it easier for the EC to help them generate a quality TCK.
"Asking them questions and requiring them to produce documentation early
on about their plan for producing a TCK will certainly help them get their
heads around how big the commitment is. It's not something they can put off
until the very end and then find all the resources to pull it together,"
says Aaron. But even if you are careful not to underestimate a TCK
implementation, Volker warns that "it will always take you twice the
time you think it will."

The documentation provided on preparing TCKs covers the basics of how to do it,
what to test for, what's important, and what's not. It remains to be seen
whether spec leads will pick it up and run with it. So far, the PMO is
pleased that the documentation is being used, with a commensurate uptick
in the number of companies that are creating their own TCKs.

About 30 JSRs have begun since the launch of 2.6. Most of those have not
yet reached the stage when TCKs are typically written. As a result, it's
hard to say whether those spec leads will produce their own TCK or not.
It is also far too early to know whether the TCKs that emerge will exhibit
a higher quality, delivering consistent results across platforms to those
using it to test their applications on various implementations of the related JSR.

New and Updated Tools

JCP 2.6 brought not only high expectations for enhancing participation, transparency,
efficiency, and quality, but the tools to make good on them as well. The Spec Lead
Guide, observer aliases, and community webpages are "useful tools, and they work well,"
says Volker.

The Spec Lead Guide included significant updates,
to address the transparency plan, the TCK documentation, and other requirements
of JCP 2.6. "It has all the information spec leads need to be successful," says Aaron.

As another means of transparency, the PMO has set up observer aliases that
are available to the spec leads for communicating to an audience beyond just
the expert group.

The PMO provides spec leads with two separate, password-protected webpages.
The expert group page has always been available for the spec lead to use to
assemble contact information, uploading files for the expert group to access,
and communicating within the group. The PMO has begun providing a similar page
where a spec lead can communicate with the entire JCP program membership by
uploading update files and a list of open issues. A spec lead can feel secure
that what is published on these pages is covered under the JCP program membership
legal agreement governing intellectual property, the Java Specification
Participation Agreement (JSPA).

A Positive Direction

Michael Nascimento Santos manages the JSR
Community on java.net, where spec leads have access to even more tools,
enabling their JSRs to achieve maximum transparency and openness. "The changes
introduced by JCP 2.6 are really positive for the community and the process
itself. Earlier feedback, open discussions and all transparency-related actions
promoted by this new version will greatly improve the way specifications
are developed and it is likely it will lead to better APIs and definitions," says
Michael. "The fact that JSRs are now allowed by the process to have a public
project at a place such as the JSR Community at java.net makes
it very clear that the community drives the process and not just major vendors.
So, everybody wins."

Michael Santos

JCP 2.6 favors everyone involved in the JCP program – the
public participants, community members, experts, spec leads, EC members,
and the PMO. If JSR lifecycles shorten, consumers may even benefit
by virtue of the more rapid speed to market of products that incorporate
the newest technology.

In the months after 2.6 went into effect, Aaron observed
that the feedback he received was positive. "We've definitely improved
the lives of participants from each of those categories. I haven't
received complaints about the changes made for 2.6, whereas I have
seen email from spec leads and even public participants saying,
'Thank you. I appreciate the fact that I can get this spec earlier.
I appreciate the tools that you are providing us now to make this
easier.'"

The October 2004 results of a survey conducted by the
PMO on jcp.org support this feedback. As the JCP program evolves, growing
numbers of members are impressed with the JCP's responsiveness and receptiveness
as well as with the ease of working with the program office. And the vast
majority (96 percent) of the members affirm their belief that the JCP program
is vital to the future of Java technology development. At the one year
anniversary milestone of JCP 2.6, this simply confirms what many already
believed.