incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donald Woods <dwo...@apache.org>
Subject [VOTE] [PROPOSAL] Validation incubator for JSR-303 Bean Validation
Date Tue, 23 Feb 2010 15:57:33 GMT
Given the lack of response on the proposal and the push from our
champion to get moving :-), I'll assume lazy consensus and call a vote.

I would like to present for a vote the following proposal to be
sponsored by the Incubator PMC for a new Validation podling.  The goal
is to build a community around delivering a JSR-303 Bean Validation
implementation based on a new incoming codebase from Agimatec GmbH.

The proposal is available on the wiki at and included below:

   http://wiki.apache.org/incubator/ValidationProposal


[] +1  to accept Validation into the Incubator
[]  0  don't care
[] -1  object and reason why.


Thanks,
Donald Woods


---- Proposal text from the wiki ----

Validation

Abstract

The Validation project will deliver an implementation of the Bean
Validation Specification (JSR303)

Proposal

The initial Validation codebase will use the Agimatec Validation source,
which is an implementation of the Bean Validation Specification (JSR303).

Although the destination of the Validation podling is not fixed, the
idea is that it will graduate to Apache Commons and replace the existing
Validator 1.x component as a new 2.0 codebase.

Background

Agimatec Validation has been developed by Agimatec Gmbh and is about 90%
complete towards implementing the JSR303 specification. The
Agimatec-Validation project is currently hosted on Google Code and is
ASL 2.0 licensed. Agimatec has no intention to complete or maintain the
implementation but has given the lead developer permission to continue
working on the project on his own time.

A number of existing Apache projects (Geronimo, OpenJPA, MyFaces,
OpenEJB, Commons) are interested in an implementation of the Bean
Validation specification and Donald Woods suggested adopting the
Agimatec Validation code rather than starting from scratch.

Rationale

There is currently no Apache project focused on providing a JSR-303
implementation. The existing Commons Validator 1.x project codebase does
not include support for Java 5 annotations and predates the JSR-303
specification effort. By using the Agimatec-Validation code, we can
bootstrap the effort to create a Validator 2 release and focus on
polishing/enhancing the code, certification activities and integration
and support of other Apache projects.

Current Status

Agimatec Validation and is about 95% complete towards implementing the
JSR303 specification.

An SGA for the Agimatec Validation has been received and on file from
Agimatec Gmbh.

Meritocracy

As a majority of the initial project members are existing ASF
committers, we recognize the desirability of running the project as a
meritocracy. We are eager to engage other members of the community and
operate to the standard of meritocracy that Apache emphasizes; we
believe this is the most effective method of growing our community and
enabling widespread adoption.

Community

Even though the reference implementation for the JSR-303 Bean Validation
specification is licensed under ASL 2.0, it is not being developed with
meritocracy in mind, as the release process is controlled by the JBoss
division of Red Hat to meet their own product needs.

Validation aims to build a community of developers interested in the
definition and delivery of a JSR-303 compliant runtime, which can be
reused as a common component by a number of different projects (like
Geronimo, OpenJPA, MyFaces, ....) By maintaining independence of the
target runtime, it is our intention to build the broadest possible
community of developers.

Core Developers

The lead developer from the Agimatec Validation project will be joined
by a number of committers from existing ASF projects.

Alignment

The purpose of Validation is to develop a certified implementation of
JSR-303. Some components may be developed and delivered by other Apache
projects, like:

    * Bean Validation 1.0 spec API - Apache Geronimo Specs subproject
    * JSF2 integration - MyFaces ExtVal components

Known Risks

The current JSR-303 portions of the Agimatec-Validation code was
developed by a single developer from Agimatec (Roman) with no available
documents on the structure of the code.

Orphaned Products

The project will be implementing the JSR-303 Bean Validation
specification, which is a required component for both the Web and Full
profiles of Java EE 6. There is minimal risk of this work becoming
non-strategic and the contributors are confident that a larger community
will form within the project in a relatively short space of time.

Inexperience with Open Source

Many of the committers have experience working in one or more open
source projects including Apache Commons, Geronimo, OpenJPA, OpenEJB,
OpenWebBeans and MyFaces.

Homogeneous Developers

The list of initial committers are geographically distributed across the
U.S., Europe and Africa with no one company being associated with a
majority of the developers. Many of these initial developers are
experienced Apache committers already and all are experienced with
working in distributed development communities. It is our hope that,
through the incubator, further contributors with a broad background of
experience but common interest will become involved with this project.

Reliance on Salaried Developers

To the best of our knowledge, none of the initial committers are being
paid to develop code for this project.

Relationships with Other Apache Products

A number of existing ASF projects require an implementation of JSR303
including Geronimo, OpenJPA and MyFaces. It is hoped that members of
those projects will be interested in contributing to and adopting this
implementation.

Apache Geronimo - Apache Geronimo is a server runtime framework and
fully certified Java EE 5 application server runtime. It is interested
in using this project, to provide the required JSR-303 implementation
for the upcoming Geronimo 3.0 server, which will be a Java EE 6
certified release.

Apache OpenJPA - Apache OpenJPA is a JPA provider, who needs to
integrate and test with a JSR-303 provider as part of JSR-317 JPA2
specification. In the future, we may decide to include the Validation
artifacts in our distribution for Java SE users.

Apache MyFaces - Apache MyFaces is a JSF provider, who needs to
integrate and test with a JSR-303 provider as part of the JSR-314 JSF2
specification. It is our hope, that the preferred Bean Validation
provider will become Validation instead of the Hibernate RI, after the
project exits the incubator.

A Excessive Fascination with the Apache Brand

The Agimatec-Validation code is currently being hosted on Google Code.
The developers (Agimatec Gmbh) did not approach Apache, but were instead
approached by Donald Woods about moving the code to Apache in hopes to
build a broader and more vibrant community around the code and as the
eventual next generation Commons Validator codebase.

Documentation

JSR303 Bean Validation Specification:

    * http://jcp.org/en/jsr/detail?id=303

Agimatec Validation Project:

    * http://code.google.com/p/agimatec-validation/

Initial Source

The intiial source comprises code developed as as part of the
agimatec-validation project on googlecode:

    * http://code.google.com/p/agimatec-validation/source/browse/

Source and Intellectual Property Submission Plan
SGA has been submitted. Source tarball has not been uploaded to SVN yet.

External Dependencies

    * Runtime
          o Apache Geronimo Bean Validation 1.0 Spec API
          o Apache Commons BeanUtils
          o Apache Commons Lang
          o Apache Commons Logging
          o Apache Commons Collections
          o XStream
    * Optional
          o org.freemarker - freemarker template to generate JSON output
    * Tests
          o JUnit
          o Log4J

Required Resources

    * Mailing lists
          o validation-private (with moderated subscriptions)
          o validation-dev
          o validation-user
          o validation-commits
    * Subversion directory
          o https://svn.apache.org/repos/asf/incubator/validation
    * Website
          o Confluence (VALIDATION)
    * Issue Tracking
          o JIRA (VALIDATION)

Initial Committers

Names of initial committers with affiliation and current ASF status:

    * Roman Stumm [roman.stumm at agimatec.de] - (Agimatec GmbH, CLA filed)
    * Donald Woods [dwoods] - (IBM, ASF committer)
    * Niall Pemberton [niallp] - (EMC, ASF committer)
    * Mohammad Nour El-Din [mnour] - (Thebe Technology, ASF committer)
    * Simone Tripodi [simone.tripodi at gmail.com] - (Asemantics S.r.l,
CLA filed)
    * Jeremy Bauer [jrbauer] - (IBM, ASF committer)
    * Gerhard Petracek [gpetracek] - (IRIAN Solutions GmbH, ASF committer)
    * Mark Struberg [struberg] - (ASF committer)

Sponsors

Champion

    * Kevan Miller

Nominated Mentors

    * Kevan Miller
    * Niall Pemberton
    * Luciano Resende

Sponsoring Entity

    * Apache Incubator PMC


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message