UNPKG

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