The Apache Software Foundation

This is a Draft for consideration and NOT formal policy

 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.

 Apache And 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 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.

    Apache's goal in participating in Expert Groups at the JCP as well as on the Executive Committee is to help promote Open Standards, Open Communication and Open Community. In the past, the ASF has signed a Non-Disclosure Agreement (NDA) with Sun to receive access to the TCKs for various JSRs that were implemented by communities at Apache. The ASF has reviewed the impact this decision on communities at Apache as well as its impact on the industry. Based on this review the ASF is changing its position on TCK access.

    A change of this magnitude comes after a lot of consideration about many factors. Some of these include alignment of Apache goals and philosophy with Openness and Community. Also factoring into the decision is our commitment to users and communities that have made decisions chosen to consume projects built based on specifications from the JCP as well as of individual contributors to participate in the building of this technology.

    To be faithful to our users and our principles the ASF has made the following policy changes:

  • The ASF will no longer seek to receive access to new TCKs or specifications that have restrictive licenses.
  • Access to existing TCKs and specifications will continue to be allowed so as to not disrupt existing communities or users.
  • The ASF will continue to be involved in the Executive Committee as well as participate in JSRs. Participation in JSRs will be determined based on interest in the JSR as well as the license terms of the specification, Reference Implementation as well as the TCK used to validate an implementation.
  • UsersCommitters that currently have signed an NDA with Apache will be allowed to continue their work working on the projects and implementations that are in progress.
  • UsersCommitters that are interested in signing an NDA to working on validating an implementation may do so by executing an NDA. However, Apache may, in the future, no longer accept new NDAs for existing projects.

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 is consistent with Apache Community principles 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
  • 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
JSR-252 : JavaServer Faces 1.2 Manfred Geiler N/A
JSR-291 : Dynamic Component Support for Java SE Alex Karasulu 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.

In addition to JSR specifications, the TCK used to validate the JSR must also be available under a license that does not incur downstream implications to users of the implementation or the code used to implement it. Also, the license used to obtain the under which the TCK iis made availablei cannot include terms that would restrict open communication and use of the TCK to validate an implementation. This means that users of the TCK, RI and/or other materials would not need to sign an NDA to have access to the materials or be prohibited from discussing its contents. Restrictions on re-distribution of the test framework itself would be acceptable as any interested party should be able to obtain the materials from their source.

Finally, the ASF would regrettably vote against proposed JSRs that violate an open environment in terms of licenses that add downstream restrictions, whether it be the source that implements the specification or the consequences of testing that imposes use restrictions, or other restrictions incompatible with the AL 2.0 the ASF would regrettably vote against such JSRs.

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)
Apache OpenJPA (Incubator)Java Peristence API (JSR-220)
Apache HarmonyJava SE 5 (JSR-176)

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

ProjectVersionJSRDate
Apache Geronimo1.0J2EE 1.42006-01-05
Apache MyFaces1.1.3JSF 1.12006-05-09

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.

The ASF have licensed the following TCKs:

JSRVersionLatest Update
JSR-31 : XML Binding (JAXB)2.027-Apr-2006 (26-Jan-2007)
JSR-52 : JSTL1.210-May-2006
JSR-67 : XML Messaging (JAXM)1.1a12-Aug-2002
JSR- : SAAJ1.310-May-2006
JSR-93 : JAXR 1.01.0a24-Aug-2005
JSR-101 : JavaTM APIs for XML based RPC1.1c14-Feb-2005
JSR-127 : JavaServer Faces1.2_035-Dec-2006
JSR 151 : J2EE 1.41.4.1b14 Nov 2005
JSR 244 : Java EE 55.0a17-Oct-2006 (18 Jan 2007)
JSR-152 : JSP 2.02.021-Dec-2004
JSR-245: JSP 2.12.110-May-2006
JSR-154 : Java Servlet 2.52.510-May-2006
JSR-168 : Portlet API1.018-May-2005
JSR 172 : J2ME Webservices1.002 Dec 2003
JSR-206 : JAXP 1.41.31-Nov-2006 (8-Jan-2007)
JSR-919 : JavaMail1.33-Mar-2005
JSR-170 : Content Repository1.0
JSR-208 : Java Business Integration1.0b27-Jul-2006
JavaBeans Activation Framework1.0.202-Mar-2005
JSR 914 : JMS1.108 June 2006
JSR 224 : JAX-WS2.010 May 2006
JSR 173 : STaX1.0
JSR 220 : JPA subspec of EJB31.0a26-Jan-2007
JSR 181 : WS Metadata2.01-Feb-2007

The following TCKs are in process of being acquired:

JSR
JSR-176 : Java SE 5