|
| 1 | +# How we work |
| 2 | + |
| 3 | +This document can be used by the Project to define the Maintainers' operation workflows. |
| 4 | +The document is completely optional, and it is a responsibility of the Maintainers to decide whether it is used, and if so, to keep it up-to-date. |
| 5 | + |
| 6 | +<!-- |
| 7 | +Therefore, this is the entry point where Contributors will find information about: |
| 8 | +* How to propose new features, changes to the code, changes to the documentation, etc., and what are the available paths to those activities depending on the estimated magnitude of the proposal (e.g., whether the project will have explicit Extension Proposal documents for major modifications). |
| 9 | +* Whether the Project will make use of the GitHub Projects features, how new issues are triaged into milestones and projects, how issues are prioritized and labeled (e.g., whether the project adheres to the `impact:<low|medium|high>` and `effort:<low|medium|high>` labeling system). |
| 10 | +* Establishing Maintainers roles, and making sure the `MAINTAINERS.md` file defines these roles and they are up-to-date in the Maintainers table. |
| 11 | +* Open public meetings, and their frequency, where interested parties can join and participate in the definition of the roadmap, milestones and deliverables. |
| 12 | +--> |
| 13 | + |
| 14 | +<!-- OPTIONAL CONTENTS: Please revise or remove these lines --> |
| 15 | +## Maintainers roles |
| 16 | + |
| 17 | +The Project has designated three specific roles that Maintainers will cover: |
| 18 | + |
| 19 | +* **(i)** *Lead-developer (LD)*. |
| 20 | + The LD is responsible for ensuring the fluent communication between the Maintainers, keeps track of acquired responsibilities (e.g., review a pull-request), and anticipates and preempts roadblocks and conflicts that may make the work of other Maintainers harder; |
| 21 | +* **(ii)** *SCRUM Guider (SG)*. |
| 22 | + The SG is responsible for the triage of new issues, for communicating with the Maintainers and prioritize issues and features, and coordinate the concerted effort of Maintainers. |
| 23 | + The SG may also lead meetings and keeps up-to-date the GitHub Project panel and the Milestones of this Project. |
| 24 | +* **(iii)** *Outbound Coordinator (OC)*. |
| 25 | + The OC is responsible for communicating with the maintainers of other projects (the project's OC, if the role is assigned) in the organization, ensuring that potential conflicts or incompatibility between releases across projects are resolved. |
| 26 | +* **(iv)** *Advisory Member (AM)*. |
| 27 | + AMs are invited maintainers to assist in fulfilling the maintenance duties and responsibilities by sharing their knowledge and resources with the board. |
| 28 | + However, AMs are not directly responsible for the Project's direction and may or may not be involved in the decision making (which should be agreed upon by the MAINTAINERS board before starting their activities as AMs). |
| 29 | + The Project may have as many AMs as the regular members see necessary to properly develop the Project. |
| 30 | + |
| 31 | +## Project management |
| 32 | + |
| 33 | +The Project uses the following management tools: |
| 34 | + |
| 35 | +* **GitHub Milestones** |
| 36 | +* **GitHub Project panel** -- which is located at https://github.com/orgs/nipreps/projects/3 |
| 37 | + |
| 38 | +**Maintainers' Meetings**. |
| 39 | +The maintainers will meet at least once every fours weeks (monthly), although the LD may call for extra meetings when they might be necessary. |
| 40 | +The agenda of the regular monthly meeting will be organized by the SG, who will also lead regular meetings. |
| 41 | + |
| 42 | +**Open Meetings**. |
| 43 | +Other meetings open to broader public can be proposed by any Maintainer, and the LD will be responsible of its organization in collaboration with the proponent(s). |
| 44 | +As for any other decision, all Maintainers must agree on calling for a meeting. |
| 45 | +These meetings can be organized to: |
| 46 | + |
| 47 | +* brainstorm and engage the community in developing/updating the roadmap; |
| 48 | +* gather feedback (e.g., after a recent new release); |
| 49 | +* inform about changes in the Maintainers team, as well as recruiting new members; |
| 50 | +* disseminate new important features; |
| 51 | +* make announcements; etc. |
| 52 | + |
| 53 | +## Setting priorities and triaging issues |
| 54 | + |
| 55 | +This Project follows [the general recommendations of *NiPreps*](https://www.nipreps.org/community/CONTRIBUTING/#issue-labels). |
| 56 | + |
| 57 | +<!-- OPTIONAL CONTENTS end here --> |
0 commit comments