Skip to content

Roles and Responsibilities

Rian Quinn edited this page Oct 15, 2015 · 1 revision

The following defines the different roles that make up this project, as well as defines the responsibilities for each of these roles. These roles are based on a meritocratic, community owned governance model, and as such, all changes to the project are communicated, and voted on prior to approval. The project as a whole is owned by the community members, and it’s vision and goals are defined by the community.

This governance model strives to provide all members of the community with a voice, and has no special requirements for community members to be given a vote on changes to the project. In the event community consensus cannot be reached, a small subset of community members have the authority to vote on a resolution.

Users

Users are community members who use the project. There are no requirements to be a user of this project. Users can contribute back to the project in multiple ways including:

  • Using the project
  • Advertising the project to others (word-of-mouth, website links, reviews, etc…)
  • Reporting issues
  • Providing new feature requests
  • Providing financial support
  • Providing moral support (a thank you goes a long way)

Contributors

Contributors are community members who contribute to the project in one way or another. There are no special requirements to how much a community member must contribute to be a contributor. Since anyone can be a contributor, this project does, however, provide a set of guidelines that defines what, when and how contributions are accepted by the community. In addition to the responsibilities of a user, a contributor contributes changes to the project. This includes (but is not limited to, and nor does it require):

  • New features
  • Bug fixes
  • Design documentation
  • Installation documentation
  • Usage documentation
  • API documentation
  • Graphics / web design
  • Commenting on RFCs
  • Voting on changes to the project
  • General feedback

All contributions made to the project should be socialized with the community to increase the chances of acceptance. For new features, this is down via a Request For Comments (RFC). Bug fixes should be reported using the issue tracker, and provided as a patch (or pull request) to the community.

All contributors have the right to vote on changes to the project prior to their acceptance, providing an equal opportunity for everyone’s voice to be heard. This includes providing feedback on RFCs, solutions to currently tracked bugs, and all other changes that are made to the project. Since there are no special requirements to be a contributor, everyone’s opinion must be considered, regardless of their involvement in the project. If a general consensus cannot be made, the project owners are responsible for voting to resolve the conflict.

Owners

Owners are community members who own the project. Owners have little responsibility over and above a contributor. Their primary goal is to commit changes to the project, and resolve conflicts. The responsibilities of an owner includes that of a user and contributor, while also including:

  • Committing changes to the project
  • Voting on changes to the project when a consensus cannot be reached among the contributors.
  • Voting on the addition / removal of owners

Although owners have the ability to commit a change to the project, they are still required to get consensus from the contributors. Ideally, the entire community would agree on a specific change, unanimously. In the case where an agreement cannot be made, the owners are responsible for voting to resolve the conflict. If the owner's vote ends in a tie, a coin flip is used to resolve the conflict.

Clone this wiki locally