FAQ: General JCP Questions
General QuestionsQ: 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: 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 QuestionsQ: 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.
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:
A: The JSPA carries a nominal annual fee to cover administrative costs:
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: https://jcp.org/en/user/register. 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:
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.