1 | # Fastify Charter
|
2 |
|
3 | The Fastify project aims to build a fast and low overhead web framework for
|
4 | Node.js.
|
5 |
|
6 |
|
7 | ## Section 0: Guiding Principles
|
8 |
|
9 | The Fastify project is part of the [OpenJS Foundation][openjs foundation]. It
|
10 | operates transparently, openly, collaboratively, and ethically. Project
|
11 | proposals, timelines, and status must not merely be open, but also easily
|
12 | visible to outsiders.
|
13 |
|
14 |
|
15 | ## Section 1: Scope
|
16 |
|
17 | Fastify is a web framework highly focused on providing the best developer
|
18 | experience 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 |
|
51 | Technical leadership for the projects within the [OpenJS Foundation][openjs
|
52 | foundation] 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
|
55 | Collaborators](README.md#team). The OpenJS Foundation's business leadership is
|
56 | the Board of Directors (the "Board").
|
57 |
|
58 | This Fastify Charter reflects a carefully constructed balanced role for the
|
59 | Collaborators and the CPC in the governance of the OpenJS Foundation. The
|
60 | charter amendment process is for the Fastify Collaborators to propose change
|
61 | using simple majority of the full Fastify Organization, the proposed changes
|
62 | being subject to review and approval by the CPC. The CPC may additionally make
|
63 | amendments to the Collaborators charter at any time, though the CPC will not
|
64 | interfere with day-to-day discussions, votes or meetings of the Fastify
|
65 | Organization.
|
66 |
|
67 |
|
68 | ### 2.1 Other Formal Project Relationships
|
69 |
|
70 | Section Intentionally Left Blank
|
71 |
|
72 |
|
73 | ## Section 3: Fastify Governing Body
|
74 |
|
75 | Fastify is governed by its [maintainers](README.md#team). See [how it is
|
76 | structured](GOVERNANCE.md) for more information.
|
77 |
|
78 |
|
79 | ## Section 4: Roles & Responsibilities
|
80 |
|
81 | The roles and responsibilities of Fastify's maintainers are described in [the
|
82 | project organization](GOVERNANCE.md).
|
83 |
|
84 | ### Section 4.1 Project Operations & Management
|
85 |
|
86 | Section Intentionally Left Blank
|
87 |
|
88 | ### Section 4.2: Decision-making, Voting, and/or Elections
|
89 |
|
90 | **Decision-making**
|
91 |
|
92 | Fastify's features can be discussed in GitHub issues and/or projects. Consensus
|
93 | on a discussion is reached when there is no objection by any collaborators.
|
94 |
|
95 | Whenever there is not consensus, Lead Maintainers will have final say on the
|
96 | topic.
|
97 |
|
98 | **Voting, and/or Elections**
|
99 |
|
100 | These processes are described in the [GOVERNANCE](GOVERNANCE.md) document.
|
101 |
|
102 | ### Section 4.3: Other Project Roles
|
103 |
|
104 | Section 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
|