diff --git a/content/en/community/contributing/_index.md b/content/en/community/contributing/_index.md index fde4f3a767..2a2316774a 100644 --- a/content/en/community/contributing/_index.md +++ b/content/en/community/contributing/_index.md @@ -12,6 +12,7 @@ aliases: {{< card link="first-time-contributors" title="First Time Contributors Guide" icon="heart" subtitle=" Starting guide for first time contributors" >}} {{< card link="code-of-conduct" title="Code of Conduct" subtitle="The code of conduct for the CHT community" icon="shield-exclamation" >}} {{< card link="code/" title="Contribute Code" subtitle="How to contribute to code to the CHT" icon="code" >}} + {{< card link="core-maintainer/" title="Core contributor" subtitle="What it takes to go from community member to be able to directly commit to CHT Core" icon="user-add" >}} {{< card link="docs/" title="Contribute Documentation" subtitle="How to contribute to documentation to the CHT" icon="document-text" >}} {{< card link="creating-good-first-issues" title="Create Good First Issues" icon="lightning-bolt" subtitle=" Set new community members up for success" >}} {{< card link="technical-resources" title="Technical Resources" subtitle="Learning resources to get started as a contributor to the CHT" icon="academic-cap" >}} diff --git a/content/en/community/contributing/core-committer.md b/content/en/community/contributing/core-committer.md new file mode 100644 index 0000000000..492e5a1599 --- /dev/null +++ b/content/en/community/contributing/core-committer.md @@ -0,0 +1,61 @@ +--- +title: "Core Committer" +linkTitle: "Core Committer" +weight: 10 +description: > + How to gain commit status on CHT repositories in GitHub +--- + +{{< callout emoji="🥳" >}} +This page covers committer permissions, but everyone is **already** in the CHT community. Please contribute code, documentation, translations, icons and conversation - no permission needed! Our [getting involved with the CHT community](/community/) guide has more info. +{{< /callout >}} + +Being community first software means empowering select individuals to approve changes to the core code powering CHT software without further oversight. This is achieved through quality contributions and peer recognition which enables the wider community to contribute to CHT code at the highest level: as a core committer. + +This is not just for the [CHT Core](https://github.com/medic/cht-core/) repository though! We welcome maintainers want to [update the documentation](https://docs.communityhealthtoolkit.org/) as well. There's actually dozens of repositories that you can contribute to - [check them out](https://github.com/orgs/medic/repositories)! + +If you have any questions about how this works in practice, please post a [question to the forum](https://forum.communityhealthtoolkit.org/c/community/10). + +## Adding a core committer + +Community member needs to have shown they're capable of being helpful to the CHT by having: + +* Contributed code by completing one of: + * Authoring code on a [squad](/community/squads/) * + * 3 features merged to CHT Core outside of a squad * + * 5 bug fixes merged to CHT Core outside of a squad * +* Reviewed 3 pull requests that have been merged +* Created a forum account and have achieved the "[Member](https://forum.communityhealthtoolkit.org/badges/2/member)" badge. +* Attended 3 out of 12 round up calls a year +* Being nominated by the CHT Community (self-nomination is OK!) +* Have 2 existing core maintainers sign off on your nomination + +_\* Features and bug fixes are measured by a pull requests that was successfully merged to `main`. Nominees for core committer of CHT Docs can count docs content as code._ + +### Steps + +* Open an issue on the repository - with TBD template for adding new maintainer +* Ensure all steps are completed per requirements above +* Have 2 existing core maintainers and the 1 nominator add their approval to the ticket +* Ticket is assigned to GH owner who can grant permissions +* TBD specific permissions are added in GitHub by a existing GitHub repo admin + +### Multiple repositories + +If a community member would like access to more than one repository, they can just get 2 of the same (or different) existing maintainers of that repository to sign off on their nomination. You can be a committer on as many repositories as you're interested in. + +## Removing a core committer + +It's important to understand how and when someone is no longer a core committer. This only has one requirement that 3 existing core maintainers agree you should no longer be a maintainer because one or more of: + * You no longer attend round up calls + * You're no longer active on the forums + * It has been over 18 months since your last CHT related GitHub activity + * You have violated the [Code of Conduct](/community/contributing/code-of-conduct) + +### Steps + +* Open an issue on the repository - with TBD template for removing an existing maintainer +* Ensure all steps are completed per requirements above +* Ticket is assigned to GH owner who can grant permissions +* Have 3 existing core maintainers add their approval to the ticket +* TBD permissions are removed in GitHub by a existing GitHub repo admin