diff --git a/doc/doxygen/riot.doxyfile b/doc/doxygen/riot.doxyfile index 9c7fdfdce0..d33fb389e6 100644 --- a/doc/doxygen/riot.doxyfile +++ b/doc/doxygen/riot.doxyfile @@ -760,6 +760,7 @@ INPUT = ../../doc.txt \ src/ \ src/mainpage.md \ src/vision.md \ + src/community-processes.md \ src/roadmap.md \ src/creating-modules.md \ src/creating-an-application.md \ diff --git a/doc/doxygen/src/community-processes.md b/doc/doxygen/src/community-processes.md new file mode 100644 index 0000000000..ec64056475 --- /dev/null +++ b/doc/doxygen/src/community-processes.md @@ -0,0 +1,90 @@ +# Community Processes {#community-processes} + +The community around RIOT gathers many IoT developers and users from around +the world, from the industry, from academia, and hobbyists. The RIOT +community is open to everyone. To join and interact, you are invited to: +* join and post to the [forum](https://forum.riot-os.org/), +* post on [GitHub](https://github.com/RIOT-OS/RIOT/pulls), +* connect and post to the [Matrix chat](https://matrix.to/#/#riot-os:matrix.org), +* join virtual or f2f [meetings](https://forum.riot-os.org/c/community/events). + +The community self-organizes using the open processes described below. + +## Contributors + +Code contributions are very welcome. In order to streamline and harmonize code +quality, contributors must follow the [contributing guidelines](https://github.com/RIOT-OS/RIOT/blob/master/CONTRIBUTING.md). +Aside of code contributions, you can also contribute to RIOT on other aspects, +e.g. by actively participating in technical and non-technical discussions within +the community. Regular and interim virtual meetings are announced on the +[forum](https://forum.riot-os.org/c/community/events). + +## Maintainers + +Among contributors, some have maintainer status, which consists in rights (merge rights) +and duties (code review duties). + +Maintainers can propose to give maintainer status to contributors that have been +noticed as particularly active in some domain of RIOT. The decision to grant this +status is then taken via consensus among maintainers. If there is consensus on +granting the status to a particular contributor, a maintainer will contact personally +this contributor to propose the status, which the contributor can then accept +(or turn down). + +We are constantly looking for more maintainers. So if you are up for that, +please start (or continue) contributing code and reviews! + +To contact maintainers, the best is to interact over actual RIOT code on +[GitHub](https://github.com/RIOT-OS/RIOT/pulls). + +## Coordinators + +Among contributors, some are also interested in discussing RIOT matters and +perspectives, beyond coding RIOT. In short, maintainers focus on technical +aspects, while coordinators focus on non-technical aspects of RIOT activity. +Of course, there is a strong overlap between maintainers and coordinators. + +Coordinator status consists essentially in duties (bringing up topics, debates +and deal with the overhead). But sometimes, coordinator status does bring +some moral reward (e.g. when an initiative brings organizational improvements, +in the end ;). + +Coordinators can propose to give coordinator status to contributors that have +been noticed as particularly active in this domain. The decision to grant this +status is then taken via consensus among coordinators. If there is consensus +on granting the status to a particular contributor, a coordinator will contact +personally this contributor to propose the status, which the contributor can +then accept (or turn down). + +To contact coordinators, the best is to email the generic mailing list +riot@riot-os.org + +## Task Forces + +Parts of the community are gathered in *Task Forces*, which provide a specific +venue focusing on a particular technical topic. + +*Task Forces* are (typically short-lived) efforts to achieve a well-defined goal. +This goal might be either designing a concept and/or implementing such a concept +or improving the quality of a certain feature/property of RIOT. + +Each Task Force consists of a small number of RIOT developers and has its own Wiki +page. One or two shepherds are identified per task force as the main contact(s) +for this activity. + +**Creating a new Task Force**. If you wish to launch a new task force, go ahead, +create your wikipage, name your shepherd(s), and signal it on the forum. RIOT +maintainers will contact you in the rare case where duplicate or very closely-related +work has been detected elsewhere, and if joining forces might make sense. + +**Life of a Task Force**. Shepherds and/or participants in a Task Force are invited +to now and then update their wikipage, report progress or summarize the latest stand +of your discussions on the forum. A shepherd-hood may be transferred from one person +to another person if everyone is happy about that. + +**Dissolving an existing Task Force**. Dissolving an existing Task Force happens either +(i) as the shepherd(s) declare the TF has concluded, or declare the TF is abandoned, or +(ii) when the shepherds are unreachable, the TF has been dormant for a long time and +RIOT maintainers declare the TF dissolved. + +More information about (active/concluded/archived) task forces can be found [here](https://github.com/RIOT-OS/RIOT/wiki/Task-Forces).