Title: October 2009
Aries will deliver a set of pluggable Java components enabling an
enterprise OSGi application programming model.

Aries entered incubation on September 22, 2009. This is our first board
report.

There are currently no issues requiring IPMC or Board attention .

All infra resources have been set up (svn / site / mailing lists) very
quickly.
The svn area has been organized with a single trunk for now, though we
still need to settle the discussion about components lifecycle and the svn
layout.
IBM has contributed some code that has been imported into svn and the JNDI
modules have already been imported into trunk.	Both Geronimo contribution
(OSGi Blueprint Services) and ServiceMix contribution (OSGi Transaction
Manager) have been imported into trunk.

On the community side, we've already voted 3 additional committers (Adam
Wojtuniak, Alan Keane and Niclas Hedhman) who had expressed their interest
in joining the project just after the acceptance vote on the proposal was
launched.

There is a lot of discussions and activity on the mailing lists.

Top 2 or 3 things to resolve before graduation:
* Build community
* Create a release 
* Address project scope concerns raised during acceptance vote
