The State of Java: Community, Part 2 - New Openness in the Java Community Process
After the Monday keynote at JavaOne 2011, I attended a panel session titled "JCP and the Developer Community." I noted a simple statistic at the time, and this still signifies for me how the relationship of the JCP to the broader Java community is changing. The stat? The first 19 minutes of the one-hour session consisted of a brief presentation by JCP Chair Patrick Curran and introductory statements by the rest of the panel. That was the end of the formal segment; the remaining 41 minutes of the session were open floor!
The panel consisted of:
- Patrick Curran, JCP Chair
- Martijn Verburg, Open Source and Java Advocate, London Java Community
- Reza Rahman, Senior Software Engineer / Community Outreach Activist, Caucho Technology
- Scott Jameson, Director, Hewlett Packard
- Bruno Souza, SouJava / ToolsCloud
Heather VanCura, JCP Program Manager, was originally scheduled to be on the panel, but she stayed in the audience, letting Bruno be part in the panel instead. Both Bruno and Martijn are leaders of Java User Groups that are now members of the JCP's Standard/Enterprise Edition Executive Committee, having won election this past May.
The description of the session in the JavaOne 2011 Content Catalog ends with:
Bring your questions, suggestions, and concerns. Your active participation in the advancement of the Java platform is encouraged. JCP executive committee members, Java Champions, and JUG leaders engage with the audience and the JCP chair during a panel discussion/community brainstorm on how to influence the development of Java technologies through JCP program participation.
The session definitely delivered on that promise.
JSR 348 (JCP.next) is the organizing structure for the changes in the JCP that are currently taking place. Patrick Curran summed up the new direction by saying that, basically, going forward everything must be public (see his recent blog, No more smoke-filled rooms).
This is an excellent objective. But, there are problems. How do you unwind more than a decade of established procedures, complicated licenses, and habits when it comes to managing JSRs? What about different management styles of individuals and teams that lead JSRs? How do you get everyone on board with the newly required openness? And what about all the legal issues?
What's being attempted isn't necessarily easy to accomplish; but the effort is certainly laudable, and success would yield considerable long-term benefit of the Java community. Here are some specifics of the newly-mandated openness:
- JCP Elections - "Meet the Candidates" sessions will be organized when possible;
- Technology Compatibility Kits (TCKs) - it will be illegal for TCKs to have confidentiality clauses prohibiting public discussion of certain topics;
- Significantly increased developer involvement in JSRs (see, for example, Java.net's Adopt a JSR project);
- All developers will be able to see what's happening within any JSR (complete visibility will not be limited to those who have been approved as an expert within the JSR);
- The JCP's Java Specification Participation Agreement (JSPA), which currently inhibits people from joining the JCP, will be simplified, or perhaps refactored (Martijn), or perhaps a more basic agreement will be created for non-spec leads.
These changes are great for Java and Java developers overall; but they'll put more pressure on JSR spec leads. For example, opening the conversations to all developers can bring thousands of comments that spec leads in the most critical JSRs will have to address. This already happened in some major JSRs that have already adopted a more open approach (for example, JSR 334, Project COIN, led by Joe Darcy).
Despite the problems associated with these changes, the difficulties that accomplishing the objectives will entail, I haven't seen anyone within the JCP or within the developer community expressing opposition to the JCP.next reform effort. Many developers may not yet know much about the JCP.next effort, since they habitually ignore almost all JCP-related news. But, as more developers realize they have a voice they couldn't meaningfully exercise previously, some of them will choose to speak up. That's a very good thing for the future of Java and the JVM. The sooner new openness in the Java Community Process is enacted, the better!
Our current java.net poll asks Is Java losing popularity among developers?. Voting will be open until Friday, November 11.
Here are the stories we've recently featured in our Java news section:
- Arun Gupta shares ESPN.com: Feedback from GlassFish Community Event at JavaOne 2011;
- Roman Kennke explores Keyboard mapping support for Cacio Testing;
- Arun Gupta presents GlassFish Podcast - Episode #080;
- Shai Almog illustrates Places Demo Part II;
- Roger Brinkley presents Java Spotlight Episode 54: Stuart Marks on the Coinification of JDK7;
- Terrence Barr reports Open sourcing of JavaFX: OpenJFX Project proposed;
Subscriptions and Archives: You can subscribe to this blog using the java.net Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the java.net blogs feed. You can find historical archives of what has appeared the front page of java.net in the java.net home page archive.