The Apache Software Foundation
Apache Incubator

Submission Date and Submitters

05 Aug 2003 : Geir Magnusson Jr., James Strachan and Richard Monson-Haefel

Section 0 : Rationale

The Java 2, Enterprise Edition (J2EE) platform is employed widely by organizations implementing enterprise applications. It is commonly used in business-to-consumer and most recently in Web service deployments. Most of the largest business organizations today have deployed applications on a J2EE platform.

While the J2EE specification is implemented by a number of large and small vendors, there is no open source J2EE container available with a BSD or BSD-derived licence nor is there an open source project today that provides a fully compliant implementation. Verifiable compliance with the J2EE specification is important to business because it ensures that applications deployed by developers are portable and interoperable across J2EE providers. As a result organizations large and small have felt compelled to pay thousands of dollars to commercial vendors in order to deploy applications based on J2EE compliant servers.

The Apache foundation supports several projects that implement pieces of the J2EE platform such as Servlets, JSP, Tag Libraries, and a Web services stack. However, Apache does not currently support a J2EE project.

The aim of the project is to produce a large and healthy community of J2EE developers tasked with the development of an open source, certified J2EE server which is ASF licensed and passes Sun's TCK reusing the best ASF/BSD licensed code available today and adding new code to complete the J2EE stack.

Section 0.1 : criteria

We feel that this project has a good chance for success as the following project aspects are carefully considered :

  • Meritocracy: The project will be meritocratic - the usual Apache meritocracy rules would apply.
  • Community: The user community for this project is potentially massive. The initial developer community for this project consists of developers from Apache, Castor, JBoss, mx4j, and OpenEJB projects. The aim is for this community to grow considerably once this project goes public.
  • Core Developers: The initial developers are listed below and consist of some existing Apache committers together with committers from Castor, JBoss, mx4j and OpenEJB. We believe that as the project grows, the modular nature of the J2EE stack will require steady expansion of the committer group that is considered 'core' - thus providing a healthier, more robust developer community.
  • Alignment: There is clear alignment with many existing Apache projects. From Jakarta projects such as Tomcat, James and log4j initially as well as possibly others along the way. J2EE now includes a web services stack and so there will be some alignment with the WS project, Axis in particular, along with the reuse of several XML projects. In addition the J2EE Server project may reuse other ASF/BSD licensed code which is not currently hosted in source form at Apache such as (at time of writing) mx4j, openjms and tyrex.

However we see the J2EE Server project as a separate project to existing Apache projects, serving two primary roles

  • integration of various existing and new code bases into a J2EE stack, with those codebases existing both inside and outside of the project
  • certification of the J2EE stack

Note that the J2EE server project can happily support competition within the J2EE services stack (for example, offering choices for elements such as the servlet engine like Tomcat or Jetty, or some new JTA implementation versus Tyrex or some new JMS implementation versus OpenJMS etc).

Section 0.2 : warning signs

We feel that this project has a good chance for success as the following warning signs do not apply to the project we are proposing :

  • Orphaned products: This project is starting with a new code base together with reusing lots of the currently available high quality J2EE open source code out there which is ASF/BSD licensed.
  • Inexperience with open source: The initial community is made up of existing Apache, Castor, JBoss, mx4j , and OpenEJB committers.
  • Homogeneous developers: The current list of committers represents developers from various backgrounds and open source projects, employed by various companies and based around the globe in the US, Europe, Asia and Australia. There will be no majority bloc, at least from the start.
  • Reliance on salaried developers: None of the initial developers are currently paid to work on the J2EE project.
  • No ties to other Apache products: The J2EE Server project is complementary to existing technologies at Apache. Indeed it will integrate many of those technologies in an effort to provide a code base that can be J2EE certified according to the JCP process.
  • A fascination with the Apache brand: The committers are interested in developing a healthy open source community around an ASF/BSD licensed J2EE certified server, whether Apache is the right place or not. The aspects of Apache that attract this effort are the experienced stewardship of open source projects by the ASF, the non-profit status of the ASF for TCK certification, and the existing Java community that has been a longstanding part of the ASF.

Section 1 : scope of the project

There are two main aspects to this Apache project :

  • a complete J2EE certified server which is fully ASF/BSD licensed and backed by a healthy open source community.
  • to create a fully modular J2EE stack so that the Apache community can use whichever parts of the J2EE stack they require separate from the J2EE server project.

Section 2 : initial source from which the project is to be populated

There are several potential initial contributions. Upon formation of the project our first action will be an open, public call for contribution and comment from the J2EE community. Because of recent circumstances in the J2EE OSS community, all code proposed for inclusion must be publicly reviewed and open to public comment.

Section 3: identify the ASF resources to be created

Section 3.1 : mailing lists

  • geronimo-dev
  • geronimo-user

Section 3.2: CVS repositories

  • geronimo

Section 3.3: Bugzilla

  • geronimo

Though would there be an issue with using JIRA?

Section 4: identify the initial set of committers

The committers are listed below, along with the open source project(s) where they also have commit privileges.

  • Bruce Snyder (Castor JDO)
  • Dain Sundstrom (JBoss)
  • David Blevins (OpenEJB)
  • David Jencks (JBoss)
  • Geir Magnusson Jr. (Apache)
  • Greg Wilkins (JBoss/Jetty)
  • James Strachan (Apache)
  • Jan Bartel (JBoss/Jetty)
  • Jason Dillon (JBoss)
  • Jeremy Boynes (JBoss)
  • Jim Jagielski (Apache)
  • Jules Golsnell (JBoss/Jetty)
  • Richard Monson-Haefel (OpenEJB)
  • Remigio Chirino (JBoss)
  • Simone Bordet (mx4j)

Section 5: identify apache sponsoring individual

  • Ceki Gulcu
  • Geir Magnusson Jr.
  • James Strachan
  • Jim Jagielski