UNPKG

4.46 kBMarkdownView Raw
1# Fastify Charter
2
3The Fastify project aims to build a fast and low overhead web framework for Node.js.
4
5
6## Section 0: Guiding Principles
7
8The Fastify project is part of the [OpenJS Foundation][openjs foundation]. It operates transparently, openly, collaboratively, and ethically. Project proposals, timelines, and status must not merely be open, but also easily visible to outsiders.
9
10
11## Section 1: Scope
12
13Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a plugin architecture.
14
15### 1.1: In-scope
16
17+ Develop a web framework for Node.js with a focus on developer experience, performance and extensibility.
18+ Plugin Architecture
19+ Support web protocols
20+ Official plugins for common user requirements
21+ Documentation:
22 + Project (policies, processes, and releases)
23 + Guides and Tutorials
24 + Framework API
25 + Website
26+ Write easier APIs for developers
27+ Tools:
28 + CI services
29 + Bots to improve overall efficiency
30 + Releases
31+ Support:
32 + Community
33 + Users's issues and questions
34+ Contributors's pull request review
35
36### 1.2: Out-of-Scope
37
38+ Support versions of Node.js at EOL (end of life) stage
39+ Support serverless architecture
40+ Contributions that violates the [Code of Conduct](CODE_OF_CONDUCT.md)
41
42
43## Section 2: Relationship with OpenJS Foundation CPC.
44
45Technical leadership for the projects within the [OpenJS Foundation][openjs foundation] is delegated to the projects through their project charters by the [OpenJS Foundation Cross-Project Council](https://openjsf.org/about/governance/) (CPC). In the case of the Fastify project, it is delegated to the [Fastify Collaborators](README.md#team). The OpenJS Foundation's business leadership is the Board of Directors (the "Board").
46
47This Fastify Charter reflects a carefully constructed balanced role for the Collaborators and the CPC in the governance of the OpenJS Foundation. The charter amendment process is for the Fastify Collaborators to propose change using simple majority of the full Fastify Organization, the proposed changes being subject to review and approval by the CPC. The CPC may additionally make amendments to the Collaborators charter at any time, though the CPC will not interfere with day-to-day discussions, votes or meetings of the Fastify Organization.
48
49
50### 2.1 Other Formal Project Relationships
51
52Section Intentionally Left Blank
53
54
55## Section 3: Fastify Governing Body
56
57Fastify is governed by its [maintainers](README.md#team). See [how it is structured](GOVERNANCE.md) for more information.
58
59
60## Section 4: Roles & Responsibilities
61
62The roles and responsibilities of Fastify's maintainers are described in [the project organization](GOVERNANCE.md).
63
64### Section 4.1 Project Operations & Management
65
66Section Intentionally Left Blank
67
68### Section 4.2: Decision-making, Voting, and/or Elections
69
70**Decision-making**
71
72Fastify's features can be discussed in GitHub issues and/or projects.
73Consensus on a discussion is reached when there is no objection by any
74collaborators.
75
76Whenever there is not consensus, Lead Maintainers will have final say on the topic.
77
78**Voting, and/or Elections**
79
80These processes are described in the [GOVERNANCE](GOVERNANCE.md) document.
81
82### Section 4.3: Other Project Roles
83
84Section Intentionally Left Blank
85
86## Section 5: Definitions
87
88+ *Contributors*: contribute code or other artifacts, but do not have the right to commit to the code base. Contributors work with the project’s Collaborators to have code committed to the code base. Contributors should rarely be encumbered by the Fastify Collaborators and never by the CPC or OpenJS Foundation Board.
89
90+ *Collaborators*: contribute code and other artifacts, have the right to commit to the code base and release plugins projects. Collaborators follow the [CONTRIBUTING](CONTRIBUTING.md) guidelines to manage the project. A Collaborator could be encumbered by other Fastify Collaborators and never by the CPC or OpenJS Foundation Board.
91
92+ *Lead Maintainers*: founders of the project, contribute code and other artifacts, have the right to commit to the code base and release the project. Lead Maintainers follow the [CONTRIBUTING](CONTRIBUTING.md) guidelines to manage the project. A Lead Maintainer will be encumbered by the Fastify Collaborators and by the CPC or OpenJS Foundation Board.
93
94[openjs foundation]: https://openjsf.org
95[Consensus Seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making