git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC PATCH] doc: describe the project's decision-making process

From
Josh Steadmon <steadmon@google.com>
Date
Apr 15, 2024, 23:20 UTC
Message-ID
<b2ef74c1b0c7482fa880a1519fd6ea1032df7789.1713222673.git.steadmon@google.com>

The Git project currently operates according to informal, unstated norms when it comes to making bigger-picture decisions (above and beyond individual patches and patch series). Document these norms so that newcomers to the project can learn what to expect.

This document explicitly does not aim to impose a formal process to decision-making, nor to change pre-existing norms. Its only aim is to describe how the project currently operates today.

Signed-off-by: Josh Steadmon <steadmon@google.com>
---
This doc represents my impression of how the community operates. I have
obviously not been around as long as many other community members, so I
would welcome feedback if you feel that this misses or misrepresents any
aspect of how we make decisions.

One particular blind spot for me is how the Project Leadership Committee operates, or if that's even relevant to this doc.

Unfortunately, I will be away from the list for a few days for $LIFE reasons, but I will try to address feedback promptly once I get back.

 Documentation/DecisionMaking.txt | 58 ++++++++++++++++++++++++++++++++
 Documentation/Makefile           |  1 +
 2 files changed, 59 insertions(+)
 create mode 100644 Documentation/DecisionMaking.txt
diff --git a/Documentation/DecisionMaking.txt b/Documentation/DecisionMaking.txt
new file mode 100644
index 0000000000..80fc732551
--- /dev/null
+++ b/Documentation/DecisionMaking.txt
@@ -0,0 +1,58 @@
+Decision-Making Process in the Git Project
+==========================================
+
+Introduction
+------------
+This doc aims to describe the current decision-making process in the Git
+project. It is a descriptive rather than prescriptive doc; that is, we want to
+describe how things work in practice rather than explicitly recommending any
+particular process or changes to the current process.
+
+We want to describe how the project makes larger-scale decisions. We won't be
+discussing how decisions are made for individual patches or patch series,
+although the process is similar at a high level.
+
+Starting a Discussion
+---------------------
+Proposals are made on the mailing list. Because members of the Git community
+have a wide variety of experience, backgrounds, and values, proposals are
+expected to include as much context as possible.
+
+If the proposer is aware of individuals with an interest in the topic being
+discussed, it is polite to CC them on the proposal to make sure they are aware
+of the discussion.
+
+Engaging in Discussion
+----------------------
+Once a proposal has been made, the community will discuss it on-list. While the
+maintainer will often participate in discussions, it is not the maintainer's
+responsibility to guide discussion; the proposer and any other interested
+parties are expected to stay engaged in the discussion and ensure progress is
+made.
+
+Anyone with an interest in the topic is welcome to discuss the matter. It is
+expected that all discussion will adhere to the Code of Conduct rules.
+
+Other Discussion Venues
+~~~~~~~~~~~~~~~~~~~~~~~
+Occasionally decision proposals are presented off-list, e.g. at the semi-regular
+Contributors' Summit. While higher-bandwidth face-to-face discussion is often
+useful for quickly reaching consensus among attendees, generally we expect to
+summarize the discussion in notes that can later be presented on-list, so that
+the full community has opportunity to engage in discussion.
+
+Finalizing a Decision
+---------------------
+After a suitable period of time has passed, the maintainer will judge whether or
+not consensus has been reached. If so, the consensus decision will be
+implemented. Otherwise, discussion may continue, or the proposal may be
+abandoned.
+
+In general, it is not the maintainer's responsibility to implement any
+particular decision. For decisions that require code changes, it is often the
+case that the original proposer will make the necessary changes to implement the
+decision, although it is also common for other interested parties to provide an
+implementation.
+
+For non-technical decisions such as community norms or processes, it is up to
+the community as a whole to implement and sustain agreed-upon changes.
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 3f2383a12c..a04da672c6 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -103,6 +103,7 @@ SP_ARTICLES += howto/coordinate-embargoed-releases
 API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
 SP_ARTICLES += $(API_DOCS)
 
+TECH_DOCS += DecisionMaking
 TECH_DOCS += ReviewingGuidelines
 TECH_DOCS += MyFirstContribution
 TECH_DOCS += MyFirstObjectWalk

base-commit: 436d4e5b14df49870a897f64fe92c0ddc7017e4c
-- 
2.44.0.683.g7961c838ac-goog
Next: Junio C Hamano
Message 1 of 44 in “doc: describe the project's decision-making process”
  1. doc: describe the project's decision-making processJosh Steadmon, Apr 15, 2024
  2. Junio C HamanoApr 16, 2024
  3. Josh SteadmonApr 22, 2024
  4. Junio C HamanoApr 22, 2024
  5. Junio C HamanoApr 23, 2024
  6. Enrico MrassApr 17, 2024
  7. Junio C HamanoApr 17, 2024
  8. Junio C HamanoMay 3, 2024
  9. Josh SteadmonMay 3, 2024
  10. Junio C HamanoMay 3, 2024
  11. Taylor BlauMay 3, 2024
  12. Patrick SteinhardtMay 6, 2024
  13. Taylor BlauMay 6, 2024
  14. Josh SteadmonMay 6, 2024
  15. Taylor BlauMay 6, 2024
  16. Emily ShafferApr 22, 2024
  17. Junio C HamanoApr 22, 2024
  18. Emily ShafferApr 22, 2024
  19. Junio C HamanoApr 23, 2024
  20. doc: describe the project's decision-making processJosh Steadmon, May 9, 2024
  21. Junio C HamanoMay 9, 2024
  22. Junio C HamanoMay 9, 2024
  23. 0/2 Describe patch-flow better in SubmittingPatchesJunio C Hamano, May 9, 2024
  24. 1/2 SubmittingPatches: move the patch-flow section earlierJunio C Hamano, May 9, 2024
  25. 2/2 SubmittingPatches: extend the "flow" sectionJunio C Hamano, May 9, 2024
  26. Karthik NayakMay 10, 2024
  27. Junio C HamanoMay 10, 2024
  28. Karthik NayakMay 10, 2024
  29. 0/2 Describe life cycle of a patch seriesJunio C Hamano, May 10, 2024
  30. 1/2 SubmittingPatches: move the patch-flow section earlierJunio C Hamano, May 10, 2024
  31. 2/2 SubmittingPatches: extend the "flow" sectionJunio C Hamano, May 10, 2024
  32. decisions: focus on larger scale issuesJunio C Hamano, May 10, 2024
  33. Josh SteadmonMay 15, 2024
  34. Junio C HamanoMay 15, 2024
  35. Josh SteadmonMay 15, 2024
  36. doc: describe the project's decision-making processJosh Steadmon, May 16, 2024
  37. Junio C HamanoMay 16, 2024
  38. Josh SteadmonMay 17, 2024
  39. Patrick SteinhardtMay 17, 2024
  40. Junio C HamanoMay 17, 2024
  41. Patrick SteinhardtMay 21, 2024
  42. doc: describe the project's decision-making processJosh Steadmon, May 17, 2024
  43. Junio C HamanoMay 17, 2024
  44. Patrick SteinhardtMay 21, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.