Inside the Java Community Process
Early in the evolution of Java, Sun Microsystems boldly posited that if Java were to succeed, it would need to be driven by community requirements, and so formed the Java Community Process (JCP) to provide this. Today, some 14 years after the JCP was introduced and 17 years after the inception of Java, the JCP is alive and well.
The JCP Executive Committee (EC) oversees the development and evolution of the Java technologies within the JCP, as well as of the JCP itself. There are currently two EC's: one for Java SE/EE, and the second for Java ME. There is a plan to combine these into a single EC over the next two years.
Each EC typically consists of 16 members including technology vendors such as Oracle, IBM, and Nokia, technology consumers such as Credit Suisse and Goldman Sachs, Java User Groups such as Brazil and London, and some individuals like Werner Keil.
An entity does not have to be on the EC to participate in the JCP. Anyone may sign a Java Specification Participation Agreement (JSPA) to become a member of the JCP. (For more information on becoming a member see www.jcp.org/en/participation/membership.) Membership gives a person, organization, or company the right to lead or participate in a Java Specification Request (JSR). A JSR is the JCP process for introducing new technologies into the Java ecosphere, and can also be used to revise the JCP process itself. For example Java-related JSRs include JSR 335 (Project Lambda), JSR 310 (Time and Date API's), and JSR 337 (Java 8 release). The aforementioned move to combine the two executive committees into one is being managed under JSR 355.
The EC's meet jointly approximately once per month. Most meetings are via teleconference but three are face to face, hosted by EC members around the world on a volunteer basis. The next such meeting will be hosted by Deutsche Telecom in Prague, Czech Republic in September. You can see the full calendar of JCP meetings at jcp.org/en/whatsnew/calendar.
This month's meeting was on July 31, 2012.
ME attendance was light, as it usually is. This is portentous of the diminishing role Java ME has, given the growing importance of native applications in the mobile space driven by iOS, and Java-derived alternative such as Android.
As noted at the meeting, the following JSR's achieved milestones:
JSR 359 (SIP Servlet): Ballot closed yesterday
JSR 358 (Revisions to JCP): Ballot closed in July
JSR 340 (Java Servlet 3.1 Spec): Entered early draft review
JSR 341 (Expression Language 3.0 for JSP's): Ballot opens today
JSR 355 (JCP EC Merge): Has been in public review, there is a proposed final draft, and the approval ballot will start today.
The JCP EC Standing Rules 2.1, ratified in October 2011, state that members must appear at face-to-face meetings to be counted as present. The rules also state that if a member misses two meetings in a row they lose their right to vote. Miss five in a row or 2/3 of the meetings in any rolling 12 month period, you lose your seat.
SK Telecom and Samsung have missed seven of the last eight meetings, which will amount to more than 2/3 of the 10 meetings in the first 12-month period after the standing rules were introduced, so they are losing their seat. There is some flexibility for the PMO, Patrick Curran, to make an exception, but he sees no reason to do so.
John Rizzo of Aplix reminded us that Oracle has not done much on the ME front in a while, and so they are partly to blame. Patrick agreed to escalate this to Oracle.
AT&T is also close to losing their seat, having missed six of the last eight meetings. They will lose their seat if they miss one more this year.
There is also some talk about reengaging Samsung but from a different division, perhaps the printer business, which is a major user of Java ME.
Since JSR 355 will merge two groups, some seats will need to be eliminated. The implementation plan is as follows:
- This year we will eliminate two duplicate seats - Oracle and IBM.
- Every new member will be informed that they will only serve for one year
- In 2013 - eliminate three more elected and two more ratified seats, and everyone has to run again.
- Terms will be switching to two years from the current three year duration.
- Since it has to be staggered, the 50% highest votes will get a two year term, and the remaining will get one year. If there is a tie in the middle, a random number generator will be used to decide.
Also discussed were the JCP annual awards, which nominations are closing this week. These are awarded to each of three Categories:
- JCP member of the year,
- Outstanding spec lead, and
- Most significant JSR.
The winners will be announced at the JavaOne Conference in San Francisco on Oct 2, 2012
An important topic of the JCP for the next few months will be JSR 358 ("A Major Revision to the JCP"). Where JSR 355 dealt largely with the merge, JSR 358 deals with simplifying the JCP, making it more accessible to members. The prime candidate for simplification is the JSPA itself.
Complaints are often received, stating that the JSPA is an intimidating and frightening legal document that is too ominous to sign just to participate casually in the JCP. It is worth mentioning that the JSPA was the licensing agreement that ultimately led to the exit of Apache Software Foundation and some other high profile members to leave the JCP EC several years ago. See the interview with Patrick Curran on InfoQ.
There are currently three levels of members:
- Casual lurker, perhaps fixing an occasional bug,
- Right to vote, but no desire to lead a spec
The proposal is to refactor the JSPA into three documents, as follows:
- Simple membership agreement for those who want to vote and have the right to serve on a JSR Expert Group (EG)
- A complete agreement, to be used by Spec Leads
A concern was expressed that if the terms are too broad, large corporations will shy away lest they forfeit control of their intellectual property. If they are too restrictive, then they will continue to intimidate. Therefore a delicate balance must be achieved.
Assuming it proves popular we're planning to make this a regular column on InfoQ. The next meeting will be a face to face in Prague, Czech Republic on September 11 and 12, 2012.