| By Patrick Curran | Article Rating: |
|
| October 14, 2008 07:15 PM EDT | Reads: |
1,557 |
It's sometimes argued that the Java Community Process's development procedures are secretive and that the general public is excluded from participating. While this may have been the case in the past, it's no longer true. The majority of JCP Expert Groups now do their work in an open and transparent manner, and this mode of operation is becoming increasingly common.
As early as 2004, recognizing the importance of community involvement in the JSR development process, the JCP's Process Document was revised to encourage open communications. We now require that JSR submissions include "a
transparency plan, which outlines the tools and techniques that the Spec Lead will use, during the creation and development of the specification, and for communicating the progress within the EG to Community Members, EC Members and the public. The EC will expect the Spec Lead to operate the JSR in accordance with this plan."
Even before transparency was made a requirement, JSR 166: Concurrency Utilities - led by Doug Lea (long-time member of the JCP's Executive Committee) - blazed the trail. Doug had already developed a widely adopted concurrency library through an open source process. When he decided to standardize it through the JCP, he naturally chose to run the JSR as an open source project, with the full and active participation of the public and of future users and implementers of the specification. Doug's commitment to open and transparent development processes paid off, as he explained: "the java.util.concurrent package is better than the package it evolved from by virtue of thousands of e-mail comments/discussions, design and code reviews, systematic tests, and so on. What we have are saner APIs, better specs, better tests, more user experience, more discussion, more code reviews, more design reviews than what we started with."
Since then an increasing number of JSRs have been run in an increasingly open and transparent manner. Common techniques include public mailing lists, the use of blogs and Wikis to keep the broader development community informed and involved, and open source development processes. There are many more "open JSRs" than I can list here (java.net alone hosts about 30 separate JSR projects - here's the complete list of projects), but we can at least consider some examples.
Published October 14, 2008 Reads 1,557
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About Patrick Curran
Patrick Curran is chair of the JCP and director of the JCP Program at Sun Microsystems, Inc.
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Ulitzer’s Amazing First 30 Days in Public Beta
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- REA Is Where RIA Becomes the Norm
- Why an Application Grid?
- Will Ulitzer Dominate News Content on The Web? -Gartner
- Clear Toolkit 4: The Road Map
- Profiling Netbeans within Amazon EC2
- Java Persistence on the Grid: Approaches to Integration
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Developing Rich Client Applications Using Swing - II
- The Right Time for Real Time Java
- Xpress Suite Adds Automatic Java to iPhone Conversion
- Ulitzer’s Amazing First 30 Days in Public Beta
- Initial Thoughts on IBM Acquisition of Sun Microsystems
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- Maximizing Java Performance with Bespoke Programming
- Pet Store with JavaFX 1.0.- Part I
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- What's New in Eclipse?
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate







































