BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Heather VanCura, Director of the JCP, Speaks to InfoQ on the JCP 20th Anniversary

Heather VanCura, Director of the JCP, Speaks to InfoQ on the JCP 20th Anniversary

This item in japanese

Heather VanCura, director of the Java Community Process (JCP) and chairperson of the JCP Executive Committee (EC), recently visited the campuses of BNY Mellon in Pittsburgh and New York City to present "The Future of Java and You" in honor of the 20th anniversary of the JCP. The New York City event was held in partnership with the NYJavaSIG and the ACGNJ Java Users Group.

Approximately 50 developers were in attendance at both the Pittsburgh and New York City events. Notable attendees at the New York City event included: Chandra Guntur, director at BNY Mellon, JCP EC representative, co-facilitator of the NYJavaSIG and Java Champion; Justin Lee, principal software engineer at Red Hat and Java Champion; Mary Grygleski, developer advocate at IBM, international speaker, and facilitator of the Chicago Java Users Group; and Jackie Haynes, managing director at Goldman Sachs and JCP representative.

Highlights of VanCura's presentation included: the evolution of Java; the organizational structure of the JCP; the JSR process; the new JDK release model; a description and update of special projects such as Amber, Valhalla, Loom and Panama; an overview of JCP.next; and how developers and organizations may get involved. A cake shaped in the image of the Java mascot, Tumbling Duke, was the main attraction of the evening.

The JCP is comprised of corporations, non-profit organizations, Java User Groups, and individuals. JCP 2.11, the latest process document version, was released in November 2018.

The JCP, initially formalized in December 1998 at the Java for Business Conference at the Jacob K. Javits Convention Center in New York City, documented the rationale for a Java specification process as stated in the JCP 1.0 process document:

Sun Microsystems, Inc., is implementing a formal process for developing Java specifications that produces high-quality specifications in "Internet-time" using an inclusive, consensus building process that not only delivers the specification, but also the reference implementation and its associated suite of compatibility tests.

Our experience has proven that the best way to develop a specification is to start with a handful of industry experts who have a deep understanding of the technology in question and then have a strong technical lead work with them to create a first draft. Consensus is then built using an iterative review process that allows an ever-widening audience to participate and to see their comments and suggestions incorporated into successive draft versions of the specification prior to its final release.

Alan Baratz, former president of Sun's JavaSoft business unit, formally announced the newly-formed JCP and former VP and Sun Fellow, Jim Mitchell at Sun Labs, would be its first director.

In collaboration with BNY Mellon, VanCura chose New York City, the birthplace of the JCP, to celebrate the 20th anniversary. BNY Mellon, represented by Donald Raab, managing director, and Chandra Guntur, director, had recently been elected as a new member of the JCP EC last fall.

VanCura spoke to InfoQ about the JCP and what may be on the horizon for the Java programming language.

InfoQ: How long have you been the director of the JCP?

Heather VanCura: I have been the director of the JCP program since 2015 and chairperson of the JCP EC since 2017, but I have been involved with the Java developer community since 2000.

InfoQ: What are your current responsibilities, that is, what do you do on a day-to-day basis?

VanCura: In my role as chairperson of the JCP Executive Committee (EC), I lead and organize the JCP EC meetings, working groups and conversations on an ongoing basis. In this role, I am the Spec Lead for JSR 364, broadening JCP membership, and JSR 387, streamlining the JCP program, as part of the ongoing JCP.next effort.

I also continue to lead the JCP Program Office. In that capacity, I am responsible for the day-to-day operations, growth and support of the community - the membership, the JSR Spec Leads and Expert Groups. I'm also responsible for the maintenance of the JCP.org web site, as well as community events, and social media communications. In addition, I have a leadership role of the broader Java developer community, in terms of engagement with the work of the JCP Program, so I collaborate with Java User Groups, sometimes speaking at their meetings and at Java developer events around the world. I also serve as a mentor, leader and organizer of hack days with some of these groups.

InfoQ: Can you please provide our readers more details on JCP.next, the current streamlining of the JCP process?

VanCura: The Java Community Process (JCP) Program is the process by which the international Java community standardizes and ratifies the specifications for Java technologies. The JCP ensures high-quality specifications are developed using an inclusive, consensus-based approach. Specifications ratified by the JCP must be accompanied by a Reference Implementation (to prove the Specification can be implemented), and a Technology Compatibility Kit (a suite of tests, tools, and documentation that is used to test implementations for compliance with the Specification).

Experience has shown that the best way to produce a technology specification is to use an open and inclusive process to co-develop a specification and implementation, informed by a group of industry experts with a variety of viewpoints. This also includes giving the community and the public opportunities to review and comment, and a strong technical lead to ensure both the technical goals and integration with other relevant specifications and user expectations.

An Executive Committee (EC) representing a cross-section of both major stakeholders and other members of the Java community is responsible for approving the passage of Specifications through the JCP's various stages and for reconciling discrepancies between Specifications and their associated test suites.

JCP.next is a series of Java Specification Requests (JSR) designed to bring significant benefits to the above, and to specifically focus on transparency, streamlining the JCP program and broadening its membership. These JSRs modify the JCP's processes - through modifying the JCP Process Document. Once the changes are complete, they apply to all new JSRs and to future Maintenance Releases of existing JSRs for the Java platform.

The first effort, JSR 348, Towards a new version of the Java Community Process, was completed and put into effect as JCP 2.8. It created important changes to make the JCP more open and transparent and to enable broader participation.

The second, JSR 355, JCP Executive Committee Merge, is also final. It contains revisions to the JCP Process Document version 2.9.

The third, JSR 364, Broadening JCP Membership, is also final, and was put into effect as JCP version 2.10. This JSR broadens JCP participation by defining new membership classes, enabling greater participation by the community and helping ensure the appropriate intellectual property commitments from JCP Members.

The fourth, JSR 387, Streamline the JCP program, went final late last year and we are in the midst of a maintenance release for the JSR at the moment. It was put into effect as the current version of the JCP program, version 2.11. This JSR streamlines the JSR lifecycle process to bring it in line with the way Java technology is developed today.

InfoQ: What challenges, if any, are there for the JCP in maintaining the six-month release cycle?

VanCura: We addressed the JSR lifecycle as part of the JSR 387, JCP.next effort, to better align with the six-month release cadence of the Java SE Platform.

This included the following updates:

  • Modification and addition of language around code first, collaborative RI development.
  • Changes to the stages of a JSR lifecycle because of a more open and collaborative development process, and to be in keeping with a more agile and continuous delivery software development model.
  • The ability to allow automated renewals for multiple versions of JSRs, especially for the Java Standard Edition (Java SE) Platform JSRs, which continue to be developed under the JCP program and OpenJDK.

InfoQ: How can individuals, Java Users Groups, and organizations get involved in JCP membership?

VanCura: Corporations, individuals, Java User Groups and not-for-profit organizations can all join the JCP program. There is no fee to join at any level. Java community members can also review and comment on the work of the JCP program, whether they are a member or not. JCP members can join JSRs either as Expert Group Members or Contributors, or get involved in the projects where the JSR deliverables are being developed, such as OpenJDK.

InfoQ: How do you see the Java language evolve in the next, say, five to ten years?

VanCura: I foresee even greater collaboration and contributions within the Java developer community in the future. The faster release cadence has helped Java meet the needs of developers, with new software features being incorporated into the release as they become ready every six months.

This has helped to increase innovations and contributions to the platform. The pipeline for new features is rich and deep, and this will lead to accelerated application development. This will also ensure that Java continues to attract younger developers. Java migration projects between versions will shift from major development projects, with 100 or more new features, to smaller and more incremental updates, happening more frequently. This helps to increase the amount of feedback on the early access releases as developers are evaluating their migration plans on an ongoing and continuous basis.

Resources

Editor's Note

Michael Redlich, in attendance at this event and having the honor to kick-off the festivities of the evening, is the founder and co-facilitator of the ACGNJ Java Users Group.

Rate this Article

Adoption
Style

BT