As of March 9, 2004, the Java Community Process (JCP) is operating under a new set of rules designed to encourage more participation by a broader range of developers and simplify the process of creating compatible Java technology APIs. Better yet, operating under its new provisions, known as JCP 2.6, the JCP is now a more inclusive, accessible, and responsive organization for all, ready for growth in many new directions.
The JCP program is the open community process used since 1998 to develop and revise Java technology specifications, reference implementations (RIs), and technology compatibility kits (TCKs). Today, more than 230 publicly submitted Java Specification Requests (JSRs) are in development through the JCP, with 46 percent in the final stages, and the organization has grown to more than 700 company and individual members.
The procedural rules of the JCP have always attracted critics, and their criticism has greatly shaped the evolution of the JCP over the years. JCP 2.6, defined by JSR 215, is the best example of that process in action.
In February 2003, Aaron Williams (JCP executive relations manager and spec lead on JSR 215) and the Executive Committees of the JCP formulated the first version of the specific changes to be made in JCP 2.6. Their goals were to make each JSR's work-in-progress easier to access, and offer more ways for the community and public to actively participate.
"In short, the modifications contained in JCP 2.6 are designed to increase public participation, process transparency, specification visibility, guideline availability, and operational efficiency of the JCP itself," says Williams.
JCP 2.6 was reviewed by the community and the public, and approved by the Executive Committees through the standard JCP JSR review process.
JCP 2.6 actively encourages more developers to contribute to the JSR process. For example, the initial review period for each JSR has been opened to the public, and changed to encourage JSRs to enter review earlier, with more open issues. This change will ensure Spec Leads get more valuable feedback at an earlier stage of development.
Plus, each Spec Lead, the individual in charge of a JSR, is mandated to provide maximal process transparency to the JCP Executive Committee members, community, and the public.
As part of JCP 2.6, each new JSR must include a transparency plan, which outlines the tools and techniques that the Spec Lead will use during the creation and development of the specification, for communicating JSR progress at each stage.
The Program Management Office, which oversees the daily business of the JCP, is now providing Spec Leads with more tools and techniques to make the activities of each JSR Expert Group more well known, which in turn, opens them up to more feedback from a wider variety of sources and helps build broader support for the final spec.
Not only will this help standardize group leadership but also help attract a more diverse range of Spec Leads and Expert Group members, especially from smaller companies. Being a Spec Lead is a challenging responsibility, and it is currently weighted heavily towards the larger companies.
Smaller companies and individual members are gradually taking higher profile roles in the community, and JCP 2.6 encourages their momentum. It is now easier than ever for individuals to join JSR Expert Groups and lead them, and even become involved in the JCP's Executive Committees.
The new rules also simplify the processes of the Reference Implementation (RI) and Technical Compatibility Kit (TCK) associated with a JSR. The provisions offer specific guidelines for developing a TCK and improve the communication between Spec Leads and the Executive Committees. There is also a required substantiation of the TCK's quality and sufficiency based on test results.
JCP 2.6 was only possible through the hard work of hundreds of individuals. Here are the comments of just a few of these people.
Individual developer, Professor of Computer Science at the State University of New York at Oswego, Spec Lead on JSR 166 (Concurrency Utilities)
"I'm pleased that open processes like those used already in a few JSRs will now become the expected way for JCP specification efforts to proceed. We found in JSR-166 that opening up channels for involvement by interested developers improves specifications, tests, and implementations. It's also more productive and pleasant. Expert Groups can accept good ideas and critiques early enough to make a difference, and can produce final deliverables with more confidence that they will be widely accepted and used."
Geir Magnusson Jr.
Vice President of the Java Community Process
Apache Software Foundation
"The changes found in JCP 2.6 represent another step forward by the Executive Committee and Program Management Office to move the JCP to a more open and collaborative specification process. This JSR builds on the progress of JCP 2.5 in two ways. The first is encouragement of transparency in the activities of expert groups, a proven aspect of successful collaborative development. The second is a process change to provide a preliminary version of the spec to the developer community early in the spec process.
Through this, the community can help shape the specification with early feedback, and the Expert Groups can act on this feedback before too much work is complete. We think that these two changes alone will help the Java community build better and widely adopted technology specifications."
Vice President, Standards Strategy and Architecture
"JPC 2.6, the next step in the continuing evolution of the Java Community Process, further opens JCP processes and reaches out to Java developers beyond current JCP members. JCP 2.6 strengthens the link between Java platform development and the international Java developer community."
Vice President of Software
Research In Motion
"We have built the BlackBerry wireless platform on open industry standards like Java technology and are pleased that the JCP is continuing to evolve its standards definition process. JCP 2.6 is helping to fuel the proliferation of Java technology and create an even more robust process by encouraging developers to become involved early."
Product Manager for Java Technology
"Harnessing innovation is essential to Symbian and other companies in the dynamic mobile phone market: JCP 2.6 will help the creation and delivery of innovative Java technology to this market. The more open access provided by JCP 2.6 will make it simpler for Java expert groups to utilize the talent of the smaller companies and individuals who fuel the growth of the wireless Java market, and will make it simpler for the expert groups to interwork with other organizations who provide complementary standards. In turn earlier visibility of business terms and specifications will enable implementers to better plan the introduction of new JSRs.
This latest release of the Java Community Process is an important step towards a truly inclusive community that will further the development and deployment of Java technology."
The JSR 215 Expert Group responsible for specifying JCP 2.6 is one of the JCP's largest groups, with 32 seats. For a complete list, visit http://jcp.org/en/participation/committee.
Representing 8 months of dedicated work, JCP 2.6 is a major step in the evolutionary process to bring you a more stable, higher-performing, more secure Java platform, whether you are a developer, reseller, or user.
And as always, the JCP Executive Committees are seeking community input on ways to improve the next version.