incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simone Tripodi <simonetrip...@apache.org>
Subject [VOTE][PROPOSAL] OGNL join the Incubator
Date Sat, 23 Apr 2011 11:57:17 GMT
Hi all ASF mates,
I'm writing to submit a new incubator proposal, Apache OGNL.
Follows below the proposal; this vote will be open for 72 hours and
will be closed on April 26th (Tue) at 12:00 am CET.
Many thanks in advance to everyone will take pat to the vote!
Have a nice weekend,
Simo

http://people.apache.org/~simonetripodi/
http://www.99soft.org/

Apache OGNL

Abstract
The following proposal is about Apache OGNL, a Java development
framework for Object-Graph Navigation Language, plus other extras such
as list projection[1], selection[2] and lambda expressions[3].

Proposal
OGNL started out as a way to set up associations between UI components
and controllers using property names. As the desire for more
complicated associations grew, Drew Davidson created what he called
KVCL, for Key-Value Coding Language, egged on by Luke Blanshard. Luke
then reimplemented the language using ANTLR, came up with the new
name, and, egged on by Drew, filled it out to its current state. Later
on Luke again reimplemented the language using JavaCC. Further
maintenance on all the code is done by Drew (with spiritual guidance
from Luke).
Today OGNL is maintained by Lukasz Lenart.

Background
OGNL is a long living project born in the 1997 thanks to Drew Davidson
initial effort, moved under the OpenSymphony[4] umbrella in June 2005
or thereabouts, then moved on its own domain on ognl.org[5] that's no
more maintained, then finally found place on GitHub[6], maintained by
Lukasz Lenart.

Rationale
OGNL stands for Object Graph Navigation Language. It is an expression
and binding language for getting and setting properties of Java
objects. Normally the same expression is used for both getting and
setting the value of a property.

Many people have asked exactly what OGNL is good for. Several of the
uses to which OGNL has been applied are:

 * A binding language between GUI elements (textfield, combobox, etc.)
to model objects. Transformations are made easier by OGNL's
TypeConverter mechanism to convert values from one type to another
(String to numeric types, for example).
 * A data source language to map between table columns and a Swing TableModel.
 * A binding language between web components and the underlying model
objects (WebOGNL, Tapestry, WebWork, WebObjects).
 * A more expressive replacement for the property-getting language
used by the Apache Commons BeanUtils package or JSTL's EL (which only
allow simple property navigation and rudimentary indexed properties).

Most of what you can do in Java is possible in OGNL, plus other extras
such as list projection and selection and lambda expressions.

Current Status

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.

Core Developers
In alphabetical order:

 * Antonio Petrelli <apetrelli at apache dot org>
 * Christian Grobmeier <grobmeier at apache dot org>
 * Jesse Kuhnert <jkuhnert at apache dot org>
 * Jochen Wiedmann <jochen at apache dot org>
 * Lukasz Lenart <lukaszlenart at apache dot org>
 * Olivier Lamy <olamy at apache dot org>
 * Marc Andrew Davidson <drewd at apple dot com>
 * Maurizio Cucchiara <mcucchiara at apache dot org>
 * Simone Tripodi <simonetripodi at apache dot org>
 * Upayavira <upayavira at apache dot org>

Alignment
The purpose of the project is to develop and maintain OGNL
implementation that can be used by other Apache projects.

Known Risks
Orphaned Products
Being OGNL widely adopted we believe there is minimal risks 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.

Moreover, OGNL has been already used by the following projects for years:

 * Apache Struts;
 * Apache Tapestry;
 * Apache Camel;
 * Apache Tiles;
 * MyBatis (formerly Apache iBATIS);
 * Spring WebFlow.

Inexperience with Open Source
All of the committers have experience working in one or more open
source projects inside and outside ASF.

Homogeneous Developers
The list of initial committers are geographically distributed across
the USA and Europe 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.

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 already benefit from OGNL
implementation, including Apache Struts, Apache Tapestry, Apache Tiles
and Apache Camel. It is hoped that members of those projects will be
interested in contributing to and adopting this implementation.

A Excessive Fascination with the Apache Brand
OGNL fits naturally in the ASF because :

 * It is already adopted by ASF Projects;
 * It is a key component on which many other projects can depend on.

Documentation
 1. The original OGNL HomePage[7]
 2. The OGNL Language Guide[8]
 3. The OGNL Developer Guide[9]

Initial Source
The intial source comprises code developed on GitHub[6] contributed
under Grant from Marc A. Davidson for OGNL.

Source and Intellectual Property Submission Plan
Source code will be moved from GitHub[6] space inside the SVN space of
the podling, contributed under Grant from Marc A. Davidson for OGNL.

External Dependencies
Currently OGNL depends on Javassist[10], that's released under dual
license MPL (the license under which javassist is usually distributed)
and LGPL2.1 (the license under which javassist is distributed when it
is bundled with JBoss).
Since MPL is one of Reciprocal Licenses[11], we intend to respect the
Javassist inclusion under conditions described on that page.

Cryptography
The project does not handle cryptography in any way.

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

Initial Committers
Names of initial committers - in alphabetical order - with affiliation
and current ASF status:

 * Antonio Petrelli <apetrelli at apache dot org> (PMC Member)
 * Christian Grobmeier <grobmeier at apache dot org> (ASF Member)
 * Jesse Kuhnert <jkuhnert at apache dot org> (PMC Member)
 * Jochen Wiedmann <jochen at apache dot org> (PMC Member)
 * Lukasz Lenart <lukaszlenart at apache dot org> (ASF Member)
 * Olivier Lamy <olamy at apache dot org> (ASF Member)
 * Marc Andrew Davidson <drewd at apple dot com> (ICLA signed)
 * Maurizio Cucchiara <mcucchiara at apache dot org> (Committer)
 * Simone Tripodi <simonetripodi at apache dot org> (PMC Member)
 * Upayavira <upayavira at apache dot org> (ASF Member)

Sponsors
Champion
 * Lukasz Lenart

Nominated Mentors
 * Christian Grobmeier <grobmeier at apache dot org>
 * Jochen Wiedmann <jochen at apache dot org>
 * Olivier Lamy <olamy at apache dot org>
 * Upayavira <upayavira at apache dot org>

Sponsoring Entity
 * Apache Incubator PMC - voting passed[12]

Other interested people (in alphabetical order)
 * Dave Newton <davelnewton at gmail dot com>
 * Nuwan Arambage <nuwan dot arambage at gmail dot com>
 * Tiger Gui <tigergui1990 at gmail dot com>
 * Xun Long Gui <ustbcoder at gmail dot com> (already worked on
Commons SCXML on Sandbox[13] for GSoC 2010)

[1] http://www.opensymphony.com/ognl/html/LanguageGuide/projection.html
[2] http://www.opensymphony.com/ognl/html/LanguageGuide/selection.html
[3] http://www.opensymphony.com/ognl/html/LanguageGuide/lambdaExpressions.html
[4] http://www.opensymphony.com/ognl/
[5] http://www.ognl.org/
[6] https://github.com/jkuhnert/ognl/
[7] http://www.opensymphony.com/ognl/
[8] http://www.opensymphony.com/ognl/html/LanguageGuide/index.html
[8] http://www.opensymphony.com/ognl/html/DeveloperGuide/index.html
[10] http://www.csg.is.titech.ac.jp/~chiba/javassist/
[11] http://www.apache.org/legal/resolved.html
[12] http://markmail.org/message/ylt25u5doktxuorl
[13] http://commons.apache.org/sandbox/gsoc/2010/scxml-eclipse/index.html

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


Mime
View raw message