UNPKG

3.96 kBMarkdownView Raw
1# Fastify Project Governance
2
3<!-- TOC -->
4
5* [Lead Maintainers](#lead-maintainers)
6* [Collaborators](#collaborators)
7 * [Collaborator activities](#collaborator-activities)
8* [Great Contributors](#great-contributors)
9* [Collaborator nominations](#collaborator-maintainers-nominations)
10* [Lead Maintainers nominations](#lead-maintainers-nominations)
11* [Consensus seeking process](#consensus-seeking-process)
12
13<!-- /TOC -->
14
15## Lead Maintainers
16
17Fastify Lead Maintainers are the founder of the project and the organization owners.
18They are the only members of the `@fastify/leads` team.
19The Lead Maintainers are the curator of the Fastify project and their key responsibility is to issue releases of Fastify and its dependencies.
20
21## Collaborators
22
23Fastify Collaborators maintain the projects of the Fastify organization.
24
25They are split into the following teams:
26
27| Team | Responsibility | Repository |
28|---|---|---|
29| `@fastify/leads` | Fastify Lead Maintainers | GitHub organization owners |
30| `@fastify/core` | Fastify Core development | `fastify`, `fast-json-stringify`, `light-my-request`, `fastify-plugin`, `middie` |
31| `@fastify/plugins` | Build, maintain and release Fastify plugins | All plugins repositories |
32| `@fastify/benchmarks` | Build and maintain our benchmarks suite | `benchmarks` |
33| `@fastify/docs-chinese` | Translate the Fastify documentation in Chinese | `docs-chinese` |
34
35Every member of the org is also part of `@fastify/fastify`.
36
37Collaborators have:
38
39* Commit access to the projects repository of the team they belong
40 * Grant to release new versions of the project
41
42Both Collaborators and non-Collaborators may propose changes to the source code
43of the projects of the organization.
44The mechanism to propose such a change is a GitHub pull request.
45Collaborators review and merge (_land_) pull requests following the [CONTRIBUTING](CONTRIBUTING.md#rules) guidelines.
46
47### Collaborator activities
48
49* Helping users and novice contributors
50* Contributing code and documentation changes that improve the project
51* Reviewing and commenting on issues and pull requests
52* Participation in working groups
53* Merging pull requests
54* Release plugins
55
56The Lead Maintainers can remove inactive Collaborators or provide them with _Past Collaborators_
57status. Past Collaborators may request that the Lead Maintainers restore them to active status.
58
59
60## Great Contributors
61
62Great contributors on a specific area in the Fastify ecosystem will be invited to join this group by Lead Maintainers.
63This group has the same permissions of a contributor.
64
65## Collaborator nominations
66
67Individuals making significant and valuable contributions to the project may be a candidate to join the Fastify organization.
68
69A Collaborator needs to open a private team discussion on GitHub and list the candidates
70they want to sponsor with a link to the user's contributions. For example:
71
72* Activities in the Fastify organization `[USERNAME](https://github.com/search?q=author:USERNAME+org:fastify)`
73
74Otherwise, a Contributor may self-apply if they believe they meet the above criteria by reaching out
75to a Lead Maintainer privately with the links to their valuable contributions.
76The Lead Maintainers will reply to the Contributor and will decide if candidate it to be made a collaborator.
77
78The consensus to grant a new candidate Collaborator status is reached when:
79
80- at least one of the Lead Maintainers approve
81- at least two of the Team Members approve
82
83After these conditions are satisfied, the [onboarding process](#onboarding-collaborators) may start.
84
85
86## Lead Maintainers nominations
87
88A Team Member may be promoted to a Lead Maintainers only through nomination by a Lead maintainer and with agreement from the rest of Lead Maintainers.
89
90
91## Consensus seeking process
92
93The Fastify organization follows a [Consensus Seeking][] decision-making model.
94
95[Consensus Seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making