The JCP Program Moves Towards a New Version: JCP.next
The gears of the Java Community Process (JCP) program have turned fairly steadily since its inception in 1998. Although the community experienced a slowdown during the final period of Sun Microsystems' role as Java steward and the first few months after the Oracle acquisition, the pace has quickened in recent months. Now the program is ready to evolve into its next version.
The JCP Executive Committee (EC) has several responsibilities, which include approving or rejecting Java Specification Requests (JSRs), deciding first-level Technology Compatibility Kit (TCK) test challenges, managing the JSR maintenance activities, and guiding the Program Management Office (PMO). In addition, the 32 representatives who serve on the EC make sure the process of the standardization body adapts to stay resilient and relevant. These changes are not made willy-nilly by a simple vote of approval at an EC meeting, but undergo exactly the same process as any other Java Specification Request.
Thus, in May 2011, Patrick Curran, chair of the JCP and director of the PMO, introduced and won approval for JSR 348, Towards a New Version of the Java Community Process. This JSR -- nicknamed JCP.next -- proposes a variety of changes to do with transparency, participation, agility, and governance. Those changes will be reflected in the new JCP Process Document. Moreover, the unofficial EC Members' Guide will be formalized and published as the EC Standing Rules. The plan is that the JSR will become final within six months.
In Patrick's view, full transparency of Expert Group operations is the most important change introduced by JSR 348. Over time, the JCP program has made many changes in the community's stance on transparency. Years ago, most processes tended to be conducted in private. Now transparency is the recommended practice, at all levels of JCP involvement. Many Expert Groups carry out their business openly over public mailing lists and publicly viewable issue-trackers, and they make public responses to all comments. JCP.next will elevate those recommended practices to mandatory status. The process of recruiting Expert Group members will also be documented for the public eye, ensuring that all applications are considered in a fair way.
Spec Leads currently publish the Specification, RI, and TCK licensing terms in advance. However, JCP.next will require that any changes to the original terms will be tracked over time, including in the Maintenance Change Log. Moreover, if a license is offered, that offer cannot later be withdrawn although additional licenses may be offered.
Today, the public is rarely privy to results of the TCK testing process, so that is one area in which JCP.next will specify an expectation of transparency. This involves the disclosure of TCK testing process results, perhaps by publishing lists of compatible implementations.
The EC and PMO have roles to play as well. The Executive Committee will be required to formalize what was previously private, such as the EC Members' Guide. The EC will also need to document what has been murky terrain, such as the legal review of proposed licensing terms. The PMO will have a hand in improving the transparency of community elections, especially in terms of helping members "meet the candidates."
Since the new process will mandate full transparency of Expert Group operations, this JSR will, of course, adhere to these requirements. See the java.net project page for details of how you can observe or participate in this work.
Year by year, the JCP community has found ways to be more inclusive beyond deep-pocketed vendors and carriers, to welcome everyone involved in Java technology, including individuals, Java User Groups (JUGs), and other entities. JCP.next deepens this intent by identifying ways to enable a larger percentage of members to actually participate in EC activities though public teleconferences, meetings, email aliases, and discussion forums.
The EC is finding that a judicious blend of positive and negative reinforcement is best to help keep the JCP community operating in a smooth manner. Positive reinforcement includes the chance to be given an annual JCP award or be acknowledged as a Star Spec Lead. The PMO has also been labeling JSRs that have not posted a milestone draft of the specification in eighteen months Inactive in the hope that Expert Groups will stay active to avoid that designation. JCP.next intends to formalize this process, clarifying exactly how to replace Spec Leads or Expert Group members who demonstrate an unwillingness to "perform their duties responsibly." By the same token, Executive Committee members will be expected to attend meetings and vote on JSRs. JCP.next specifies that those who fail to carry out these duties will be subject to "penalties," such as the loss of voting privileges.
JCP.next continues to explore ways to promote a nimble flow of JSRs moving through the process. There will be inducements to maintain forward momentum through "the imposition of time-outs for inactive or slow-moving JSRs." But even if a JSR looks like it's making steady progress, the outcome can experience obstacles at the end. Like a home cook who is assembling a meal for her family, all the dishes need to be completed at roughly the same time so that everyone can sit down and eat together. One of the great challenges for Expert Groups has been to get the three dishes -- Specification, Reference Implementation (RI), and Technology Compatibility Kit (TCK) -- done at the same time. JCP.next will include changes to ensure that all three items are published "promptly."
In the same way that dessert can feel like an afterthought, the Maintenance process has often seemed a bit less organized than the original specification process. JCP.next will fix this by aligning the Maintenance cycle much more closely with the Final Release process.
The day has come for the divided path to join in one highway. Before, the thinking has been that the JCP community would be best served by a split EC, with one focusing on the needs and interests of the Standard Edition/Enterprise Edition (SE/EE) Java platforms, while the other would concern itself with Micro Edition (ME) Java platform extensions. Now, there is the possibility of recognizing that Java is a single platform. This JSR will initiate the process -- to be completed in a follow-on JSR -- of merging the two Executive Committees into a single body.
"We've been discussing the need for organizational and process reform for several years now," Patrick says. "We took some small but important steps in 2009 with a Maintenance Release of JSR 215, but after the approval late last year of the JSRs for Java SE 7 and SE 8 it was clear that the time had come for more substantive changes."
The rollout of the changes will be swift and categorical. All JSRs that begin after the completion of JCP.next JSR 1 (JSR 348) -- as well as future Maintenance Releases of existing JSRs -- will be bound to the requirements of the latest JCP Process Document. The Executive Committee intends to urge its adoption by all in-progress JSRs. Patrick says, "It would be a shame if the in-progress JSRs (where the bulk of the work will be done over the next couple of years) don't adopt them. The JSPA prohibits us from mandating this, but I'm hopeful that people will see the value of adopting the new requirements voluntarily." He anticipates the ultimate result of implementing JSR 348 will be "a more open and transparent organization, in which individuals and organizations will want to participate."
The EC has many more items that to roll out, but Patrick says that in order to make progress quickly the committee decided to include only the items that "have broad consensus and that are relatively simple to implement." Items that are more controversial or complicated, such as those that affect the Java Specification Participation Agreement (JSPA), will be hammered out in a follow-on JSR over the next eighteen months.
"The JCP.next effort will be the overall effort to bring the JCP up to current expectations for a standards body," says John Rizzo, EC representative and VP of Technology Strategy for Aplix Corporation. "It will make it very clear to the public what the JCP is and what the JCP is not. It is clear to all the members of the JCP Executive Committee that reform is needed in order to keep Java on the forefront of the platform world."
Mike DeNicola, Fujitsu representative on the SE/EE EC, adds, "The work going on in the JCP Executive Committees now to improve the JCP process is extremely important. It has been several years since improvements to the process were made." He urges JCP members to follow the JSR 348 Expert Group activities, view the published notes, and participate in the discussion forum on the java.net project page. This is the best way to stay informed of the exciting progress being made on JCP.next.