From: "Ludovic Courtès" <ludo@gnu.org>
To: 72891@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>,
"Florian Pelz" <pelzflorian@pelzflorian.de>,
"Ludovic Courtès" <ludo@gnu.org>,
"Maxim Cournoyer" <maxim.cournoyer@gmail.com>
Subject: [bug#72891] [PATCH RFC] doc: Define the purpose, membership, and creation of teams.
Date: Fri, 30 Aug 2024 12:12:04 +0200 [thread overview]
Message-ID: <fb9721adfc71b841dcb6a2575539449ce756e401.1725012038.git.ludo@gnu.org> (raw)
* doc/contributing.texi (Teams): Define the purpose of teams; provide
example; clarify membership and team creation.
(Reviewing the Work of Others): Link to “Teams”.
Change-Id: I5d75f69bc4653eb9da9c1d1f920718238ea83b9d
---
doc/contributing.texi | 63 ++++++++++++++++++++++++++++++++++++-------
1 file changed, 53 insertions(+), 10 deletions(-)
Hello Guix!
The recent discussion about creating a browser team¹ made it clear
that teams are not defined anywhere: the manual doesn’t say what their
mission is, how to become a member, how to revoke members, nor how
to create new teams.
This patch is an attempt to formalize that. I believe there’s nothing
really new for someone who’s been following closely in recent times, but
it should definitely improve legibility for newcomers.
Thoughts?
I suggest that we iterate on this for at most one month so we have a
first version checked in by September 30th.
Ludo’.
¹ https://lists.gnu.org/archive/html/guix-devel/2024-08/msg00168.html
diff --git a/doc/contributing.texi b/doc/contributing.texi
index 73f7addbef..7705367bce 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -2225,8 +2225,52 @@ Teams
@subsection Teams
@cindex teams
-There are several teams mentoring different parts of the Guix source
-code. To list all those teams, you can run from a Guix checkout:
+To organize work on Guix, including but not just development efforts,
+the project has a set of @dfn{teams}. Each team has its own focus and
+interests and is the primary contact point for questions and
+contributions in those areas. A team's primary mission is to coordinate
+and review the work of individuals in its scope (@pxref{Reviewing the
+Work of Others}); it can make decisions within its scope, in agreement
+with other teams whenever there is overlap or a close connection, and in
+accordance with other project rules such as seeking consensus.
+@c TODO: Currently ``consensus-based decision making'' is discussed
+@c under ``Commit Access''. Move that elsewhere and refer to it from
+@c here.
+
+As an example, the Python team is responsible for core Python packaging
+matters; it can decide to upgrade core Python packages in a dedicated
+@code{python-team} branch, in collaboration with any team whose scope is
+directly dependent on Python---e.g., the Science team---and following
+branching rules (@pxref{Managing Patches and Branches}). The
+Documentation team helps review changes to the documentation and can
+initiate overarching documentation changes. The Translations team
+organizes translation of Guix and its manual and coordinates efforts in
+that area. The Core team is responsible for the development of core
+functionality and interfaces of Guix; because of its central nature,
+some of its work may require soliciting input from the community at
+large and seeking consensus before enacting decisions that would affect
+the entire community.
+
+Teams are defined in the @file{etc/teams.scm} file in the Guix
+repository. The scope of each team is defined, when applicable, as a
+set of files or as a regular expression matching file names.
+
+@cindex team membership
+Anyone with interest in a team's domain and willing to contribute to its
+work can apply to become a member by contacting current members by
+email; commit access is not a precondition. Membership is formalized by
+adding the person's name and email address to @file{etc/teams.scm}.
+Members who have not been participating in the team's work for one year
+or more may be removed; they are free to reapply for membership later.
+
+@cindex team creation
+One or more people may propose the creation of a new team by reaching
+out to the community by email at @email{guix-devel@@gnu.org}, clarifying
+the intended scope and purpose. When consensus is reached on the
+creation of this team, someone with commit access formalizes its
+creation by adding it and its initial members to @file{etc/teams.scm}.
+
+To list existing teams, run the following command from a Guix checkout:
@example
$ ./etc/teams.scm list-teams
@@ -2234,15 +2278,12 @@ Teams
name: Mentors
description: A group of mentors who chaperone contributions by newcomers.
members:
-+ Christopher Baines <mail@@cbaines.net>
-+ Ricardo Wurmus <rekado@@elephly.net>
-+ Mathieu Othacehe <othacehe@@gnu.org>
-+ jgart <jgart@@dismail.de>
-+ Ludovic Courtès <ludo@@gnu.org>
++ Charlie Smith <charlie@@example.org>
@dots{}
@end example
-You can run the following command to have the @code{Mentors} team put in
+@cindex mentoring
+You can run the following command to have the Mentors team put in
CC of a patch series:
@example
@@ -2905,12 +2946,14 @@ Reviewing the Work of Others
is to review the work contributed by others. You do not need to be a
committer to do so; applying, reading the source, building, linting and
running other people's series and sharing your comments about your
-experience will give some confidence to committers. Basically, you must
+experience will give some confidence to committers. You must
ensure the check list found in the @ref{Submitting Patches} section has
been correctly followed. A reviewed patch series should give the best
chances for the proposed change to be merged faster, so if a change you
would like to see merged hasn't yet been reviewed, this is the most
-appropriate thing to do!
+appropriate thing to do! If you would like to review changes in a
+specific area and to receive notifications for incoming patches relevant
+to that domain, consider joining the relevant team(s) (@pxref{Teams}).
@cindex reviewing, guidelines
Review comments should be unambiguous; be as clear and explicit as you
base-commit: d5312370b46ace47e138d84e1bb28e5651cee94b
--
2.45.2
next reply other threads:[~2024-08-30 10:13 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-30 10:12 Ludovic Courtès [this message]
2024-08-31 6:26 ` [bug#72891] [PATCH RFC] doc: Define the purpose, membership, and creation of teams Noé Lopez
2024-08-31 19:44 ` Ludovic Courtès
2024-09-04 17:25 ` bug#72891: " Simon Tournier
2024-09-04 17:26 ` [bug#72891] " Simon Tournier
2024-09-09 8:58 ` Ludovic Courtès
2024-09-09 17:48 ` Simon Tournier
2024-09-04 18:05 ` [bug#72891] [PATCH v2 1/3] doc: contributing: Move consensus Simon Tournier
2024-09-04 18:05 ` [bug#72891] [PATCH v2 2/3] doc: contributing: Move up section Teams Simon Tournier
2024-09-04 18:05 ` [bug#72891] [PATCH v2 3/3] doc: Define the purpose, membership, and creation of teams Simon Tournier
2024-09-05 9:16 ` pelzflorian (Florian Pelz)
2024-09-10 0:20 ` Maxim Cournoyer
2024-09-10 0:21 ` [bug#72891] [PATCH RFC] " Maxim Cournoyer
2024-10-14 12:14 ` bug#72891: " Ludovic Courtès
2024-10-14 17:37 ` [bug#72891] " Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fb9721adfc71b841dcb6a2575539449ce756e401.1725012038.git.ludo@gnu.org \
--to=ludo@gnu.org \
--cc=72891@debbugs.gnu.org \
--cc=maxim.cournoyer@gmail.com \
--cc=pelzflorian@pelzflorian.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.