The Apache Software Foundation

The JCP

The Apache Software Foundation has been a participant in the Java Community Process since the creation of "JCP 2.0". Apache holds a seat on the Executive Committee for J2SE/J2EE.

Apache is focused on promoting the ideals of community collaboration and transparency and has been working for many years with demonstrable success. Apache was a key participant in the JCP 2.5 process change that allows for open-source implementations of JCP specifications, that grants free TCK licenses to qualified-non-profits, individuals, and academics, and is a member of the TCK scholariship committee, along with Doug Lea and Sun.

Our goal is to put the "Community" in Java Community Process.

The JCP activities of the ASF are centered around three areas :

  • Implementation of JCP specifications, such as Apache Tomcat, Apache Geronimo, Webservices, Portlets, and many others.
  • Participation in multiple expert groups of the JCP via individuals representing the ASF.
  • Influence the evolution of the JCP through our participation on the Executive Committee.

Getting Involved

1) Mail Lists

There are two general mail lists for the JCP activities at the ASF :

  • ASF JCP Public Interest List (open to all committers) subscribe
  • Foundation Internal JCP Issues (members-only) subscribe

Expert group interest lists can be created as need and interest dictates.

2) Representation

Apache community members represent the ASF on various expert groups. Our goal is to bring our interests in openness, meritocracy and community to the expert groups we work on. We encourage expert groups to :

  • Operate in an open, transparent manner in the same way that our Apache community lists work.
  • Use consensus and/or voting for decision makeing.
  • License their specifications to allow royalty-free implementations under an open source license.
  • License their Reference Implementations (RIs) and Technology Compatibility Kits (TCKs) under open source licenses.

Representing the ASF on a JSR

Members and committers are invited to represent the ASF on JSRs with the purpose of both promoting our values as well as ensuring that the Apache community can continue to influence and participate in the creation of new Java technology. Because participating individuals are representing the Apache Software Foundation (and not themselves), the ASF reserves the right to decide who represents the ASF. The ASF also will work to help individuals join expert groups, as we believe that independent representatives that have a good understanding of the value of open source are important to the health of the JCP communities.

The general guidelines for participation are :

  • You represent the interests of the ASF and your particular technical community, and not of your employer or personal technological interests.
  • If there is an existing community at the ASF that has an interest in the JSR, engage with your community to bring feedback and ideas to the EG. If not, keep in mind how an ASF community might build or extend such a specification.
  • You must sign an Non-Disclosure Agreement with the Apache Software Foundation. as the ASF is a signatory with Sun on behalf of its representatives.

If you are interested in representing the ASF on a new or existing expert group that doesn't have ASF representation, or participating with the existing activities on an expert group, please send email to the JCP open list and indicate your interest.

Current Representation

The following JSRs have active Apache representation. Some groups have an internal mailing list that is used by ASF Members and committers to discuss the progress of the JSR and the ASF's involvement through it's representative(s). The list operates under the rules above for representatives.

JSRRepresentativeDiscussion List
JSR-220 : Enterprise Java Beans 3.0 Dain Sundstrom and Gianny Damour N/A
JSR-241 : The Groovy Programming Language James Strachan N/A
JSR-244 : Java EE 5 (aka J2EE 1.5) Jeff Genender and Dain Sundstrom N/A
JSR-255 : Java Management Extensions Alan Cabrera N/A
JSR-277 : Java Module System Brett Porter Subscribe
JSR-279 : Service Connection API for Java ME Changshin Lee N/A
JSR-280 : XML API for Java ME Changshin Lee N/A
JSR-286 : Portlet Specification 2.0 David Taylor and David DeWolf N/A

Implementation

Because of the work of the ASF, we are able to legally implement JSRs in open source and distribute under the terms of the Apache License. There have been many successful implementations of JSRs at the ASF, in all areas of Java technology.

Projects are free to implement whatever JSR a project community desires, as long the specification license that you agree to allows open source implementations. All modern JSRs do - the key to knowing is to look to see that the JSR was conducted under "JCP version" 2.5 or above. There are some exceptions, such as J2SE 5 which was conducted under JCP v 2.1 yet licensed under the modern open-source-friendly specification license.

The following projects are implementing one or more JCP specifications :

ProjectJSR
Apache GeronimoJ2EE 1.4
Apache TomcatServlet and JSP
Apache DBJDO 2 (in JDO)
Apache JakartaJSTL (in Taglibs)
Apache MyFacesJSF
Apache PortalsPortlets (in Pluto)
Apache WebServicesJAX-RPC, JAXB, J2ME WS, JAXM, JAXR, SAAJ
Apache JackrabbitContent Repository (JSR-170, JSR-283)

The following projects have officially tested and passed the TCK for their specific technology :

ProjectVersionJSRDate
Apache Geronimo1.0-M5J2EE 1.42005-10-05
Apache MyFaces1.1.1JSF 1.02005-10-27

Testing with A TCK

Whenver a project chooses, it may request access to the TCK for the technology they are implementing. The ASF will work to license, acquire and provide the TCK for the project. The following guidelines apply to working with TCKs at the ASF :

  • A project can request access to a TCK by sending email to the JCP open list.
  • This TCK is for use only for the purpose of the Apache project, and no other.
  • While access to the TCK is left up to the requesting PMC, it is strongly encouraged that access be limited to project committers to avoid the perception that the ASF is being used as a "TCK laundry". We have an excellent record in our handling of the TCK materials, and the good reputation of the ASF is dependent upon PMC oversight in this case.
  • Every individual that has access to the TCK materials must have executed a Non-Disclosure Agreement with the ASF. The ASF receieves these materials under the terms of an NDA, and we must take due care in how we handle these materials.

The ASF have licensed the following TCKs :

JSRVersionLatest Update
JSR-31 : XML Binding (JAXB)1.010-Feb-2005
JSR-52 : JSTL1.118-Nov-2003
JSR-67 : XML Messaging (JAXM)1.1a12-Aug-2002
JSR- : SAAJ1.211-Aug-2005
JSR-93 : JAXR 1.01.0a24-Aug-2005
JSR-101 : JavaTM APIs for XML based RPC1.1c14-Feb-2005
JSR-127 : JavaServer Faces1.1_019-Dec-2005
JSR 151 : J2EE 1.41.4.1b14 Nov 2005
JSR-152 : JSP 2.02.021-Dec-2004
JSR-154 : Java Servlet 2.42.420-Nov-2003
JSR-168 : Portlet API1.018-May-2005
JSR 172 : J2ME Webservices1.002 Dec 2003
JSR-206 : JAXP 1.31.320-Jul-2005
JSR-919 : JavaMail1.33-Mar-2005
JavaBeans Activation Framework1.0

The following TCKs are in process of being acquired :

JSR
JSR-208 : Java Business Integration (JBI)
JSR-914 : Java Message Service (JMS)