05 Aug 2003 : Geir Magnusson Jr., James Strachan and Richard
Monson-Haefel
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.
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).
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.
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.
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.1 : mailing lists
- geronimo-dev
- geronimo-user
Section 3.2: CVS repositories
Section 3.3: Bugzilla
Though would there be an issue with using JIRA?
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)