← New search

Other meanings of Java Community Process

Technology

Java Community Process

The Java Community Process (JCP) is the formal, open process by which Sun Microsystems (now Oracle) develops and revises standard Java technology specifications. Established in 1998, it allows interested parties—individuals, corporations, and organizations—to participate in the evolution of the Java platform through expert groups and public reviews. The JCP produces Java Specification Requests (JSRs) that define APIs, technologies, and other aspects of the Java ecosystem, ensuring a transparent and consensus-driven approach to standardization.

1998
Year established
Founding year of the JCP
~400
JSRs completed
Number of Java Specification Requests finalized
~200
Active expert groups
Approximate number of expert groups at any time
1

History and Purpose

The Java Community Process was launched in 1998 to formalize the previously ad-hoc evolution of Java, following concerns about Sun's control over the platform. Its primary goal is to develop standard specifications through a collaborative, transparent process involving all stakeholders. The JCP operates under a set of rules and procedures, overseen by an Executive Committee (EC) that approves JSRs and manages the process. Key milestones include the introduction of the Java Community Process 2.0 in 2001, which added more transparency and public review periods, and the adoption of the Java Specification Participation Agreement (JSPA) to govern intellectual property.

2

Process and Structure

A JSR goes through several stages: initiation, formation of an expert group, draft specification, public review, and final release. The expert group, composed of volunteers from various organizations, drafts the specification and reference implementation. The EC votes on each stage, and the public can comment during review periods. The JCP also maintains a Maintenance Process for updating existing specifications. The process emphasizes compatibility, with the Technology Compatibility Kit (TCK) ensuring that implementations meet the standard.

3

Impact and Significance

The JCP has produced many foundational Java technologies, including the Java 2 Platform, Enterprise Edition (J2EE), JavaServer Pages (JSP), and the Java Persistence API (JPA). It has enabled a diverse ecosystem of implementations, from open-source projects like Apache Tomcat to commercial products. The process has been praised for fostering innovation and community involvement, but also criticized for being slow and dominated by large corporations. Despite these challenges, the JCP remains the central mechanism for Java standardization, with Oracle continuing to steward it after acquiring Sun in 2010.

4

Lesser-known aspects

Beyond the well-known JSRs, the JCP has handled niche specifications such as JSR 354 (Money and Currency API) and JSR 363 (Units of Measurement API), which address domain-specific needs. The process also includes a 'Maintenance Release' mechanism for minor updates, and a 'JSR Review' stage where the public can submit comments. A notable edge case is the 'JSR 901' that standardized the Java Language Specification itself. The JCP has also been involved in controversial decisions, such as the rejection of the 'Java Module System' proposal (JSR 277) in favor of Project Jigsaw. Additionally, the JCP's 'Transparency' reports and 'Community' votes are often overlooked but are crucial for accountability.

Glossary

JSR
Java Specification Request: a document that proposes a new specification or significant change to an existing one.
Expert Group
A team of volunteers responsible for drafting the specification and reference implementation for a JSR.
Executive Committee (EC)
A body that oversees the JCP, approves JSRs, and manages the process.
TCK
Technology Compatibility Kit: a suite of tests to verify that an implementation conforms to the specification.

The JCP is a key example of open standards development in the software industry.