Find JSRs
Submit this Search

Ad Banner

Community Resources
Spec Lead Guide: Writing a JSR Proposal

Write a JSR |  Submit a JSR |  JSR Review |  EG formation |  Early Draft Review |  Public Review |  Proposed Final Draft |  Final Ballot |  Maintenance |  Spec Lead Guide  
The Spec Lead's role is to drive the proposed specification through the process.Communication between the Spec Lead and the PMO is essential to achieve the goal of releasing a final spec within the schedule outlined in the Proposal. This schedule should be updated by the Spec Lead at regular intervals to show the correct information on the JSR public page.
If you are submitting a Proposal as an employee of a JCP Executive Committee (EC) Member company, please indicate the internal approval of your JSR Proposal by copying the EC Representative on your submission to the PMO. Otherwise the PMO will delay the posting of your Proposal to the Ballot until the internal approval confirmation is received.
Please provide the PMO at your earliest convenience with your complete contact info, including postal address. If the Spec Lead and the Submitter of the Proposal are not the same person, please provide this information for both. The PMO will then provide you with your login to the Expert Group private page of the JSR.
The first step in the process is to write the proposal. The Proposal should describe clearly what is being proposed -- what problem is being solved, what the constraints are on the solution, what approach will be taken, what existing technologies may be used as a starting point, etc. The Spec Lead should consider marketing and business issues as well -- who are the customers for the solution, how will the solution be delivered, and what companies should be involved in creation of the specification. The Spec Lead should find endorsers/supporters for the proposal before submitting it, so as to demonstrate community support/interest in the specification.
You may want to solicit support for your Proposal from the Members of the voting Executive Committee at this early stage. EC Members will look at various aspects of the JSR Proposal:

  • Is the schedule credible?
  • Does the submitter have the appropriate expertise?
  • Does the Proposal address appropriate needs in specific markets?
  • Is the featureset appropriate?
  • Is there enough detailed information?
The Spec Lead should look at some of the JSRs that were voted down to get an impression of some EC objections.
The JCP 2.7 Proposal Form requires the actual text of the licenses that will apply to the final Specification, Reference Implementation and Technology Compatibility Kit. Knowing the license terms gives potential Expert Group members the opportunity to decide at this early stage whether or not they want to become members of your Expert Group and accept these terms, and it also allows the community to anticipate how they will license the final products of the JSR..
You may choose to use any of the following license templates for your proposed license terms under JCP 2.7. You are also free to choose another licensing model, as long as it is not in conflict with the JSPA.
Note that a requirement introduced with JCP 2.7 is to provide all license terms that will apply to the Expert Group, including the terms of service/terms of use of other web sites which you decide to use (wikis, collaborative code repositories, etc).

As compatibility testing is an essential component of the JCP, the Spec Lead should consider how the technology will be tested, how the test suite will be developed, and what testing infrastructure might be needed. You should also plan the budget for the development of the RI and TCK. The more completely and clearly the JSR provides this information, the easier it will be for others to review the JSR, and the easier it will be for the Spec Lead to recruit EG Members.

Spec Leads are also asked in the JSR submission form to consider which Java platform editions their JSR will target and how their JSR will relate to those they are not targeting. Spec Leads should carefully consider this question, to ensure they are taking possible migration of the technology to other platforms into account. If the Spec Lead has questions about the applicability of the JSR to other platforms, they are encouraged to contact EC members for the editions in question, they will be happy to help.

JSRs may choose to target both Executive Committees, if the technology of the JSR is applicable across multiple platform editions. If a Spec Lead chooses this option, the JSR will be voted on by both the ECs at each ballot stage, and the JSR must pass both ballots (the votes are not combined into one ballot) in order to proceed. Alternatively, Spec Leads can also create two separate JSRs for the technology, and operate them in parallel.

Spec Leads must also carefully consider how the work of their JSR will be made available to the community and the public. The Executive Committees will review the Spec Lead's plans for how their Expert Group will inform the outside world of the progress and decisions that have been made, and could choose to reject a JSR if the operating plan does not take the community and the public into account. In addition to the transparency checklist which every JSR is required to provide, Spec Leads are encouraged to answer the following questions in their transparency plan:

  1. How often will you provide a draft specification to the community and to the public?
  2. How will the community be made aware of the open issues that the Expert Group is working on, and the decisions it has made?

There are tools available that can help Spec Leads create a more successful and more transparent JSR. Here are some of the tools that Spec Leads are encouraged to use:

  • JSR Update tab - This is a page Spec Leads can edit to provide the community with updates of the draft spec and information about the current topics and issues of the EG. Spec Leads should provide regular updates to this page. The PMO will post your transparency checklist to this page if you do not.
  • observers discussion board - Each JSR is provided with a discussion board that the Spec Lead can administer to inform interested members about the progress and issues within the JSR. Spec Leads are encouraged to use this alias as a means of reaching out to the members of the community who are most interested in the progress of their JSR. Community members will submit requests to be given access to the jsr-xxx-observers discussion board (where "xxx" is the JSR number); Spec Leads can review, approve or decline these requests from the Administration tab of the JSR's page.

    Listen the audio tutorial on the Community Update page and observer alias.

  • - This is a software development site aimed at easing the burden of collaboration and group development. This site is most valuable for maintaining a tree of source code and opening the development of the code to multiple participants. Spec Leads and Expert Groups are also using the JSR Community on

The PMO welcomes suggestions and requests from the Spec Leads for improvements of this guide and the process: