link
Avalon
Avalon Central
Home PlanetProductsCentral
Apache Avalon Mission
Apache Avalon is a collaborative software development project dedicated
to providing a high-quality freely available component architecture
according to the principles of the Apache Software Foundation [ASF].

This charter briefly describes the mission, history, organization, and
processes of the Apache Avalon project.

MISSION
=======

Apache Avalon exists to promote and facilitate Component Based Design.
Component Based Design is a proven practice that helps create systems
that are loosely coupled and easy to maintain. Component Based Design
requires a rigid software framework to function properly.

Apache Avalon provides a specification for such a framework, an
implementation of that specification and a compliance testing suite,
and tools and components to facilate development using that framework.

The software developed by the Apache Avalon project must be high
performance, reliable, secure, and easy to use.  The individual software
components must be part of an underlying architectural orchestration
that will allow them to work together without major negotiations or
breakage.

The process followed for the development of Apache Avalon software is
the same as the process followed by other ASF projects: individuals and
corporations collaborate on the best possible infrastructure, APIs,
code, testing, and release cycles.

In order to achieve a coherent architecture between Apache Avalon
components and other components and applications, standards (formal or
de facto) will be used as much as possible for both protocols and APIs.
We will also allow the innovation of new protocols, APIs, and components
in order to seed new concepts not yet defined by standards.

HISTORY
=======

This project was established under the direction of the Apache Software
Foundation in November 2002 to facilitate joint open-source development.

Prior to November 2002, Apache Avalon has been a part of the Apache Java
project and the Apache Jakarta project.

THE PROJECT MANAGEMENT COMMITTEE
================================
The Apache Avalon project is managed by a small, core group of
contributors known as the Project Management Committee [PMC].  The PMC
must have at least one ASF Officer, who will also be the PMC Chairperson
and who will report to the ASF Board.  See
http://www.apache.org/foundation/bylaws.html for reference.

The PMC has the following responsibilities:

o Facilitating code or other donations by individuals or companies.
o Resolving license issues and other legal issues.
o Approving new committers.
o Ensuring that administrative and infrastructure work is completed.
o Overseeing Apache Avalon to ensure that the mission defined in
  this document is being fulfilled.
o Resolving conflicts within the project.

To become a member of the PMC, an individual must be nominated by a
contributor, unanimously approved by all PMC members, and approved by a
two-thirds majority of committers. In most cases, developers will have
actively contributed to development for at least six months before being
considered for membership on the PMC.

The PMC is responsible for maintaining and updating this charter.
Development must follow the process outlined in this charter, so any
change to the development process necessitates a change to the charter.
Changes must be unanimously approved by all members of the PMC. A
contributor may challenge a change to the charter at any time and ask
for a vote of all committers, in which case a two-thirds majority must
approve the change.

COMMITTERS
==========

Committers are developers who have read/write access priviledges to the
source code repository. New committers are added when a developer is 
nominated by a committer and approved by at least 50 percent of the
existing committers with no opposing votes.  In most cases, new
committers will already be participating in the development process by
submitting suggestions and/or fixes via the bug report page or mailing
lists.

CONTRIBUTORS
============
Anyone is allowed and encouraged to participate in the development of
the Apache Avalon software products. Occasional contributors will be
able to report bugs, participate in the mailing lists, and submit
patches.

Specific changes to a product proposed for discussion or voting on the
appropriate development mailing list should be presented in the form of
patches. When sent to the mailing list, the message should contain a
subject beginning with [PATCH] and include a clear summary that
describes the effect of that patch.

Like all Apache projects, the Avalon project is a meritocracy -- the 
more work you do, the more you are allowed to do.  Developers who make
regular and substantial contributions may become committers as described
above.

LICENSING
=========
All contributions to the Apache Avalon project adhere to the "ASF Source
Code License." All contributions must be made under those terms. All
contributions must contain the following copyright notice and license:

 ============================================================================
                   The Apache Software License, Version 1.1
 ============================================================================

 Copyright (C) 1997-2003 The Apache Software Foundation.
 All rights reserved.

 Redistribution and use in source and binary forms, with or without modifica-
 tion, are permitted provided that the following conditions are met:

 1. Redistributions of  source code must  retain the above copyright  notice,
    this list of conditions and the following disclaimer.

 2. Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

 3. The end-user documentation included with the redistribution, if any, must
    include  the following  acknowledgment:  "This product includes  software
    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
    Alternately, this  acknowledgment may  appear in the software itself,  if
    and wherever such third-party acknowledgments normally appear.

 4. The  names   "Apache",   "Avalon",  "Excalibur",  "Fortress",  "Phoenix",
    "Merlin" and "Apache Software Foundation" must not be used  to endorse or
    promote  products  derived  from  this  software  without  prior  written
    permission.  For written permission, please contact apache@apache.org.

 5. Products  derived from this software may not  be called "Apache", nor may
    "Apache" appear  in their name,  without prior written permission  of the
    Apache Software Foundation.

 THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
 APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
 INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
 DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
 OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
 ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
 (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 This software  consists of voluntary contributions made  by many individuals
 on  behalf of the Apache Software  Foundation. For more  information on the
 Apache Software Foundation, please see http://www.apache.org/.

THE DEVELOPMENT PROCESS
=======================
The development process is intentionally lightweight and follows the
same guidelines as other ASF projects. The project committers decide
which changes may be committed to the repository. Three +1 ('yes' votes)
with no -1 ('no' votes or vetoes) are needed to approve a code change.
For efficiency, some code changes from some contributors (e.g. feature
additions, bug fixes) may be approved in advance, in which case they may
be committed first and changed as needed, with conflicts resolved by
majority vote of the committers.

PRODUCT REQUIREMENTS
====================
All software products developed by Apache Avalon must have a set of
requirments as well as an up-to-date release plan and architecture
design. All software products developed by Apache Avalon must have a
test system to verify their correct functioning and are ideally subject
to continous integration testing, regression testing and unit testing.

RELATIONSHIP TO OTHER APACHE PROJECTS
=====================================
The Apache Avalon project should work closely with other Apache
projects, such as Jakarta and Apache HTTP Server, to avoid redundancy
and achieve a coherent architecture among Apache Avalon and these
projects.