Chapter 93. What Is the JCP Program and How to Participate

Heather VanCura

The Java Community Process (JCP) Program is the process by which the international Java community standardizes and ratifies the specifications for Java technologies. The JCP Program ensures high-quality specifications are developed using an inclusive, consensus-based approach. Specifications ratified by the JCP Program must be accompanied by a Reference Implementation (to prove the Specification can be implemented) and a Technology Compatibility Kit (a suite of tests, tools, and documentation used to test implementations for compliance with the Specification).

Experience has shown that the best way to produce a technology specification is to use an open and inclusive process to develop a specification and implementation, informed by a group of industry experts with a variety of viewpoints. This also includes giving the community opportunities to review and comment, and also a strong technical lead to ensure the technical goals are met and the specification integrates with other relevant specifications.

An Executive Committee (EC) representing a cross-section of major stakeholders—such as Java vendors, large financial institutions utilizing Java to run their business, open source groups, and other members of the Java community, including individuals and user groups—is responsible for approving the passage of Specifications through the JCP Program’s various stages and for reconciling discrepancies between Specifications and their associated test suites.

After being introduced in 1999, the JCP Program has continued to evolve over time using the process itself, through an effort called JCP.next, with the work being carried out in the open by the JCP EC. JCP.next is a series of Java Specification Requests (JSRs) designed to focus on transparency, streamlining the JCP program, and broadening its membership. These JSRs modify the JCP’s processes by modifying the JCP Process Document. Once the changes are complete, they apply to all new JSRs and to future Maintenance Releases of existing JSRs for the Java platform.

For example, JSR 364, Broadening JCP Membership, was put into effect as JCP version 2.10. This JSR broadened JCP participation by defining new membership classes, enabling greater participation by the community, and helping ensure the appropriate intellectual property commitments from JCP Members. Any Java developer can join the JCP Program, and depending on the type of membership, JCP Members can participate as a JSR Spec Lead, Expert Group Member, or Contributor.

JSR 387, Streamline the JCP Program, was put into effect as version 2.11. This JSR streamlines the JSR life cycle process to bring it in line with the way Java technology is developed today, specifically enabling JSRs to be able to complete and keep up with the six-month Java platform release cycle cadence. Through this JSR we also resized the JCP EC.

With many changes in the Java community, the continuation of the JCP Program remains constant. Anyone can apply to join and participate in the JCP Program—either as a Corporation or Non-Profit (Full Member), Java User Group (Partner Member), or Individual (Associate Member). The stability of the JCP Program and participation from community members ensures continued success of the Java platform and its future. Standards enable execution of technical strategies, and the JCP enables collaboration of industry and participation from the developer community.

Compatibility matters—the Spec, RI, and TCK required by the JCP Program enable an ecosystem to be built up around Java technologies. The JCP Program provides the foundation and structure for this—IP rights and obligations are covered, and choice in implementations that pass the TCK benefits the ecosystem—this is key to success and continued popularity of Java technology.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset