|
| 1 | +# Community Processes {#community-processes} |
| 2 | + |
| 3 | +The community around RIOT gathers many IoT developers and users from around |
| 4 | +the world, from the industry, from academia, and hobbyists. The RIOT |
| 5 | +community is open to everyone. To join and interact, you are invited to: |
| 6 | +* join and post to the [forum](https://forum.riot-os.org/), |
| 7 | +* post on [GitHub](https://github.com/RIOT-OS/RIOT/pulls), |
| 8 | +* connect and post to the [Matrix chat](https://matrix.to/#/#riot-os:matrix.org), |
| 9 | +* join virtual or f2f [meetings](https://forum.riot-os.org/c/community/events). |
| 10 | + |
| 11 | +The community self-organizes using the open processes described below. |
| 12 | + |
| 13 | +## Contributors |
| 14 | + |
| 15 | +Code contributions are very welcome. In order to streamline and harmonize code |
| 16 | +quality, contributors must follow the [contributing guidelines](https://github.com/RIOT-OS/RIOT/blob/master/CONTRIBUTING.md). |
| 17 | +Aside of code contributions, you can also contribute to RIOT on other aspects, |
| 18 | +e.g. by actively participating in technical and non-technical discussions within |
| 19 | +the community. Regular and interim virtual meetings are announced on the |
| 20 | +[forum](https://forum.riot-os.org/c/community/events). |
| 21 | + |
| 22 | +## Maintainers |
| 23 | + |
| 24 | +Among contributors, some have maintainer status, which consists in rights (merge rights) |
| 25 | +and duties (code review duties). |
| 26 | + |
| 27 | +Maintainers can propose to give maintainer status to contributors that have been |
| 28 | +noticed as particularly active in some domain of RIOT. The decision to grant this |
| 29 | +status is then taken via consensus among maintainers. If there is consensus on |
| 30 | +granting the status to a particular contributor, a maintainer will contact personally |
| 31 | +this contributor to propose the status, which the contributor can then accept |
| 32 | +(or turn down). |
| 33 | + |
| 34 | +We are constantly looking for more maintainers. So if you are up for that, |
| 35 | +please start (or continue) contributing code and reviews! |
| 36 | + |
| 37 | +To contact maintainers, the best is to interact over actual RIOT code on |
| 38 | +[GitHub](https://github.com/RIOT-OS/RIOT/pulls). |
| 39 | + |
| 40 | +## Coordinators |
| 41 | + |
| 42 | +Among contributors, some are also interested in discussing RIOT matters and |
| 43 | +perspectives, beyond coding RIOT. In short, maintainers focus on technical |
| 44 | +aspects, while coordinators focus on non-technical aspects of RIOT activity. |
| 45 | +Of course, there is a strong overlap between maintainers and coordinators. |
| 46 | + |
| 47 | +Coordinator status consists essentially in duties (bringing up topics, debates |
| 48 | +and deal with the overhead). But sometimes, coordinator status does bring |
| 49 | +some moral reward (e.g. when an initiative brings organizational improvements, |
| 50 | +in the end ;). |
| 51 | + |
| 52 | +Coordinators can propose to give coordinator status to contributors that have |
| 53 | +been noticed as particularly active in this domain. The decision to grant this |
| 54 | +status is then taken via consensus among coordinators. If there is consensus |
| 55 | +on granting the status to a particular contributor, a coordinator will contact |
| 56 | +personally this contributor to propose the status, which the contributor can |
| 57 | +then accept (or turn down). |
| 58 | + |
| 59 | +To contact coordinators, the best is to email the generic mailing list |
| 60 | + |
| 61 | + |
| 62 | +## Task Forces |
| 63 | + |
| 64 | +Parts of the community are gathered in *Task Forces*, which provide a specific |
| 65 | +venue focusing on a particular technical topic. |
| 66 | + |
| 67 | +*Task Forces* are (typically short-lived) efforts to achieve a well-defined goal. |
| 68 | +This goal might be either designing a concept and/or implementing such a concept |
| 69 | +or improving the quality of a certain feature/property of RIOT. |
| 70 | + |
| 71 | +Each Task Force consists of a small number of RIOT developers and has its own Wiki |
| 72 | +page. One or two shepherds are identified per task force as the main contact(s) |
| 73 | +for this activity. |
| 74 | + |
| 75 | +**Creating a new Task Force**. If you wish to launch a new task force, go ahead, |
| 76 | +create your wikipage, name your shepherd(s), and signal it on the forum. RIOT |
| 77 | +maintainers will contact you in the rare case where duplicate or very closely-related |
| 78 | +work has been detected elsewhere, and if joining forces might make sense. |
| 79 | + |
| 80 | +**Life of a Task Force**. Shepherds and/or participants in a Task Force are invited |
| 81 | +to now and then update their wikipage, report progress or summarize the latest stand |
| 82 | +of your discussions on the forum. A shepherd-hood may be transferred from one person |
| 83 | +to another person if everyone is happy about that. |
| 84 | + |
| 85 | +**Dissolving an existing Task Force**. Dissolving an existing Task Force happens either |
| 86 | +(i) as the shepherd(s) declare the TF has concluded, or declare the TF is abandoned, or |
| 87 | +(ii) when the shepherds are unreachable, the TF has been dormant for a long time and |
| 88 | +RIOT maintainers declare the TF dissolved. |
| 89 | + |
| 90 | +More information about (active/concluded/archived) task forces can be found [here](https://github.com/RIOT-OS/RIOT/wiki/Task-Forces). |
0 commit comments