|
| 1 | +# Project Governance |
| 2 | + |
| 3 | +This document defines governance policies for the the projects under the Devfile organization. |
| 4 | + |
| 5 | +- [Maintainers](#maintainers) |
| 6 | +- [Becoming a Maintainer](#becoming-a-maintainer) |
| 7 | +- [Meetings](#meetings) |
| 8 | +- [CNCF Resources](#cncf-resources) |
| 9 | +- [Code of Conduct Enforcement](#code-of-conduct) |
| 10 | +- [Voting](#voting) |
| 11 | + |
| 12 | +## Maintainers |
| 13 | + |
| 14 | +Devfile Maintainers have write access to the [Devile GitHub organization repositories](https://github.com/devfile). |
| 15 | +They can merge their own patches or patches from others. The current maintainers |
| 16 | +can be found in [MAINTAINERS](./MAINTAINERS). Maintainers collectively manage the project's |
| 17 | +resources and contributors. |
| 18 | + |
| 19 | +This privilege is granted with some expectation of responsibility: maintainers |
| 20 | +are people who care about the Devfile project and want to help it grow and |
| 21 | +improve. A maintainer is not just someone who can make changes, but someone who |
| 22 | +has demonstrated their ability to collaborate with the team, get the most |
| 23 | +knowledgeable people to review code and docs, contribute high-quality code, and |
| 24 | +follow through to fix issues (in code or tests). |
| 25 | + |
| 26 | +A maintainer is a contributor to the project's success and a citizen helping |
| 27 | +the project succeed. |
| 28 | + |
| 29 | +## Becoming a Maintainer |
| 30 | + |
| 31 | +To become a Maintainer you need to demonstrate the following: |
| 32 | + |
| 33 | + * commitment to the project: |
| 34 | + * participate in discussions, contributions, code and documentation reviews |
| 35 | + for 3 months or more, |
| 36 | + * perform reviews for 5 non-trivial pull requests, |
| 37 | + * contribute 5 non-trivial pull requests and have them merged, |
| 38 | + * ability to write quality code and/or documentation, |
| 39 | + * ability to collaborate with the team, |
| 40 | + * understanding of how the team works (policies, processes for testing and code review, etc), |
| 41 | + * understanding of the project's code base and coding and documentation style. |
| 42 | + |
| 43 | +A new Maintainer must be proposed by an existing maintainer by submitting a new post to the |
| 44 | +[Devfile API discussion board](https://github.com/devfile/api/discussions). A simple majority vote of existing Maintainers |
| 45 | +approves the application. |
| 46 | + |
| 47 | +Maintainers who are selected will be granted the necessary GitHub rights, |
| 48 | +and invited to the [private maintainer mailing list](https://lists.cncf.io/g/cncf-devfile-maintainers). |
| 49 | + |
| 50 | +## Meetings |
| 51 | + |
| 52 | +Time zones permitting, Maintainers are expected to participate in the public |
| 53 | +developer meeting, which occurs |
| 54 | + |
| 55 | +Every Tuesday at 9am EST ([video call link](https://meet.google.com/trx-vqbw-ekb)) |
| 56 | + |
| 57 | +Maintainers will also have closed meetings in order to discuss security reports |
| 58 | +or Code of Conduct violations. Such meetings should be scheduled by any |
| 59 | +Maintainer on receipt of a security issue or CoC report. All current Maintainers |
| 60 | +must be invited to such closed meetings, except for any Maintainer who is |
| 61 | +accused of a CoC violation. |
| 62 | + |
| 63 | +## CNCF Resources |
| 64 | + |
| 65 | +Any Maintainer may suggest a request for CNCF resources, either in the |
| 66 | +[mailing list](TODO: link to developer/maintainer mailing list), or during a |
| 67 | +meeting. A simple majority of Maintainers approves the request. The Maintainers |
| 68 | +may also choose to delegate working with the CNCF to non-Maintainer community |
| 69 | +members. |
| 70 | + |
| 71 | +## Code of Conduct |
| 72 | + |
| 73 | +[Code of Conduct](./code-of-conduct.md) |
| 74 | +violations by community members will be discussed and resolved |
| 75 | +on the [private Maintainer mailing list](https://lists.cncf.io/g/cncf-devfile-maintainers). If the reported CoC violator |
| 76 | +is a Maintainer, the Maintainers will instead designate two Maintainers to work |
| 77 | +with CNCF staff in resolving the report. |
| 78 | + |
| 79 | +## Voting |
| 80 | + |
| 81 | +While most business in Devfile is conducted by "lazy consensus", periodically |
| 82 | +the Maintainers may need to vote on specific actions or changes. |
| 83 | +A vote can be taken on [Devfile API discussion board](https://github.com/devfile/api/discussions) or |
| 84 | +[the private Maintainer mailing list](https://lists.cncf.io/g/cncf-devfile-maintainers) for security or conduct matters. |
| 85 | +Votes may also be taken on [Devfile API discussion board](https://github.com/devfile/api/discussions). Any Maintainer may |
| 86 | +demand a vote be taken. |
| 87 | + |
| 88 | +Most votes require a simple majority of all Maintainers to succeed. Maintainers |
| 89 | +can be removed by a 2/3 majority vote of all Maintainers, and changes to this |
| 90 | +Governance require a 2/3 vote of all Maintainers. |
0 commit comments