Title:     Some of our contributors
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.

Apache Allura is a community developed project. The list below
is a partial list of contributors to the project, for a complete list you'd have
to look at all contributors to our issue tracker, mailing list and version control.

| Apache ID | Name                                      # {.w160}| Role |
|----------|----------------------------------------------------|^------------------|
| rbowen | Rich Bowen | Mentor |
| TODO | | |

The list of committers can be found [here](http://people.apache.org/committers-by-project.html#allura).
