Title:     Board Report
Notice:    Licensed to the Apache Software Foundation (ASF) under one
           or more contributor license agreements.  See the NOTICE file
           distributed with this work for additional information
           regarding copyright ownership.  The ASF licenses this file
           to you under the Apache License, Version 2.0 (the
           "License"); you may not use this file except in compliance
           with the License.  You may obtain a copy of the License at
           .
             http://www.apache.org/licenses/LICENSE-2.0
           .
           Unless required by applicable law or agreed to in writing,
           software distributed under the License is distributed on an
           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
           KIND, either express or implied.  See the License for the
           specific language governing permissions and limitations
           under the License.

# December 2010 Board report
Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.

Aries entered incubation on September 22, 2009.

The Aries community and Incubator PMC have voted for Aries to graduate as a TLP. This is an agenda item in the Dec 15th 2010 Board meeting.

There is discussion about making a release, which Karaf and Geronimo would consume, as soon as we have a decision from the board.

There continues to be a vibrant community as shown by the activity on the mailing list in the last quarter. The Aries sub-components continue to be actively developed. Since the last board report we have 3 new committers (Bartosz Kowalewski, Chris Wilkinson and Emily Jiang) and one new PPMC member (Holly Cummins).

We are close to moving our site from Confluence over to CMS. All that remains is for the site to be switched over. The CMS based site will allow us to update the site immediately after a change is made and more easily blend in non-wiki content such as that generated by the OSGi Enterprise Compliance Tests.

There are no further issues to resolve before graduation - the Aries and Incubator communities have voted to graduate Aries to a TLP.