Skip to content

Commit b7544a1

Browse files
committed
Merge branch 'js/doc-decisions'
The project decision making policy has been documented. * js/doc-decisions: doc: describe the project's decision-making process
2 parents 6c5be97 + c82df70 commit b7544a1

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

Documentation/DecisionMaking.txt

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
Decision-Making Process in the Git Project
2+
==========================================
3+
4+
Introduction
5+
------------
6+
This document describes the current decision-making process in the Git
7+
project. It is a descriptive rather than prescriptive doc; that is, we want to
8+
describe how things work in practice rather than explicitly recommending any
9+
particular process or changes to the current process.
10+
11+
Here we document how the project makes decisions for discussions
12+
(with or without patches), in scale larger than an individual patch
13+
series (which is fully covered by the SubmittingPatches document).
14+
15+
16+
Larger Discussions (with patches)
17+
---------------------------------
18+
As with discussions on an individual patch series, starting a larger-scale
19+
discussion often begins by sending a patch or series to the list. This might
20+
take the form of an initial design doc, with implementation following in later
21+
iterations of the series (for example,
22+
link:https://lore.kernel.org/git/0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com/[adding unit tests] or
23+
link:https://lore.kernel.org/git/[email protected]/[config-based hooks]),
24+
or it might include a full implementation from the beginning.
25+
In either case, discussion progresses the same way for an individual patch series,
26+
until consensus is reached or the topic is dropped.
27+
28+
29+
Larger Discussions (without patches)
30+
------------------------------------
31+
Occasionally, larger discussions might occur without an associated patch series.
32+
These may be very large-scale technical decisions that are beyond the scope of
33+
even a single large patch series, or they may be more open-ended,
34+
policy-oriented discussions (examples:
35+
link:https://lore.kernel.org/git/[email protected]/[introducing Rust]
36+
or link:https://lore.kernel.org/git/[email protected]/[improving submodule UX]).
37+
In either case, discussion progresses as described above for general patch series.
38+
39+
For larger discussions without a patch series or other concrete implementation,
40+
it may be hard to judge when consensus has been reached, as there are not any
41+
official guidelines. If discussion stalls at this point, it may be helpful to
42+
restart discussion with an RFC patch series (such as a partial, unfinished
43+
implementation or proof of concept) that can be more easily debated.
44+
45+
When consensus is reached that it is a good idea, the original
46+
proposer is expected to coordinate the effort to make it happen,
47+
with help from others who were involved in the discussion, as
48+
needed.
49+
50+
For decisions that require code changes, it is often the case that the original
51+
proposer will follow up with a patch series, although it is also common for
52+
other interested parties to provide an implementation (or parts of the
53+
implementation, for very large changes).
54+
55+
For non-technical decisions such as community norms or processes, it is up to
56+
the community as a whole to implement and sustain agreed-upon changes.
57+
The project leadership committe (PLC) may help the implementation of
58+
policy decisions.
59+
60+
61+
Other Discussion Venues
62+
-----------------------
63+
Occasionally decision proposals are presented off-list, e.g. at the semi-regular
64+
Contributors' Summit. While higher-bandwidth face-to-face discussion is often
65+
useful for quickly reaching consensus among attendees, generally we expect to
66+
summarize the discussion in notes that can later be presented on-list. For an
67+
example, see the thread
68+
link:https://lore.kernel.org/git/[email protected]/[Notes
69+
from Git Contributor Summit, Los Angeles (April 5, 2020)] by James Ramsay.
70+
71+
We prefer that "official" discussion happens on the list so that the full
72+
community has opportunity to engage in discussion. This also means that the
73+
mailing list archives contain a more-or-less complete history of project
74+
discussions and decisions.

Documentation/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ SP_ARTICLES += howto/coordinate-embargoed-releases
103103
API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
104104
SP_ARTICLES += $(API_DOCS)
105105

106+
TECH_DOCS += DecisionMaking
106107
TECH_DOCS += ReviewingGuidelines
107108
TECH_DOCS += MyFirstContribution
108109
TECH_DOCS += MyFirstObjectWalk

0 commit comments

Comments
 (0)