The project charter

This project charter was accepted in a vote on the PMC list in February 2005.

1 INTRODUCTION
==============

1.1 Apache XML Graphics is a collaborative software development project
dedicated to providing robust, full-featured, commercial-quality, and freely
available software packages for the conversion of XML to graphical output and
for related components. This project is managed in cooperation with various
individuals worldwide (both independent and company-affiliated experts), who use
the Internet to communicate, plan, and develop XML software and related
documentation.

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

2 MISSION
=========

2.1 Apache XML Graphics exists to promote the use of XML. We view XML as a
compelling paradigm that structures data as information, thereby facilitating
the exchange, transformation, and presentation of knowledge. The ability to
transform raw data into usable information has great potential to improve the
functionality and use of information systems. We intend to build freely
available products for the conversion of XML to graphical output and closely
related technologies in order to engender such improvements.

2.2 The Apache XML Graphics products support standard APIs (formal, de facto, or
proposed). They are designed to be high performance, reliable, and easy to use.
To facilitate easy porting of ideas between languages, the API's supported
should be as similar as possible, given the constraints of the languages and
existing architectures. Apache XML Graphics products should also be designed to
work efficiently with other Apache projects that deal with XML whenever
possible.

2.3 We believe that the best way to further these goals is by having both
individuals and corporations collaborate on the best possible infrastructure,
APIs, code, testing, and release cycles. Components must be vendor neutral and
usable as core components for all.

2.4 In order to achieve a coherent architecture between Apache XML Graphics
products and other components and applications, standards (formal or de facto)
will be used as much as possible for both protocols and APIs. Where appropriate,
experiences and lessons learned will be fed back to standards bodies in an
effort to assist in the development of those standards. We will also encourage
the innovation of new protocols, APIs, and components in order to seed new
concepts not yet defined by standards.

3 HISTORY
=========

3.1 Both Batik and FOP were subprojects of the Apache XML Project until late
2004. At this time, reflecting the growth in the Apache XML project and these
communities themselves, Apache XML Graphics became a top-level project of the
Apache Software Foundation. Apache XML Graphics still shares much infrastructure
with the Apache XML project and the other former subprojects of Apache XML that
have become projects in their own right.

4 TERMS
=======

4.1 The ASF Board.  The management board of the Apache Software
Foundation.

4.2 The Project.  The Apache XML Graphics Project; intended to refer to the
source code, website and community that are Apache XML Graphics.

4.3 Subproject.  Apache XML Graphics is composed of a number of subprojects
which fit into one of two categories:

a) Implementations of a graphics-related XML standard in some particular
   programming language. At the time of writing, there is one implementation
   for both SVG (Batik) and XSL-FO (FOP) written in Java.
b) A set of components serving some purpose not directly pertinent to the
   conversion of XML to graphical output, but which are used in related
   applications and are tightly bound, usually through internal API's, to one
   (or more) of the XML Graphics subprojects.

4.4 Product.  Some deliverable (usually a binary or source
package) that a subproject releases to the public. Subprojects
may have multiple products.

4.5 Contributor.  Anyone who makes a contribution to the development
of the Apache XML Graphics project or a subproject.

4.6 Committer.  Each Apache XML Graphics subproject has a set of committers.
Committers are contributors who have read/write access to the source code
repository.

5 THE PROJECT MANAGEMENT COMMITTEE
==================================

5.1 The Apache XML Graphics project is managed by a core group of committers
known as the Project Management Committee [PMC], which is composed of volunteers
from among the active committers (see 8.3 below) from all subprojects.  Each
subproject must have at least one representative on the PMC, to ensure active
supervision of the subproject.

5.2 The activities of the PMC are coordinated by the Chairperson, who is an
officer of the corporation and reports to the Apache Board.  The Chairperson
will, on the request of the Apache Board, provide reports to the Board on issues
related to the running of the Apache XML Graphics project.

5.3 The PMC has the following responsibilities:

a) Accepting new subproject proposals, voting on these proposals and creating
   the subproject (see SUBPROJECTS below).  This is done in collaboration with
   the Incubator (see http://incubator.apache.org).
b) Facilitating code or other donations by individuals or companies, in
   collaboration with the Incubator.
c) Resolving license issues and other legal issues in conjunction with
   the ASF board.
d) Ensuring that administrative and infrastructure work is completed.
e) Facilitating relationships among subprojects and other Apache projects.
f) Facilitating relationships between Apache XML Graphics and the external
   world.
g) Overseeing Apache XML Graphics to ensure that the mission defined in
   this document is being fulfilled.
h) Resolving conflicts within the project.
i) Reporting to the ASF board (through the Chair) on the progress
   of the project.

5.4 In cases where the sub-project is unable to directly provide at least one
representative on the PMC--implying that there are no active committers on that
code base--then the subproject should be considered dormant, and any relevant
Apache policies for dormant projects should be implemented. At the least, the
subproject's status should be updated on its website.

5.5 Every 12 months, or at the request of the Board, the PMC will provide a
recommendation to the Apache Board for the position of Chairperson of the PMC.

5.6 This recommendation will be made on the basis of an election held within the
PMC. The election will be performed using a simple majority vote of PMC members.

5.7 Upon agreement by the Apache Board, the recommended Chairperson will, if
they are not already, be appointed an officer of the corporation. See
http://www.apache.org/foundation/bylaws.html for more information.

5.8 In the unlikely event that a member of the PMC becomes disruptive to the
process, ceases to make codebase contributions for an extended period, or ceases
to take part in PMC votes for an extended period of time, said member may be
removed by unanimous vote of remaining PMC members.

5.9 The PMC is responsible for maintaining and updating this charter.
Development must follow the process outlined below, so any change to the
development process necessitates a change to the charter. Changes must be
approved by a two-thirds majority of all members of the PMC.

6 SUBPROJECTS
=============

6.1 When a new subproject proposal is submitted to the PMC, it may be accepted
by unanimous vote of the PMC.

6.2 A subproject may be removed by unanimous vote of the PMC, subject to the
approval of the ASF board.

7 CONTRIBUTORS
==============

7.1 Like all Apache projects, the Apache XML Graphics project is a meritocracy
-- the more work you do, the more you are allowed to do. Contributions will
include participating in mailing lists, reporting bugs, providing patches and
proposing changes to a product.

7.2 Contributors who make regular and substantial contributions may become
committers as described below.

8 COMMITTERS
============

8.1 Each subproject has a set of committers. Committers are contributors who
have read/write access to the source code repository.

8.2 Normally, a new committer is added after a contributor has been nominated by
a committer and approved by at least 50 percent of the active committers for
that subproject with no opposing votes. In the case that a subproject has a very
small number of active committers, the PMC may choose to require a PMC
resolution to approve the nomination of a contributor by one of the active
committers in that subproject. All committers must have a signed Contributor
License Agreement on file with the Secretary of the Corporation. Since, in most
cases, contributors will already have contributed significant amounts of code,
this should usually have been done before nomination.

8.3 Committers have write access to the primary subproject by which they have
been nominated as well as the area for common components, if any. A committer
may be elected to multiple subprojects.

8.4 For the purposes of voting, committers will be classed as "active" or
"inactive". Only active committers will be included in the totals used to
determine the success or failure of a particular vote, and only active
committers can be members of the PMC.

8.5 Committers remain active as long as they are contributing code or posting to
the subproject mailing lists. If a committer has neither contributed code nor
posted to the subproject mailing lists in 3 months, the PMC chair may e-mail the
committer, the subproject development list, and the PMC mailing list notifying
the committer that they are going to be moved to inactive status. If there is
no response in 72 hours, the committer will become inactive, and may be removed
from the PMC mailing list.

8.6 An inactive status will not prevent a committer committing new code changes
or posting to the mailing lists. Either of these activities will automatically
re-activate the committer for the purposes of voting.

9 INFRASTRUCTURE
================

9.1 The Apache XML Graphics project relies on the Apache XML project and the
Apache Infrastructure project for the following:

a) Bug Database -- This is a system for tracking bugs and feature requests.

b) Subproject Source Repositories -- These are several repositories containing
   both the source code and documentation for the subprojects.

c) Website -- The xmlgraphics.apache.org website will contain information about
   the Apache XML Graphics project, including documentation, downloads of
   releases, and this charter. Each subproject will have its own website with
   subproject information.

d) PMC Mailing List -- This list is for PMC business requiring
   confidentiality, particularly when an individual or company requests
   discretion. All other PMC business should be done on the general
   mailing list.

e) General Mailing List -- This mailing list is open to the public. It is
   intended for discussions that cross subprojects.

f) Subproject Mailing Lists -- Each subproject (except for common components)
   should have at least one devoted mailing list. Many subprojects may wish to
   have both user and dev (development) lists. The individual subprojects may
   decide on the exact structure of their mailing lists.

10 LICENSING
============

10.1 All contributions to the Apache XML Graphics project adhere to the Apache
Software Foundation License, v.2.0 (http://www.apache.org/licenses/LICENSE-2.0).
All further contributions must be made under the same terms.

10.2 When a committer is considering integrating a contribution from a
contributor who has no CLA on file with the Corporation, it is the
responsibility of the committer, in consultation with the PMC, to conduct due
diligence on the pedigree of the contribution under consideration.

11 THE DEVELOPMENT PROCESS
==========================

11.1 The development process is intentionally lightweight; like other Apache
projects, the 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 significant 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.

12 SUBPROJECT REQUIREMENTS
==========================

12.1 Each subproject should have a set of requirements as well as an up-to-date
release plan and design document on its dedicated web page.

12.2 It is recommended that each subproject have a smoke-test system that works
at least as a basic integration test.

13 RELATIONSHIP TO OTHER APACHE PROJECTS
========================================

13.1 The Apache XML Graphics project should work closely with other Apache
projects, such as XML, Jakarta and the Apache Server, to avoid redundancy and
achieve a coherent architecture among Apache XML Graphics and these projects.

ProjectCharter (last edited 2011-03-09 18:59:09 by SimonPepping)