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 an user of the site. Any registered user can nominate himself to join an Expert Group, maintain a watch list of JSRs of interest, request to be associated with an existing JCP Member, or become a JCP Member. JCP Members can propose new JSRs, vote in the Executive Committee elections, and run for a seat on an Executive Committee.
 
Q: What's a 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 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: The JCP has two Executive Committees (ECs): Standard/Enterprise, and Micro Edition; each targets different markets for the Java Platform. Voting Members on each EC serve three-year terms. There are ten ratified seats, five elected seats, and the permanent seat held by Oracle America, Inc. The three-year terms are staggered so that five of the fifteen 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 ECs meet 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. In 2012 one of the face-to-face meetings will be in the US, one will be in Brazil, and the third will either be in Canada or in Europe. 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 ECs are 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 ECs. 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 ECs do not micro-manage the day-to-day workings of Expert Groups. Rather, the ECs have 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 ECs 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 10,000 people have registered accounts on jcp.org, and the JCP has more than 1500 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 Public Reviews
  • Submits JSRs
  • Nominates people to be on Expert Groups
  • Leads Experts Groups
  • 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.
 
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.