Table of contents
The CoApp project follows a simple project governance structure. Decisions are handled by gathering consensus public discussion in the mailing lists, and the confirmation by the project leader. All decisions are made transparently and any member of the project may voice their concerns in the discussion.
Everyone is welcome to join the CoApp community and make contributions. CoApp community members are asked to work in a cooperative fashion, and maintain a professional relationship with others in the community. They may play one or more of the following roles in the community.
All CoApp project members are Users. Users use the software produced by the community. They file issues, defects, and requests for enhancements and new features. They share their experiences in using the software with others in the community by publishing articles, and contributing to forums and wikis. Everyone is welcome to join the mailing list and participate in the discussion. Users may use the wiki or mailing list to submit comments on the design or implementation.
Contributors are Users who contribute source code or documentation changes to resolve issues, make feature enhancements, or incorporate new functionality. Contributors do not necessarily have write access to the source tree - they may submit pull requests to any of the project's repositories on GitHub.
A contributor must sign a Contributor License Agreement (CLA) before their first significant, code contribution is merged into a CoApp repository. New contributors must email email@example.com with their name and the project they want to work on, in this case CoApp. An Outercurve staff member will reply to walk them through the CLA signing process. A contributor does NOT need to sign a CLA for documentation contributions.
Committers are Developers with write access to the source tree. Committers review patches submitted by Developers. Once a patch is approved by the committers and module owners, it will be applied to the source tree by one of the Committers. Developers are considered for the Committer role based on the quality of their contributions to the project. The work must show an expertise in one or more of the CoApp modules, demonstrated through patches made to the source tree, and contributions to the mailing lists or wiki. Committers are required to ensure that all code committed to the project meets the code submission guidelines prepared by the Project Owner.
The Release Manager is responsible for producing digitally-signed builds (daily and milestone) for the project and posting them for public access, along with preparing and posting any announcements and notifications. The Release Manager is also tasked with the responsibility for maintaining the security of the code signing certificates.
Currently, the CoApp has a single Project Owner (Garrett Serack), who is responsible for managing the entire CoApp project and helping to create policies by consensus that ensure overall quality. The Project Owner is responsible for creating the project branch of the source tree. Branches may be created for sustaining, major enhancements, and experiments. The Project Owner is also responsible for making any updates to the governance policy. All decisions should be made by consensus, however in cases where a consensus can not be reached, the Project Owner make the final decision.