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 as a Contributor or Expert Group member (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), Associate Membership Agreement (AMA), or a Partner Membership Agreement (PMA) has become a JCP Member. Signing the AMA confers Associate Membership; Associate Members can serve as Contributors to a JSR and vote for the Associate seats on the Executive Committee. Signing the PMA grants Partner Membership; Partner Members can serve on the Executive Committee and vote for Ratified and Elected seats. Signing the JSPA grants Full Membership; Full 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 get listed as a Contributor to a JSR?
A: Any registered user can nominate to be listed as a Contributor to a JSR, but only Associate Members or Full Members can be accepted as Contributors. So if you've filled out the form, make sure to become an Associate or Full Member soon after. The Specification Lead of the JSR will review your qualifications and vote to either accept or reject your request. Once the Specification Lead has voted yes and you are either an Associate Member or a Member Representative of a Full Member, you will be listed as a Contributor.
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 Full Members can participate on an EG, so if you've filled out the form, make sure to become a Full Member soon after. Once you are a Full 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 members of 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 one of the membership agreements (Associate Membership Agreement, Partner Membership Agreement, or Java Specification Participation Agreement). These are agreements 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. These agreements are filled out using the online forms linked from the Becoming a Member page.
Q: If I become a JCP member, do I have any obligations I need to fulfill?
A: There are no fees or other obligations of Membership. While there are no obligations, successful JCP Members participate in the JCP in the following ways:
A: No. All process cost sharing fees are waived.
Q: My employer is a Full 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 Full 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 Full 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. Expert Group members 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 changes from the last several JCP versions have been summarized on dedicated pages with each release.