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 further 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.
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.
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.
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
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.
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.
JSR | Representative | Discussion 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-314 : JavaServer Faces 2.0 | Martin Marinschek | N/A |
JSR-291 : Dynamic Component Support for Java SE | Alex Karasulu | N/A |
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:
Project | JSR |
---|---|
Apache Geronimo 1.x | J2EE 1.4 |
Apache Geronimo 2.x | Java EE 5 |
Apache Tomcat | Servlet and JSP |
Apache DB | JDO 2 (in JDO) |
Apache Jakarta | JSTL (in Taglibs) |
Apache MyFaces | JSF |
Apache Portals | Portlets (in Pluto) |
Apache WebServices | JAX-RPC, JAXB, J2ME WS, JAXM, JAXR, SAAJ |
Apache Jackrabbit | Content Repository (JSR-170, JSR-283) |
Apache OpenJPA (Incubator) | Java Peristence API (JSR-220) |
Apache Harmony | Java SE 5 (JSR-176) |
Apache CXF | JAX-WS (JSR-224), JAX-RS (JSR-311) |
The following projects have officially tested and passed the TCK for their specific technology:
Project | Version | JSR | Date |
---|---|---|---|
Apache Geronimo | 1.0 | J2EE 1.4 | 2006-01-05 |
Apache Geronimo | 2.1 | Java EE 5 | 2008-02-15 |
Apache MyFaces | 1.1.8 | JSF 1.1 | 2010-06-10 |
1.2.9 | JSF 1.2 | 2010-06-10 | |
2.0.2 | JSF 2.0 | 2010-09-25 | |
Apache CXF | 2.0/2.1 | JAX-WS 2.0/2.1 | 2007-06-19 |
2.2.2 | JAX-RS 1.0 | 2009-05-28 | |
2.3.0 | JAX-RS 1.1/JAX-WS 2.2 | 2010-10-11 |
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:
Specification | Version | JSR | Latest Update |
---|---|---|---|
Java EE | 6 | JSR-313 | 8-Mar-2011 |
JSR-299 | 13-Jan-2011 | ||
5.0 | JSR-244 | 10-Aug-2010 | |
1.4.1 | JSR-151 | 01-May-2009 | |
1.4 | JSR-151 | 26-May-2004 | |
1.3.1 | - | 21-Apr-2004 | |
JAF | 1.1.1 | JSR-925 | 28-Apr-2008 |
1.0.2 | - | 03-Mar-2005 | |
JASPIC | 1.0 | JSR-196 | 15-Apr-2010 |
JavaMail | 1.4.2 | JSR-919 | 02-Nov-2009 |
1.4.1 | JSR-919 | 23-Apr-2008 | |
1.3 | - | 03-Mar-2005 | |
J2ME Web Services | 1.0 | JSR-172 | 14-Nov-2006 |
JavaServer Faces | 2.1 | JSR-314 | 05-May-2011 |
2.0 | JSR-314 | 13-Oct-2010 | |
1.2 | JSR-252 | 09-Jan-2009 | |
1.1 | - | 27-Feb-2006 | |
1.0 | JSR-127 | 27-Feb-2006 | |
Java Servlet | 3.0 | JSR-315 | 06-Apr-2010 |
2.5 | JSR-154 | 10-Mar-2009 | |
2.4 | JSR-154 | 24-Apr-2007 | |
1.0 | - | 14-Jun-2002 | |
XML Binding (JAXB) | 2.2 | JSR-222 | 30-Apr-2010 |
2.1 | JSR-222 | 30-Jul-2010 | |
2.0 | JSR-222 | 03-Mar-2009 | |
1.0 | JSR-31 | 10-Feb-2005 | |
XML Messaging (JAXM) | 1.1 | JSR-67 | 16-Aug-2002 |
XML Processing (JAXP) | 1.4 | JSR-206 | 04-Jun-2008 |
1.3 | JSR-206 | 25-Apr-2006 | |
1.2 | JSR-5 | 24-Feb-2004 | |
XML Registries (JAXR) | 1.0 | JSR-93 | 24-Aug-2005 |
XML Based RPC (JAXRPC) | 1.1 | JSR-101 | 11-Jan-2006 |
1.0 | JSR-101 | 09-Apr-2003 | |
Restful Web Services (JAX-RS) | 1.1 | JSR-311 | 26-Jan-2010 |
1.0 | JSR-311 | 14-May-2009 | |
XML Web Services (JAX-WS) | 2.2 | JSR-224 | 05-Jan-2011 |
2.1 | JSR-224 | 08-Dec-2009 | |
2.0 | JSR-224 | 15-May-2007 | |
Java Business Integration | 1.0 | JSR-208 | 08-Feb-2007 |
Java Persistence API | 2.0 | JSR-317 | 5-Dec-2010 |
1.0 | JSR-220 | 30-Mar-2007 | |
JavaServer Pages (JSP) | 2.2 | JSR-245 | 30-Aug-2010 |
2.1 | JSR-245 | 10-Aug-2010 | |
2.0 | JSR-152 | 21-Dec-2004 | |
1.0 | - | 08-Jun-2002 | |
Java Standard Tag Library (JSTL) | 1.2 | JSR-52 | 26-Mar-2008 |
1.1 | JSR-52 | 18-Nov-2003 | |
1.0 | JSR-52 | 28-May-2003 | |
Portlet | 1.0 | JSR-168 | 18-May-2005 |
SAAJ | 1.3 | - | 20-Jan-2010 |
1.2 | - | 12-Aug-2005 | |
1.1 | - | 16-Aug-2002 | |
STaX | 1.2 | JSR-173 | 20-Apr-2010 |
1.1 | JSR-173 | 21-Dec-2007 | |
1.0 | JSR-173 | 10-May-2006 | |
Content Repository | 1.0 | JSR-170 | |
JMS | 1.1 | JSR-914 | 08 June 2006 |
WS Metadata | 2.0 | JSR-181 | 01 Feb 2007 |
The following TCKs are in process of being acquired:
JSR |
---|
JSR-176 : Java SE 5 |