JavaJCP Watch: Updates to the JCP

JCP Watch: Updates to the JCP

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Earlier this month, the Program Office of the JCP announced
a new version of the Java Community Process, JCP 2.6 (JSR 215: http://www.jcp.org/en/jsr/detail?id=215).
The changes were based on collective feedback of the Java community and the
Program Office has made some significant alterations to make the whole process
of developing Java Technology Specifications more community focused,
transparent and efficient.

There has been much criticism about the previous versions of the JCP, by
all representing members of the community. Individual contributors felt left
out of the process and relatively .voice-less. compared to major vendors that
participate in the JCP. The public at large was not allowed access to certain
stages of the specification lifecycle thereby feeling that the process was not
really community driven but rather the sole domain of the Specification Lead.
Participating vendors felt that due to lack of controls over timelines and
acceptance ballots, many JSR.s were simply taking too long to reach major
milestones causing significant stalls in the evolution of Java technology.
Finally a consensus was forming that though it.s called a Community Process,
it.s largely driven by vendors with vested interest in the technology and not
completely democratic.

In order to address the concerns of the community, JCP 2.6 took shape.
Using the criticism as a starting point for the evolution of the process, it
has been in development for the past year. JCP 2.6 has gone through various
revisions, feedback phases and modifications to come to a perfect balance.

The goals of the new JCP were to make each JSR’s work-in-progress easier
to access, and offer more ways for the community and public to actively
participate. According to Aaron Williams, the specification lead for the JCP
2.6 JSR, "The modifications contained in JCP 2.6 are designed to increase
public participation, process transparency, specification visibility, guideline
availability, and operational efficiency of the JCP itself".

A significant change in JCP 2.6 to support the goals is opening up the
first draft review of a specification to the public. Prior to JCP 2.6, only a
restricted set of the community had access to the first draft. This often
resulted in specification leads delaying the release of the draft to the
community until a majority of the issues within the specification were sorted
out. JCP 2.6 encourages developers to review and provide feedback on the
specification from the first draft itself. This effectively increases the
community.s participation and allows specification leads to expedite the
release of the first draft. It also helps build robust specifications at outset
itself, by allowing specification leads to incorporate feedback early on in the
process. Overall, it is envisioned that this will half the time it takes for a
specification to go into review and significantly decrease the amount of time
it takes for a JSR to go through the lifecycle stages.

In order to provide maximal process transparency to the JCP Executive
Committee members, community, and the public each new JSR must now include a
transparency plan, which outlines the tools and techniques that the Specification
Lead will use during the creation and development of the specification, for
communicating JSR progress at each stage. These tools and techniques may
include web pages, wikis, mailing lists, weblogs, RSS feeds etc. The JCP
website may also provide such tools to Specification Leads though details of
such are not yet available.

Changes in the Program Office.s management process have also now made it
easier than before for individuals to join JSR Expert Groups and lead them, and
even become involved in the JCP’s Executive Committees. This will encourage
individual contributors and smaller companies to join and participate in the
JCP.

The new rules also simplify the processes of the Reference
Implementation (RI) and Technical Compatibility Kit (TCK) associated with a
JSR, which has been a relatively sticky topic in the past. The provisions now
offer specific guidelines for developing a TCK. There is also a required
substantiation of the TCK’s quality and sufficiency based on test results.

In a move to increase flexibility, JCP 2.6 allows JSR.s to be filed
under multiple Java platform committees, J2ME (Java 2 Micro Edition), J2SE
(Java 2 Standard Edition) and J2EE (Java 2 Enterprise Edition) as certain
specifications cut across all Java platforms.

As of March 9th, all JSR.s under JCP 2.5 have
been upgraded to use JCP 2.6.

Overall, the community has welcomed the changes to the JCP.
Critics have taken a wait and watch approach to see if the changes will
actually translate into a more productive and efficient standards process. In
any case, this version of the JCP is the most transparent, streamlined and
community focused ever.

Making the first draft specification available to the public
is a call to all Java developers to take an active part in shaping the future
of the Java platform. You too can be a part of history! Follow the JCP and make
a difference.

Anyone, including you, can participate and contribute to the
JCP. For starters, you can go the JCP website to view and provide feedback on
posted JSR.s. If you would like to submit new JSR.s or collaborate in the
development of existing JSR.s, you can become a member of the JCP (free for
individuals, nominal fee for commercial organizations and academic
institutions). If you would like to gain voting rights and actively mentor the
development of JSR.s you can nominate yourself as an expert member. There is
much flexibility in participation and I urge you to become an integral part of
this collaborative effort.

Resources:

The JCP website: http://www.jcp.org

An excellent explanation of the JCP timeline: http://www.jcp.org/en/introduction/timeline

Detailed information on how to participate: http://www.jcp.org/en/participation/overview

FAQ that answers common questions on the JCP: http://www.jcp.org/en/introduction/faq

The JCP Process Document: http://www.jcp.org/en/procedures/jcp2

JSR 215 (JCP 2.6) http://www.jcp.org/en/jsr/detail?id=215

Do you have any questions about the JCP? Do you have any
suggestions for the JCP? Do you have any criticism about the JCP? Feel free to
email me jcpwatch at jcpwatch.com

 

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories