Find JSRs
Submit this Search


Ad Banner
 
 
 
 

JCP Procedures
Overview

JCP 2.11 |  JCP 2.10 |  JCP 2.9 |  JCP 2.8 |  JCP 2.7 |  JCP 2.6 |  JCP 2.5 |  JCP 2.1 |  JCP 2.0 |  JCP 1.0  
 
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 ensures high-quality specifications are developed using an inclusive, consensus-based approach. Specifications ratified by the JCP 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 documentations that is 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 co-develop a specification and implementation, informed by a group of industry experts with a variety of viewpoints, community and public opportunities to review and comment, and a strong technical lead to ensure both the technical goals and integration with other relevant specifications and user expectations.

An Executive Committee (EC) representing a cross-section of both major stakeholders and other members of the Java community is responsible for approving the passage of Specifications through the JCP's various stages and for reconciling discrepancies between Specifications and their associated test suites.

Once you learn the overall process of the JCP, it's easy to understand where and how you might fit in and contribute. Here are several topics to help you with the procedures.
 

JCP 2 Procedures
On June 2, 2000, JCP 2.0 replaced the previous JCP 1.0 version for new submissions. Further refinements to the voting rules resulted in JCP 2.1, introduced on July 10, 2001. A major revision of the licensing rules for the Spec, RI and TCK as well as IP policy changes and process changes was put in place by JCP 2.5, launched on October 29, 2002. The process was revised in May 2006 with the release of JCP 2.6, and again in May 2009 with JCP 2.7. In October 2011, JCP 2.8 introduced a new set of transparency requirements for JSRs. In August 2012, JCP 2.9 introduced changes to the formation of the Executive Committee. In April 2016, JCP 2.10 introduced and defined different types of JCP Membership. The current version, JCP 2.11, both streamlined the process by removing requirements for additional review periods and introduced the ideas of iterative JSRs and Errata Maintenance Releases. The program's complete rules can be found in the JCP 2: Process Document.
 

 
The Four Major Steps in the Java Community Process
Learn how a Java Specification Request (JSR) moves through its four essential steps to become a final specification and potentially become part of the Java platform, from the Initial Proposal to the Early Draft to the Public Draft and Maintenance.  

 
A specification is initiated by community members and approved for development by the Executive Committee. At times, there are new JSRs being accepted every week.
 
See the list of new JSRs recently submitted to the JCP here.
Definition of Terms for Submitting a New or Revised JSR
 
Learn the language of the JCP procedures as a first step.
 
JSR Submission Template

Members may submit a new JSR. If you are a Full Member, use the JSR Proposal form to submit your JSR with all of the required information. If you are not a Member, read the instructions on how to become a member.

New JSRs are posted for JSR Review for 2 or 4 weeks, during which time the public can provide feedback on the proposed specification and licensing/business terms. The JSR Review period is followed by a 2-week JSR Approval Ballot, when the Executive Committee votes to approve or reject the proposal.

2. Draft Releases (jcp.org/en/procedures/jcp2#3.4):
 
Once a JSR is approved, a group of experts is formed to develop a progressive drafts of the specification that anyone with an internet connection can review. Members who have signed a JSPA and wish to nominate a representative to serve on one or more of the Expert Groups or be listed as a Contributor can do so by submitting a nomination request.

When an Expert Group completes the first draft of their specification, they will make it available to the public for Early Draft Review. The Expert Group uses the feedback from the review to revise and refine the draft.

List of current Early Draft Reviews
 
Next, a JSR draft specification goes out for review by the public. At the end of this Public Review, the Executive Committee decides if the draft should proceed to the next step with the Public Review Ballot. List of current Public Reviews
 

The Expert Group uses the public feedback to further revise the document into a Proposed Final Draft. The Specification Lead then sees that the Reference Implementation and its associated Technology Compatibility Kit are completed before sending the specification to the Executive Committee for final approval. Once approved, the final Specification, Reference Implementation and Technology Compatibility Kit are published, and the Specification Lead arranges for a Maintenance Lead.

List of current Proposed Final Drafts.

List of Final Releases.  

 
The Maintenance Lead tracks requests for clarification, interpretation, enhancements and revisions in an Issue Tracker. Then the Maintenance Lead initiates a review of the proposed changes. The Executive Committee votes to approve all proposed changes to a specification to be carried out immediately or reject the changes and thus either require the Maintenance Lead to submit a revised list of changes, or defer the changes until the specification can be revised by an Expert Group in a new JSR. If the Executive Committee approves the ballot, then the Maintenance Lead produces an updated Specification, Reference Implementation, and Technology Compatibility Kit as required to accommodate those approved changes. Challenges to one or more tests in a specification's Technology Compatibility Kit are ultimately decided by the Executive Committee if they cannot be otherwise resolved.
 
List of current Maintenance Reviews
 
JSR Voting Results
 
JSR Voting results can be seen here.
 
JCP Background
 
Read a quick overview on how and why the JCP was begun.
 
Translations/Changes between JCP versions
 
Understand the differences between the old and new versions of the JCP process.