Find JSRs
Submit this Search


Ad Banner
 
 
 
 

Introduction
FAQ: General JCP Questions
 

General questions |  Membership questions |  JSR and Expert Group questions |  Spec Lead process questions |  Web Site questions |  Glossary  
 

General Questions
 
Participation Questions
 
General Questions
Q: What is the Java Community Process (JCP)?
A: The Java Community Process (JCP) is the open, participative process to develop and revise the Java™ technology specifications, reference implementations, and test suites introduced in 1998. The Java Community Process (JCP) program fosters the evolution of the Java platform in cooperation with the international Java developer community.
 
Q: How can I participate in the JCP?
A: Anyone with an internet connection can review and comment on draft specifications and JSR proposals, as well as read the JCP blog. Anyone with accounts on those sites can follow JCP updates on Facebook or Twitter. Anyone with an internet connection and an e-mail address can register as a user of the site. Any registered user can nominate himself for an Expert Group (but must be JCP Members to serve), maintain a watch list of JSRs of interest, request to be associated with an existing JCP Member, or become a JCP Member.
 
Q: What is a JCP Member?
A: Any organization or individual which has signed a Java Specification Participation Agreement (JSPA) has become a JCP Member. JCP Members can propose new JSRs, serve on Expert Groups, vote in the Executive Committee elections, and run for a seat on an Executive Committee.
 
Q: How do I become an Expert on an Expert Group?
A: Any registered user can fill out the Expert Group nomination form, but only JCP Members can participate on an EG, so if you've filled out the form, make sure to become a JCP Member soon after. Once you are a JCP Member (or are representing one) and have nominated onto an Expert Group, the Specification Lead of the JSR will review your qualifications and vote to either accept or reject you from the Expert Group. If you are accepted, you will instantly be on the Expert Group.

You can view the status of your nominations under "My JSRs" when you are logged in to the jcp.org site. Additionally, JCP 2.8 and later JSRs are required to publicly provide the reasons for accepting or rejecting every EG nomination. Details of how they provide that information are described on the JSR page of each JSR 2.8 or later JSR.
 
Q: How do I become a Specification Lead?
A: Once you are the representative of a JCP Member (or are a JCP Member yourself, as an individual), you can submit a proposal for a new JSR. In that form, you can specify yourself as the person who will be Specification Lead once the JSR is posted. Additionally, if you represent a JCP Member that is a company or other organization, that JCP Member may choose to add you as a Specification Lead to a JSR that the JCP Member already leads.
 
Q: How do I become an Executive Committee Member?
A: JCP Members can nominate themselves as a candidate for a seat on the Executive Committee during the annual Executive Committee elections. Then it's up to all the JCP Members to select you by voting in the elections. If you win the election, the PMO will contact you to welcome you to the Executive Committee for your two-year term.
 
Q: What is a Java Specification Request (JSR)?
A: A JSR is a Java Specification Request. This is the document submitted to the PMO by one or more members to propose the development of a new specification or significant revision to an existing specification. There are currently many Java technology specifications in development in the JCP program, including the next versions of Java™ Micro Edition (Java ME™), Java™ Platform Enterprise Edition (Java EE™), and Java™ Standard Edition (Java SE™). JSR also refers to the specification development efforts arising from these proposals. For a complete list of JSRs, click here.
 
Q: What is a Specification Lead?
A: A Specification Lead is a representative of a JCP Member who leads a group of experts in developing a specification described in a Java Specification Request (JSR).
 
Q: What is the Program Management Office (PMO)?
A: The Program Management Office is the group within Oracle designated to oversee the Java Community Process and manage the daily running of the program. The actual development of the specification occurs within the Expert Groups. To contact the PMO, send email to pmo@jcp.org.
 
Q: What is the EC and what is its purpose?
A: With JCP 2.9 and onward, the JCP has one Executive Committee (EC). Previously there were two Executive Committees, divided by platforms (Standard/Enterprise Edition, and Micro Edition). Voting Members on the EC serve two-year terms. There are sixteen ratified seats, eight elected seats, and the permanent seat held by Oracle America, Inc. The two-year terms are staggered so that half of the seats are normally up for ratification/election each year.
 
The EC members guide the evolution of Java technologies. The EC represents a cross-section of major stakeholders and other members of the Java Community. Duties are:

  • Select JSRs for development
  • Approve draft specifications for public review
  • Approve final specifications
  • Review Technology Compatibility Kit (TCK) appeals
  • Approve maintenance revisions and possibly defer some features to a new JSR
  • Approve transfer of maintenance duties between members
  • Provide guidance to the Process Management Office
For the list of current EC Members, please visit the Executive Committee info page.
 
Q: What are the Executive Committee members' duties and expected time commitments?

The EC meets approximately monthly. Most of these meetings are two-hour teleconferences but three are face-to-face meetings that last a day and a half or two days. You can read about the current year's EC meetings in the JCP calendar. The amount of preparation required for these meetings is usually minimal. EC members are expected to attend all meetings.

To learn more about EC meetings see the summaries and meeting minutes online at http://jcp.org/en/resources/EC_summaries. (Before September 2008 only brief summaries were posted publicly. From that date onwards all meeting materials and full minutes were published.)

In addition to attending meetings, members have the duty of voting on JSRs as they pass through the process. EC members have a responsibility to review the technical content and business terms of the JSRs before casting their votes. (This task is often delegated to other people in the member organization.) How thoroughly the materials are reviewed is up to each member, but a reasonable job could probably be done in a few hours - unless the member had a particular technical interest and wanted to review the spec in detail. In an average year there might be about 20 JSRs to review.

Finally, the EC is also working as an Expert Group to modify the JCP's "constitution" and its rules of operation. The majority of the work is carried out by a sub-group of the EC. Participation in this working group will require a commitment of a few hours a week. For those who do not join the working group, participation will be limited to the regularly scheduled meetings.

In summary, the minimum commitment probably averages about one to one and a half to two days each month. Active participation in the JCP reform working group - which is encouraged - would probably double that.


 
Q: What prevents Oracle from controlling or dominating the groups that develop and maintain Java specifications?
A: Oracle, and the other Executive Committee (EC) members, serve as technology oversight groups for the work of the Expert Groups. The EC does not micro-manage the day-to-day workings of Expert Groups. Rather, the EC has the opportunity to review the work of each Expert Group at well-defined points as their specifications proceed through the JCP. The primary function of the EC is to ensure that specifications do not overlap or conflict with one another and that the specifications meet the needs of the industry segment for which they are being written.
 
Q: What is an Expert Group (EG)?
A: The group of JCP Members who collaborate on developing a Java Specification through a JSR. The experts on an Expert Group are listed on each JSR's summary page.
 
Q: What is a Reference Implementation (RI)?
A: A Reference Implementation is one of the outputs of a JSR at Final and Maintenance Releases. The RI is an implementation of the Final Specification that proves that the specification can be implemented. The Final Release (as well as any subsequent Maintenance Release) milestone page for any Final JSR should have a link to the Reference Implementation or an explanation on how to get it.
 
Q: What is a Technology Compatibility Kit (TCK)?
A: A Technology Compatibility Kit is another output of a JSR at Final and Maintenance Releases. The TCK is used to test implementations of the Final Specification to make sure that they are fully compatible.
 
Q: To what extent does a Reference Implementation (RI) and a Technology Compatibility Kit (TCK) need to support a specification? In other words, do they need to implement and test everything in the specification? Also, what about vendor implementations--if a vendor says his product supports a Java technology, does the product need to implement all the APIs defined in that technology?
A: A TCK must test all aspects of a specification that impact how compatible an implementation of that specification would be, such as the public API and all mandatory elements of the specification. The Reference Implementation is required to pass the TCK. A vendor's implementation of a specification is only considered compatible if the implementation passes the TCK fully and completely. For more information on developing a TCK, refer to the TCK Tools and Info Page.

Participation Questions
Q: How many people participate in the JCP?
A: More than 12,000 people have registered accounts on jcp.org, and the JCP has more than 1400 Members.
 
Q: How do I find a JSR to review?
A: To find a JSR, try any of these:

Once you are on the JSR page, click "Proposal" or "Detail (Summary & Proposal)" to read the original JSR Proposal and any updates to it.
 
Q: How can I find a specification to review?
A: There are three possible ways to retrieve a draft specification for review:

  • To review a milestone draft specification, click "Summary" or "Detail (Summary & Proposal)" so that you can see the Stage Table for the JSR. If the JSR has produced a draft to review, there will be a "Download page" link in this table. The table is organized with the most recent milestones at the top (reverse chronological order). Click the "Download page" link for the milestone posting you wish to review. There's a bunch of information about that milestone posting on the resulting page, including a "Download" button. Clicking that button will present you with the license for the download. Review the license; if you accept it, you will be presented with a download dialog box. Select the location of your download and proceed.
  • Some Specification Leads will post intermediate drafts to the Community tab of their JSR pages. To see whether there are such drafts posted for your review, login to jcp.org, go to the JSR page, and click the "Community" tab at the top of the page. If there are any drafts to download, they will be listed on that tab. Just click the download link next to the one you wish to review to begin the download.
  • Some Expert Groups have agreed to make their work available to the public, often through a collaborative web site such as java.net. The location of such sites are disclosed on the Community tab of each JSR. Note that JCP 2.8 JSRs are required to make their work in the Expert Group available to the public. Look for the "Public Discussion" links on JCP 2.8 pages.
Q: How do I become a JCP member?
A: You or your organization can become a JCP member by signing the Java Specification Agreement (JSPA). The JSPA is an agreement between a company, organization or individual, and Oracle, setting out each Community Member's rights and obligations when participating on the development of Java technology specifications in the JCP. The agreement is located at the Becoming a Member page.
 
Q: If I become a JCP member, do I have any obligations I need to fulfill?
A: Corporate Memberships have an annual process cost sharing fee. Aside from that, there are no obligations of Membership. While there are no obligations, successful JCP Members participate in the JCP in the following ways:
  • Provides feedback on proposed JSRs and draft specifications
  • Submits JSRs
  • Nominates people to be on Expert Groups
  • Leads Experts Groups (as a Specification Lead)
  • Builds independent implementations
  • Votes on Executive Committee ballots
Q: Does it cost anything to be a JCP member? Why?
A: The JSPA carries a nominal annual fee to cover administrative costs:
  • $5000/year annual fee for commercial entities
  • $2000/year annual fee for educational, governmental or non-profit organizations
  • $0/year (no fee) for individual Members, Java User Groups, or Java licensees

 
Q: My employer is a JCP Member. How do I participate in the JCP as part of that Membership?
A: First, if you haven't already registered, do so now: http://jcp.org/en/user/add. Then log in, click "My Profile," then click "request Member association." On the resulting form, select your organization from the list and click "submit."
This will generate an e-mail message to the primary contact of your organization. Then the primary contact will confirm you as a representative of your organization. Once you are representing your employer's JCP Membership, you can nominate yourself to Expert Groups and submit JSR proposals.
 
Q: How do I find out when a specification is available for review?
A: Anyone with an Internet connection can review and comment on all specifications developed using the JCP, all proposals for new or revised specifications, and all proposed error corrections and changes to existing specifications. Reviews are posted as links from the JSR detail pages. For a list of all current stages, refer to the List JSRs by JCP Stage page.
 
Here's how reviews such as the Public Review, JSR Review, and Maintenance Review, fit into the JCP timeline:
 

 
There are several general announcement channels on the web, which you can follow to receive updates on the process, JCP events, and the development of JSRs.  
Q: How does an Expert Group get picked?
A: The JSR submitter (Specification Lead) has responsibility for the formation of the Expert Group, including selection of the experts for the Expert Group. Ideally, the Expert Group should be large enough and diverse enough to insure wide adoption of the resulting specification. Any representative of a JCP Member can nominate themselves to serve on one of the Expert Groups that write Java specifications. Individuals not affiliated with a member can also nominate themselves to serve on an Expert Group. The PMO forwards nominations received using the JSR web page to the Spec Lead, with an indication of whether the nominee is a member. In order to insure that all experts have agreed to the same terms for the sharing of intellectual property, and other terms of Expert Group participation, only JCP Members can join Expert Groups. Experts can:
  • Actively shape the content and direction of new and revised Java specifications (Expert Group)
  • Review comments from members and the public and use them to improve the quality of a specification (Community Review, Public Review)
  • Serve as the Specification Lead of the Expert Group and be responsible for choosing the other members of the Expert Group, and for completing the specification, its reference implementation, and associated compatibility test suites (Initiate a new or revised specification, Create the Community Draft, Complete the specification)
  • Assume responsibility for maintaining a specification after it is written (Maintenance Lead)
Nominations for the Expert Group are accepted from the first day that the JSR is available for review from here.
 
Q: I want to provide comments on a draft specification, but the review period has already ended. What do I do?
A: Feel free to submit comments on the most current draft of a specification at any time. The duration of the review periods in the process is more to ensure that the Spec Lead and Expert Group allow enough time for comments, rather than limiting feedback to a certain span of time.  
 
Q: I've heard a lot about the changes that have come with the latest JCP revisions, and I wonder: how do these changes affect me as a general user of the site?
A: The JCP 2.8 changes are summarized here for your reference, but you can read the source documents themselves: JCP 2.8 and EC Standing Rules. The JCP 2.7 changes summarized here for your reference.