Patrick Linskey (plinskey at bea dot com) and Eddie O'Neil (ekoneil at apache dot org)
Open JPA will be an ASL-licensed implementation of the Java Persistence API (JPA) which is defined as part of JSR-220.
We think that Open JPA is something that will benefit from wide collaboration, being able to build a community of developers and committers that outlive the founders, and that will be embraced by other Apache efforts, such as the Geronimo project as part of an EJB 3.0 container. Given the existing momentum forming behind JPA even at this early stage, we are confident that an industrial-grade ASL implementation of JSR220 will attract a diverse community.
Meritocracy
The Open JPA committers recognize the desirability of building software as a meritocracy and look forward to growing a healthy community of developers to enhance the JPA APIs.
Community
The proposed committer community is includes members of the BEA JPA team and several individuals from the Apache community.
Core Developers
Fourteen of the initial committers are BEA employees. One of those is a committer on the Apache JDO project. We anticipate that five of these fourteen will be involved in the core code development, and the other nine will be involved in documentation and ongoing QA for the project.
Three of the initial committers are committers on the Geronimo project. Two are IBM employees involved in the WebSphere product team. One is from Intel.
Alignment
Open JPA will be a candidate for use in Geronimo as the default JPA implementation. Other projects that have general-purpose JPA needs may be users of the Open JPA project.
Open JPA has some level of alignment with the Apache DB project. In particular, the Open JPA codebase already includes support for Derby databases.
JPA is for use in any Java application, not just J2EE. Therefore, any application that needs to do data persistence in the object/relational style (including any application that currently uses Hibernate) will benefit from Open JPA.
License
The existing codebase is owned by BEA and is subject to a proprietary license. The applicable code will be relicensed under the Apache Software License 2.0.
Orphaned products
Open JPA is a derivative of the basis of the BEA WebLogic Server (WLS) EJB3 JPA implementation, and so is an important piece of the BEA code base.
As this is a very eagerly anticipated specification for the Java community, we expect that this project will continue to grow and develop within its own community, and be embraced by other open source projects (such as Geronimo) as well.
Inexperience with open source
The authors of the existing code (who will be part of the initial committer list) have experience with open source development already, in both professional and personal contexts. Examples: serp (http://serp.sourceforge.net) (used in Kodo currently), sqlline and jline (http://sqlline.sourceforge.net and http://jline.sourceforge.net) (used by the Kodo development team, and used by the Apache JDO team), Growl (http://growl.info).
Four of the initial committers have extensive experience within the Geronimo project, among other open-source projects.
Homogeneous developers
The members of the initial committer list have been working in a distributed, multi-national, asynchronous environment for the last five years, while working at SolarMetric. We had a team of up to 7 people working from 6 different locations over the course of the last five years.
Reliance on Salaried Developers
Most of the developers are paid by their employer to contribute to this project, but given the anticipation from the Java community for the a JPA implementation and the committers' sense of ownership for the code, the project would continue without issue if no salaried developers contributed to the project.
No ties to other Apache products
Open JPA will likely be used by Geronimo, requires some Apache products (regexp, commons collections, commons lang, commons pool), and supports Apache commons logging.
A fascination with the Apache brand
We think that Open JPA is something that will benefit from wide collaboration, being able to build a community of developers and committers that outlive the founders, and that will be embraced by other Apache efforts, such as the Geronimo project.
No subprojects proposed.
BEA Systems, Inc. will contribute the initial core source code for implementing JPA.
Mailing lists
SVN Repository
https://svn.apache.org/repos/asf/incubator/openjpa
JIRA
Open-JPA (OPEN-JPA)
We kindly request the Incubator PMC to accept sponsorship for this proposal.
Geir Magnusson, Jr. (geirm at apache dot org)