Open JPA

Patrick Linskey (plinskey at bea dot com) and Eddie O'Neil (ekoneil at apache dot org)

Project Proposal

Open JPA will be an ASL-licensed implementation of the Java Persistence API (JPA) which is defined as part of JSR-220.

Rationale

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.

Criteria

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.

Avoiding the Warning Signs

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.

Scope of Subprojects

No subprojects proposed.

Initial Source

BEA Systems, Inc. will contribute the initial core source code for implementing JPA.

ASF Resources to be Created

Mailing lists

* open-jpa-dev@ * open-jpa-commits@ * open-jpa-ppmc@ (with moderated subscriptions) open-jpa-user@

SVN Repository

https://svn.apache.org/repos/asf/incubator/openjpa

JIRA

Open-JPA (OPEN-JPA)

Initial Committers

We kindly request the Incubator PMC to accept sponsorship for this proposal.

Champion

Geir Magnusson, Jr. (geirm at apache dot org)

Mentors

OpenJPAProposal (last edited 2009-09-20 23:05:17 by localhost)