-
Notifications
You must be signed in to change notification settings - Fork 33
/
governance.html
130 lines (109 loc) · 5.16 KB
/
governance.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
---
layout: default
title: Governance
breadcrumb: Governance
---
<h1>Summary</h1>
<p>
This project is led and managed by a benevolent dictator. That is, the
benevolent dictator is responsible for the general strategic direction in
addition to the day-to-day maintenance of the project. In turn, it is the
community's job to guide the decisions of the benevolent dictator through
active engagement and contribution.
</p>
<h1>Roles and Responsibilities</h1>
<h2>Benevolent dictator (project leads)</h2>
<p>
In the xUnit.net project the role of Benevolent Dictator (project leads) is
shared between Brad Wilson and James Newkirk. However, because the community
always has the ability to fork, they are fully answerable to the community.
The project leads are expected to understand the community as a whole and
strive to satisfy as many conflicting needs as possible, while ensuring that
the project survives in the long term.
</p>
<p>
In many ways, the role of the benevolent dictator is less about dictatorship
and more about diplomacy. The key is to ensure that, as the project expands,
the right people are given influence over it and the community rallies behind
the vision of the project leads.
</p>
<p>
Additionally, Outercurve Foundation staff considers the project leads as the
primary point of contact or first point of contact for the project for
purposes of business operations including domain registrations, and
technical services (e.g. code-signing).
</p>
<h2>Committers</h2>
<p>
Committers are contributors who have made sustained valuable contributions
to the project and are now relied upon to both write code directly to the
repository. In many cases they are programmers but it is also possible that
they contribute in a different role. Typically, a committer will focus on a
specific aspect of the project, and will bring a level of expertise and
understanding that earns them the respect of the community and the project
lead. The role of committer is not an official one; it is simply a position
that influential members of the community will find themselves in as the
project lead looks to them for guidance and support.
</p>
<p>
Committers have no authority over the overall direction of the project.
However, they do have the ear of the project leads. It is a committer's job
to ensure that the lead is aware of the community's needs and collective
objectives, and to help develop or elicit appropriate contributions to the
project. Often, committers are given informal control over their specific
areas of responsibility, and are assigned rights to directly modify certain
areas of the source code. That is, although committers do not have explicit
decision-making authority, they will often find that their actions are
synonymous with the decisions made by the leads.
</p>
<p><strong>How to become one:</strong> Be appointed by the Benevolent Dictator</p>
<h2>Contributors</h2>
<p>
Contributors are community members who submit pull requests for the project.
These pull requests may be a one-time occurrence or occur over time.
Expectations are that contributors will submit pull requests that are small
at first and will only grow larger once the contributor has built confidence
in the quality of their pull requests.
</p>
<p>
<strong>Note:</strong> before a contributor's first pull request is put into
the repository they must sign an assignment agreement. The pull request can
be submitted and discussed but it can't actually be committed to the
repository without the appropriate paperwork in place.
</p>
<p>
<strong>How to become one:</strong> Submit a pull request. We'll evaluate
the request to determine if it aligns with the projects goals. In addition
to the goal alignment there is also a requirement to include appropriate
tests and these tests run without failure. If all of the requirements are
met we'll accept it and merge it into the project.
</p>
<h2>Users</h2>
<p>
Users are community members who have a need for the project. They are the
most important members of the community: without them, the project would
have no purpose. Anyone can be a user; there are no specific requirements.
</p>
<p>
Users should be encouraged to participate in the life of the project and the
community as much as possible. User contributions enable the project team
to ensure that they are satisfying the needs of those users. Common user
activities include (but are not limited to):
</p>
<ul>
<li>Advocating the use of the project</li>
<li>Informing developers of the project strength and weaknesses from a new user's perspective</li>
<li>Providing moral support (a ‘thank you' goes a long way)</li>
<li>Writing documentation and tutorials</li>
<li>Filing bug reports and feature requests</li>
<li>Participating on the discussion board</li>
</ul>
<p>
Users who continue to engage with the project and its community will often
find themselves becoming more and more involved. Such users may then go on
to become contributors, as described above.
</p>
<p>
<strong>How to become one:</strong> Use xUnit.net and participate at
<a href="https://github.com/xunit">https://github.com/xunit</a>.
</p>