Date: 2003-11-25T01:04:25
   Editor: NicolaKen <[EMAIL PROTECTED]>
   Wiki: Incubator Wiki
   Page: IncubatorCharterDraft

   Initial migration from the original wiki

New Page:

= INTRODUCTION =

== Description ==
The incubator.apache.org project is dedicated to facilitating
the smooth entry of valid new and donated code bases and community projects 
into the
Apache Software Foundation.  It is managed in cooperation with
various individuals worldwide (both independent and company-
affiliated experts), who use the Internet to communicate, plan
and develop incubation processes and procedures.

== What this charter is about ==

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

= MISSION =

== Project scope ==

incubator.apache.org exists to provide an entry path into Apache for
new code bases and community projects (hereafter referred to as "products").
The Apache Software Foundation is a community of developers that promotes
a set of values and ideals in software development.  The incubator
projects exists to help new projects adapt to the ASF, and to
ensure that such projects are functioning in the "Apache way" before
being released fully into the Foundation.

== "deliverables" ==

incubator.apache.org defines a set of processes and guidelines that
can be used by Apache members and projects sponsoring a new code base into
the foundation.  A minimal set of core processes are defined that are
mandatory for all new code bases to follow.  The incubator project
also helps in providing the infrastructure necessary for new projects and
code bases to transition into the ASF.  Finally, the incubator provides
a core set of committers who can assist sub-projects through the
incubation process.

'''QUESTION: is this assumption of providing committers true'''
I would rephrase the last paragrapgh as: "Finally, the incubator assists the
incubating projects in providing a communication platform for committers
interested in participating with these projects."

== Judging merits ==

The incubator makes no judgement, and defines no processes that would
judge the technical merits of the products being incubated.  The purpose
of incubation is to ensure developers of new code bases are meeting the
community ideals of the Foundation, not to determine the relative
technical merits of any particular product.

= HISTORY =

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

'''QUESTION: IS THAT THE CORRECT DATE?'''

= TERMS =

== The ASF Board ==

The management board of the Apache Software Foundation.

== The Incubator ==
The Apache Incubator Project, referred to in this
document as "incubator.apache.org" or "the incubator.apache.org project".

== Subproject ==
incubator.apache.org is comprised of a number of
subprojects; a subproject represents a product currently going through
the incubation process.

'''REMARK: I'm not sure whether incubating projects belong to the incubator
project. I'd rather see them appointed to their receiving PMC.'''

== Contributor ==
Anyone who makes a contribution to the development
of the incubator.apache.org project or a subproject.

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

== Incubation Mentor ==
Each product going through incubation must
have an assigned ASF member who is responsible for guiding the product
through the process and ensuring that the product is meeting its
incubation requirements.

= THE PROJECT MANAGEMENT COMMITTEE =

5.1 The incubator.apache.org project is managed by a core group of
contributors known as the Project Management Committee [PMC].

5.2 The activities of the PMC are coordinated by the Chairperson,
who is an officer of 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 incubator.apache.org project.

5.3 The PMC has the following responsibilities:

* a) Accepting new products for incubation.
* b) Facilitating code or other donations by individuals or companies, in 
collaboration with the relevant ASF projects or individuals.
* c) Approval of processes and procedures developed for the purpose of 
incubation.
* d) Assisting in resolving queries and issues raised by projects in incubation.
* e) Providing a repository for the history of incubated projects and lessons 
learnt.
* f) Assisting in the resolution of license issues and other legal issues 
associated with projects being incubated in conjunction with the ASF board and 
the sponsoring ASF project and/or sponsor.
* g) Ensuring that administrative and infrastructure work is completed.
* h) Facilitating relationships among projects and subprojects.
* i) Facilitating relationships between incubator.apache.org and the external 
world.
* j) Overseeing incubator.apache.org to ensure that the mission defined in this 
document is being fulfilled.
* k) Resolving conflicts within the project.
* l) Reporting to the ASF board (through the Chair) on the progress of the 
project.

5.4 Every 12 months, contributors of the Incubator project will nominate
individuals for election to the Incubator PMC.

'''QUESTION:  How is this done?  Should PMC members be sourced from other 
project PMCs to ensure "sign off" from these projects?  That way the Incubator 
project committers could write the procedures and the PMC oversite would 
provide wider community acceptance.  This would be quite different to normal 
projects.  The alternative would be to have mandatory procedures accepted by 
the board?'''

5.5 Once the PMC selection process has completed, 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 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 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 incubator.apache.org active committers, in which
case a two-thirds majority must approve the change.

= SUB-PROJECTS =

'''QUESTION: Should there be a separate sub-project for process development?  
My feeling is not, it seems overkill.'''

6.1 incubator.apache.org is made up of sub-projects, representing the
products going through the incubation process.  Such sub-projects
are associated with the Incubator until such time as they :

* a) get closed down due to incubation failure;
* b) leave the incubator to become sub-projects of another ASF project; or
* c) leave the incubator to become full projects under the ASF.

6.2 New sub-projects are created within the Incubator when a sponsoring
project (in cases where the sub-project will ultimately be owned by
that project) or the board (in cases where the the sub-project will
become a full Apache project) so request.  Such requests may only
occur when the sponsoring entity has accepted (through an appropriate
formal voting mechanism) that the product in question will fall under
the purview if and when it completes the incubation process.

6.3 Sub-projects may be removed only on the request of the sponsoring
project or the board.

6.4 It is the responsibility of the sponsoring entity to define the
rules under which they will sponsor a project through the incubation
process.

= INCUBATION MENTORS =

7.1  Incubation Mentors ("Mentors") are members of the ASF who
have been nominated to assist a product through the incuation process.
They are responsible for ensuring that all necessary incubation
processes are followed, and will report to the sponsoring entity on
the progress of the product.

= CONTRIBUTORS =

8.1 Like all Apache projects, the incubator 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.

8.2 There are two types of contributors in the Incubation project.
Contributors working on a sub-project going through the incubation
process, and contributors working on the processes and procedures
for the Incubation project itself.

8.3 Developers who make regular and substantial contributions may become
committers as described below.

= COMMITTERS =

'''QUESTION  What to do with this?  Really this should discuss committers to 
the processes and procedures.  Sub-projects are incubees, so they should be 
following the rules of their owning projects, or be developing these rules on 
their own.'''

9.1 Each subproject has a set of committers. Committers are contributors who
have read/write access to the source code repository. New committers
are added when a contributor is nominated by a committer and approved by
at least 50 percent of the active committers for that subproject 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.

9.2 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.

9.3 Committers remain active as long as they are contributing code or
posting to the subproject mailing lists.  If a committers has neither
contributed code nor posted to the subproject mailing lists in 3
months, the PMC representatives for that subproject will 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.

9.4 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.

= PROCESSES AND STANDARDS =

10.1 In addition to supporting products going through the incubation
process, the Incubator is charged with the creation of processes and
procedures that support incuation.

10.2  Two types of processes can be created by the Incubator :

* a) Mandatory Processes.  These are processes that must be followed by 
products going through the incubation process.  Incubation shepherds will be 
responsible for ensuring that such processes are followed.
* b) Assisting Processes.  These are processes that are created to assist the 
incubation shepherd.  Shepherd may choose to follow or ignore such processes as 
best fits the product being incubated.

10.3 The Incubator may also create other standards that assist the
shepherd in performing their activities.

= INFRASTRUCTURE =

11.1 The incubator.apache.org project site must provide 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. Each subproject will have a set of committers to its
repository.

c) Website -- An incubator.apache.org website will contain information about
the incubator.apache.org project, including documentation, and this charter.
Each subproject going through the incubation process will have its own
website with subproject information.  Sponsoring projects may provide links
to these sub-project websites from their own pages.

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 should have a devoted mailing
list. Many subprojects may wish to have both user and development
lists. The individual subprojects may decide on the exact structure of
their mailing lists.

= LICENSING =

Part of the Incubation process is to ensure that all incubated projects
adhere to the "ASF Source Code License" prior to their leaving the
incubator.  All further contributions must be made under the
same terms.

= THE DEVELOPMENT PROCESS =

'''QUESTION  Necessary?'''

13.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 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.

= SUBPROJECT REQUIREMENTS =

'''QUESTION:  Necessary?  This should be a process/standard for incubation.'''

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

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

= RELATIONSHIP TO OTHER APACHE PROJECTS =

15.1 The incubator.apache.org project must work closely with other Apache
projects.  The incubator holds responsibility for the development of
processes and procedures that will be used by all other areas within the
ASF.  As such, the incubator.apache.org project needs to ensure that all
such processes are acceptable to, and useable by, the wider ASF community.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to