Title: Apache And The Java Community Process license: https://www.apache.org/licenses/LICENSE-2.0

Notice regarding open letter to Sun Microsystems

The Apache Software Foundation has written an open letter to Sun Microsystems regarding our inabillity to acquire an acceptable license for the test kit for Java SE needed by Apache Harmony. For futher information please see the FAQ and direct all questions to Apache's VP for JCP issues, geirm at apache dot org, or our regular press inquiry address, press at apache dot org. Update : The Apache Software Foundation has received no official response from Sun regarding the open letter mentioned above, other than a polite acknowledgment of receipt. While we are disappointed by this lack of visible progress, we still hope that Sun will reconsider their position regarding this issue of fundamental importance to the Java ecosystem. We do believe that bringing awareness of the issue to the community has been beneficial. We understand that friends of the Foundation and others that feel strongly about these matters are talking to Sun directly on our behalf. Further, we have seen this issue become a gating issue with JCP Executive Committee members as the consider how they vote on JSR. For example, see Intel‘s and Red Hat’s comments on the recent vote results for Java EE 6. Apache will continue to do what it can to escalate this issue with the JCP Executive Committee with the goal that Sun will finally grant the ASF a TCK license for Java SE that is free of any field of use limitations.

Apache And The Java Community Process

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 and that grants free TCK licenses to qualified-non-profits, individuals and academics. Apache is a member of the TCK scholarship 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 , Apache MyFaces 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 making

  • 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

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 its representative(s). The list operates under the rules above for representatives.

JSRRepresentativeDiscussion List
JSR-220 : Enterprise Java Beans 3.0Dain Sundstrom and Gianny DamourN/A
JSR-241 : The Groovy Programming LanguageJames StrachanN/A
JSR-244 : Java EE 5 (aka J2EE 1.5)Jeff Genender and Dain SundstromN/A
JSR-255 : Java Management ExtensionsAlan CabreraN/A
JSR-277 : Java Module SystemBrett PorterSubscribe
JSR-279 : Service Connection API for Java MEChangshin LeeN/A
JSR-280 : XML API for Java MEChangshin LeeN/A
JSR-286 : Portlet Specification 2.0David Taylor and David DeWolfN/A
JSR-314 : JavaServer Faces 2.0Martin MarinschekN/A
JSR-291 : Dynamic Component Support for Java SEAlex KarasuluN/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 Geronimo 1.xJ2EE 1.4
Apache Geronimo 2.xJava EE 5
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)
Apache OpenJPA (Incubator)Java Peristence API (JSR-220)
Apache HarmonyJava SE 5 (JSR-176)
Apache CXFJAX-WS (JSR-224), JAX-RS (JSR-311)

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

ProjectVersionJSRDate
Apache Geronimo1.0J2EE 1.42006-01-05
Apache Geronimo2.1Java EE 52008-02-15
Apache MyFaces1.1.8JSF 1.12010-06-10
1.2.9JSF 1.22010-06-10
2.0.2JSF 2.02010-09-25
Apache CXF2.0/2.1JAX-WS 2.0/2.12007-06-19
2.2.2JAX-RS 1.02009-05-28
2.3.0JAX-RS 1.1/JAX-WS 2.22010-10-11

Testing with A TCK

Whenever 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 receives these materials under the terms of an NDA, and we must take due care in how we handle these materials.

Traditionally, projects using Apache‘s TCKs have been very strict and closed about what information could be discussed in public forums. Over the years, this approach has been gradually relaxed by some projects with no adverse affects on the community, the general TCK testing process, or the ASF’s commitment to protect the confidential information entrusted to it.

Therefore, the following should be deemed the guiding policy for dealing with TCKs from the ASF :

Projects must keep the official TCK materials confidential. Use your best judgement. For the elimination of doubt, public discussion about using the TCK, bugs found while using the TCK, and any project-created frameworks or assisting software or documentation that do not reveal the official confidential TCK material is acceptable.

If there are any questions about this policy, please send mail to the jcp-open@apache.org list or mail the VP, JCP privately.

Also note :

The Apache Software Foundation has reconsidered its policy of allowing software used for general community work to be covered under an agreement such as the NDA. The general plan is to eliminate NDAs for project software in a way that minimizes the distruption to our communities. We will work with organizations such as the JCP and its spec leads to achieve an acceptable resolution. While a hard date has not be officially set, we're looking for complete elimination of the NDA for project software by 2010. Discussion of this issue in the context of the JCP and the TCKs will take place on the jcp-open@apache.org list.

The ASF have licensed the following TCKs:

SpecificationVersionJSRLatest Update
Java EE6JSR-3138-Mar-2011
JSR-29913-Jan-2011
5.0JSR-24410-Aug-2010
1.4.1JSR-15101-May-2009
1.4JSR-15126-May-2004
1.3.1-21-Apr-2004
JAF1.1.1JSR-92528-Apr-2008
1.0.2-03-Mar-2005
JASPIC1.0JSR-19615-Apr-2010
JavaMail1.4.2JSR-91902-Nov-2009
1.4.1JSR-91923-Apr-2008
1.3-03-Mar-2005
J2ME Web Services1.0JSR-17214-Nov-2006
JavaServer Faces2.1JSR-31405-May-2011
2.0JSR-31413-Oct-2010
1.2JSR-25209-Jan-2009
1.1-27-Feb-2006
1.0JSR-12727-Feb-2006
Java Servlet3.0JSR-31506-Apr-2010
2.5JSR-15410-Mar-2009
2.4JSR-15424-Apr-2007
1.0-14-Jun-2002
XML Binding (JAXB)2.2JSR-22230-Apr-2010
2.1JSR-22230-Jul-2010
2.0JSR-22203-Mar-2009
1.0JSR-3110-Feb-2005
XML Messaging (JAXM)1.1JSR-6716-Aug-2002
XML Processing (JAXP)1.4JSR-20604-Jun-2008
1.3JSR-20625-Apr-2006
1.2JSR-524-Feb-2004
XML Registries (JAXR)1.0JSR-9324-Aug-2005
XML Based RPC (JAXRPC)1.1JSR-10111-Jan-2006
1.0JSR-10109-Apr-2003
Restful Web Services (JAX-RS)1.1JSR-31126-Jan-2010
1.0JSR-31114-May-2009
XML Web Services (JAX-WS)2.2JSR-22405-Jan-2011
2.1JSR-22408-Dec-2009
2.0JSR-22415-May-2007
Java Business Integration1.0JSR-20808-Feb-2007
Java Persistence API2.0JSR-3175-Dec-2010
1.0JSR-22030-Mar-2007
JavaServer Pages (JSP)2.2JSR-24530-Aug-2010
2.1JSR-24510-Aug-2010
2.0JSR-15221-Dec-2004
1.0-08-Jun-2002
Java Standard Tag Library (JSTL)1.2JSR-5226-Mar-2008
1.1JSR-5218-Nov-2003
1.0JSR-5228-May-2003
Portlet1.0JSR-16818-May-2005
SAAJ1.3-20-Jan-2010
1.2-12-Aug-2005
1.1-16-Aug-2002
STaX1.2JSR-17320-Apr-2010
1.1JSR-17321-Dec-2007
1.0JSR-17310-May-2006
Content Repository1.0JSR-170
JMS1.1JSR-91408 June 2006
WS Metadata2.0JSR-18101 Feb 2007

The following TCKs are in process of being acquired:

JSR
JSR-176 : Java SE 5