You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a CNCF member project, Dragonfly project abides by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
4
4
5
-
## Overview
5
+
This doc outlines the responsibilities of contributor roles in Dragonfly. The Dragonfly project is subdivided into sub-projects
6
+
under (predominantly, but not exclusively) nydus, nydus-snapshotter, api, docs, console and client.
7
+
Responsibilities for roles are scoped to these sub-projects (repos).
6
8
7
-
-[Maintainership](#Maintainership)
8
-
-[Adding Maintainers](#Adding-Maintainers)
9
-
-[Removal of Inactive Maintainers](#Removal-of-Inactive-Maintainers)
10
-
-[How to make decision](#How-to-make-decision)
11
-
-[Updating Governance](#Updating-Governance)
9
+
We have six levels of responsibility including:
12
10
13
-
## Maintainership
11
+
- Contributor
12
+
- Member
13
+
- Approver
14
+
- Maintainer
15
+
- Administrator
16
+
17
+
## Contributor
18
+
19
+
A Contributor is someone who has contributed to the project by submitting code, issues, or participating in discussions.
20
+
21
+
### Responsibilities
22
+
23
+
- Contribute code changes via pull requests (PRs).
24
+
- Raise issues for bugs, enhancements, or other discussions.
25
+
- Participate in code reviews if requested.
26
+
- Follow the project's Code of Conduct and contribution guidelines.
27
+
28
+
### Requirements
29
+
30
+
- Have a GitHub account.
31
+
- Sign the Contributor License Agreement (if applicable).
32
+
- Adhere to the project's coding standards and guidelines.Contributor
33
+
34
+
## Member
35
+
36
+
A Member is a contributor who has shown long-term commitment to the project,
37
+
consistently contributing high-quality work and actively participating in the community.
38
+
39
+
Responsibilities:
40
+
41
+
- All responsibilities of a Contributor.
42
+
- Participate in project planning and decision-making processes.
43
+
- Mentor new contributors.
44
+
- Actively participate in community meetings and discussions.
45
+
46
+
Requirements:
47
+
48
+
- Demonstrated history of contributions (code, reviews, discussions) over at least 3 months.
49
+
- Invitation by a Maintainer or Administrator based on consensus.
50
+
- Continued adherence to the project's Code of Conduct.
51
+
52
+
## Approver
53
+
54
+
An Approver is a member who has the additional responsibility of reviewing and approving PRs that affect the project.
55
+
56
+
Responsibilities:
57
+
58
+
- All responsibilities of a Member.
59
+
- Review and approve PRs from Contributors and Members.
60
+
- Ensure that changes adhere to coding standards, do not introduce bugs, and improve the project.
61
+
- Help triage issues and provide feedback on improvements.
62
+
63
+
Requirements:
64
+
65
+
- Demonstrated expertise in the project’s codebase.
66
+
- Consistent and high-quality contributions.
67
+
- Trusted by Maintainers and Administrators to provide accurate reviews and approvals.
68
+
69
+
## Maintainer
70
+
71
+
A Maintainer is an experienced and trusted member who has extensive knowledge of the project, including architecture
72
+
and design principles. Maintainers have the authority to merge PRs and make significant project decisions.
73
+
74
+
Responsibilities:
75
+
76
+
- All responsibilities of an Approver.
77
+
- Merge PRs to the main branch.
78
+
- Ensure the overall quality, stability, and performance of the codebase.
79
+
- Coordinate releases and update documentation.
80
+
- Guide the project's technical direction and roadmap.
81
+
- Facilitate communication and collaboration within the community.
82
+
83
+
Requirements:
84
+
85
+
- Demonstrated long-term, high-quality contributions and leadership in the project.
86
+
- Deep understanding of the project’s architecture and design.
87
+
- Commitment to the project's goals and values.
88
+
- Nominated and approved by existing Maintainers and Administrators.
89
+
90
+
### Maintainership
14
91
15
92
Maintainers of Dragonfly share the responsibility. And they have 3 things in general:
16
93
@@ -23,7 +100,7 @@ It is easy to work on the fancy part or technically advanced feature. It is hard
23
100
to work on minor bugfix, small improvement, long-term stable optimization or
24
101
others. While all of the above is the essential parts to build up a successful project.
25
102
26
-
## Adding Maintainers
103
+
###Adding Maintainers
27
104
28
105
Maintainers are foremost and first contributors that have dedicated to the long
29
106
term success of the project. Contributors wishing to become maintainers are
@@ -42,7 +119,7 @@ maintainers can be submitted to GitHub via a pull request. If a vote of at
42
119
least 50% agree with the proposal, the newly added maintainer must be treated
43
120
valid.
44
121
45
-
## Removal of Inactive Maintainers
122
+
###Removal of Inactive Maintainers
46
123
47
124
Similar to adding maintainers, existing maintainer can been removed from the
48
125
active maintainer list. If the existing maintainer meet one of the conditions
@@ -61,7 +138,7 @@ If a maintainer is removed from the maintaining list, other maintainers should
61
138
at a column to the alumni part to thank the contribution made from the inactive
62
139
maintainer.
63
140
64
-
## How to make decision
141
+
###How to make decision
65
142
66
143
Dragonfly is an open-source project illustrating the concept of open. This
67
144
means that Dragonfly repository is the source of truth for every aspect of the
@@ -88,7 +165,26 @@ maintainers pull request could be merged, if it meets conditions below:
88
165
89
166
- at least two maintainers commented `LGTM` to the pull request;
90
167
91
-
## Updating Governance
168
+
### Updating Governance
169
+
170
+
All substantive updates in Governance require a supermajority maintainers vote.
171
+
172
+
## Administrator
173
+
174
+
An Administrator has the highest level of access and responsibility in the project. They manage overall project governance,
175
+
ensure adherence to policies, and resolve conflicts within the community.
176
+
177
+
Responsibilities:
178
+
179
+
- All responsibilities of a Maintainer.
180
+
- Manage project settings and permissions.
181
+
- Ensure compliance with legal and organizational policies.
182
+
- Handle CoC violations and mediate conflicts.
183
+
- Facilitate election of new roles or changes in the governance structure.
184
+
185
+
Requirements:
92
186
93
-
All substantive updates in Governance require a supermajority maintainers
94
-
vote.
187
+
- Proven contribution history and leadership within the project.
188
+
- Strong understanding of open-source community management.
189
+
- Trusted by the community and other Administrators.
190
+
- Appointed through consensus of current Administrators.
0 commit comments