This document describes the roles and responsibilities of parties involved in the Parrot project. Roles are divided into three categories (Project Team, Committers, Contributors) and may be further subdivided.
Members of the Project Team set the overall direction of the project, track project progress, oversee the project source (and access to that source), and develop and maintain the project. The Project Team consists of positions selected on the basis of available volunteers, and a general evaluation of suitable skills by existing Project Team members.
The architect has primary responsibility for setting overall direction of the project, and to facilitate team communication and understanding of architectual issues. The architect is primarily but not solely responsible for making design decisions and documenting them in Parrot Design Documents; responsibility for design and design documentation of project subcomponents may be given to other members of the Project Team, or may be held jointly. The Architect also works with the Pumpking and Release Managers to develop and maintain the release schedule.
The Project Manager has primary responsibility for tracking project progress. The Project Manager holds a weekly meeting with the Project Team and key Committers, and reports back to TPF and project sponsors. The Project Manager also manages project priorities and developer concerns.
The Pumpking has primary responsibility for the project source. The Pumpking is the lead developer, and as such reviews patches, defines coding standards, and assists the efforts of Committers and Contributors. The Pumpking also develops and maintains the release schedule with the Architect and Release Managers.
Release managers have responsibility for executing a product release, according to the release schedule. The release schedule is developed and maintained jointly with the Architect and the Pumpking.
See docs/project/release_manager_guide.pod for more information.
All Metacommitters are responsible for managing commit access to the Parrot repository. Once the Architect or Pumpking approves a request for a Contributor to be given commit access, a Metacommitter provides that access. The Architect and Pumpking are Metacommitters, but other Project Team members may also hold this role.
See docs/project/metacommiter_guide.pod for more information.
Contributors who submit numerous, high-quality patches may be considered to become a Committer. Committers have commit access to the full Parrot repository, but generally work only on one or more subprojects; Committer categories are described below. Contributors may considered for commit access either by being nominated by another Committer, or by asking for it.
Develops and maintains core subsystems (e.g. IO, Exceptions.)
Develops and maintains one or more Parrot compilers (e.g. IMCC, PGE, TGE)
Develops and maintains one or more High Level Languages (e.g. Tcl, Lua, Perl 6.)
Maintains and extends configure and build subsystems. Reviews smoke reports and attempts to extend platform support.
Develops, maintains, and extends test suite and testing tools. Responsible for testing goals, including complete coverage of core components on targeted platforms.
Develops and maintains installation packages on various platforms.
Reviews and applies patches submitted by general contributors, keeping an eye on conformance with coding standards and desirability of features.
Contributors are volunteers who write code or documentation patches, take part in email or online conversations, or contribute to the project in other ways. All volunteer contributions are appreciated and recognized. All volunteers who contribute to a file in the Parrot repository may add their name to the CREDITS file.
Many Contributors have no more specific classification--they may find a bug, provide a patch, submit or respond to a question, write documentation, or contribute in some other way.
Submits smoke reports on one or more platforms. No knowledge of parrot internals necessary.
Fixes failing tests, makes sure coding standards are implemented, reviews documentation and examples. A class of tickets in the tracking system (RT) has been created for use by this group. This position encompasses tasks from entry level to advanced, and is a good way to get familiar with Parrot internals.
This document is 'Stable'. Changes must be approved by the Project Team.
Jerry Gay a.k.a. particle
RESPONSIBILE_PARTIES, docs/project/
To install Parrot::PMC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Parrot::PMC
CPAN shell
perl -MCPAN -e shell install Parrot::PMC
For more information on module installation, please visit the detailed CPAN module installation guide.