From patchwork Thu May 27 12:35:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 29621 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 73E5D27BC81; Thu, 27 May 2021 13:37:56 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 30A2E27BC78 for ; Thu, 27 May 2021 13:37:56 +0100 (BST) Received: from localhost ([::1]:54906 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmFGt-0006ZO-8K for patchwork@mira.cbaines.net; Thu, 27 May 2021 08:37:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:32994) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmFG5-0006X6-Pa for guix-patches@gnu.org; Thu, 27 May 2021 08:37:10 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39301) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmFG2-0006w1-9a for guix-patches@gnu.org; Thu, 27 May 2021 08:37:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lmFG2-0006DE-7l for guix-patches@gnu.org; Thu, 27 May 2021 08:37:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48696] [PATCH 1/3] doc: Structure the "Commit Access" section. References: <20210527123259.4115-1-ludo@gnu.org> In-Reply-To: <20210527123259.4115-1-ludo@gnu.org> Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 27 May 2021 12:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48696 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 48696@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= Received: via spool by 48696-submit@debbugs.gnu.org id=B48696.162211897423796 (code B ref 48696); Thu, 27 May 2021 12:37:02 +0000 Received: (at 48696) by debbugs.gnu.org; 27 May 2021 12:36:14 +0000 Received: from localhost ([127.0.0.1]:50841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmFFG-0006Bk-Be for submit@debbugs.gnu.org; Thu, 27 May 2021 08:36:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39098) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmFFE-0006BW-LA for 48696@debbugs.gnu.org; Thu, 27 May 2021 08:36:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42904) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmFF7-0006R9-Lw; Thu, 27 May 2021 08:36:07 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=40496 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmFF6-0005Bm-8p; Thu, 27 May 2021 08:36:05 -0400 From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Thu, 27 May 2021 14:35:52 +0200 Message-Id: <20210527123554.4267-1-ludo@gnu.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * doc/contributing.texi (Commit Access): Add introduction and section heading. Separate OpenPGP setup from commit policy. --- doc/contributing.texi | 59 ++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index cfcae22502..7dc912b4de 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1258,8 +1258,19 @@ this nifty tool! @section Commit Access @cindex commit access, for developers -For frequent contributors, having write access to the repository is -convenient. When you deem it necessary, consider applying for commit +Everyone can contribute to Guix without having commit access +(@pxref{Submitting Patches}). However, for frequent contributors, +having write access to the repository can be convenient. Commit access +should not be thought of as a ``badge of honor'' but rather as a +responsibility a contributor is willing to take to help the project. + +The following sections explain how to get commit access, how to be ready +to push commits, and the policies and community expectations for commits +pushed upstream. + +@subsection Applying for Commit Access + +When you deem it necessary, consider applying for commit access by following these steps: @enumerate @@ -1331,6 +1342,27 @@ review and merging system, which, as a consequence, may lead us to have fewer people with commit access to the main repository. Stay tuned! @end quotation +All commits that are pushed to the central repository on Savannah must +be signed with an OpenPGP key, and the public key should be uploaded to +your user account on Savannah and to public key servers, such as +@code{keys.openpgp.org}. To configure Git to automatically sign +commits, run: + +@example +git config commit.gpgsign true +git config user.signingkey CABBA6EA1DC0FF33 +@end example + +You can prevent yourself from accidentally pushing unsigned commits to +Savannah by using the pre-push Git hook called located at +@file{etc/git/pre-push}: + +@example +cp etc/git/pre-push .git/hooks/pre-push +@end example + +@subsection Commit Policy + If you get commit access, please make sure to follow the policy below (discussions of the policy can take place on @email{guix-devel@@gnu.org}). @@ -1349,25 +1381,6 @@ mailing list for commit notifications (@email{guix-commits@@gnu.org}), so people can notice. Before pushing your changes, make sure to run @code{git pull --rebase}. -All commits that are pushed to the central repository on Savannah must -be signed with an OpenPGP key, and the public key should be uploaded to -your user account on Savannah and to public key servers, such as -@code{keys.openpgp.org}. To configure Git to automatically sign -commits, run: - -@example -git config commit.gpgsign true -git config user.signingkey CABBA6EA1DC0FF33 -@end example - -You can prevent yourself from accidentally pushing unsigned commits to -Savannah by using the pre-push Git hook called located at -@file{etc/git/pre-push}: - -@example -cp etc/git/pre-push .git/hooks/pre-push -@end example - When pushing a commit on behalf of somebody else, please add a @code{Signed-off-by} line at the end of the commit log message---e.g., with @command{git am --signoff}. This improves tracking of who did @@ -1389,12 +1402,16 @@ you're confident, it's OK to commit. That last part is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with. +@subsection Commit Revocation + In order to reduce the possibility of mistakes, committers will have their Savannah account removed from the Guix Savannah project and their key removed from @file{.guix-authorizations} after 12 months of inactivity; they can ask to regain commit access by emailing the maintainers, without going through the vouching process. +@subsection Helping Out + One last thing: the project keeps moving forward because committers not only push their own awesome changes, but also offer some of their time @emph{reviewing} and pushing other people's changes. As a committer, From patchwork Thu May 27 12:35:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 29623 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B422B27BC81; Thu, 27 May 2021 14:31:47 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 81F1E27BC78 for ; Thu, 27 May 2021 14:31:47 +0100 (BST) Received: from localhost ([::1]:47316 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmG70-0000Jc-OG for patchwork@mira.cbaines.net; Thu, 27 May 2021 09:31:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:32992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmFG5-0006X5-P1 for guix-patches@gnu.org; Thu, 27 May 2021 08:37:10 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39302) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmFG2-0006w4-O2 for guix-patches@gnu.org; Thu, 27 May 2021 08:37:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lmFG2-0006DL-Ln for guix-patches@gnu.org; Thu, 27 May 2021 08:37:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48696] [PATCH 2/3] doc: Add "Addressing Mistakes" section. Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 27 May 2021 12:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48696 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 48696@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= Received: via spool by 48696-submit@debbugs.gnu.org id=B48696.162211898023814 (code B ref 48696); Thu, 27 May 2021 12:37:02 +0000 Received: (at 48696) by debbugs.gnu.org; 27 May 2021 12:36:20 +0000 Received: from localhost ([127.0.0.1]:50844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmFFL-0006C1-Ns for submit@debbugs.gnu.org; Thu, 27 May 2021 08:36:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39132) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmFFJ-0006Bc-N7 for 48696@debbugs.gnu.org; Thu, 27 May 2021 08:36:17 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42908) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmFFB-0006Tc-EU; Thu, 27 May 2021 08:36:10 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=40496 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmFF7-0005Bm-Tw; Thu, 27 May 2021 08:36:07 -0400 From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Thu, 27 May 2021 14:35:53 +0200 Message-Id: <20210527123554.4267-2-ludo@gnu.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210527123554.4267-1-ludo@gnu.org> References: <20210527123554.4267-1-ludo@gnu.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * doc/contributing.texi (Addressing Mistakes): New section. --- doc/contributing.texi | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/doc/contributing.texi b/doc/contributing.texi index 7dc912b4de..8308551261 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1402,6 +1402,40 @@ you're confident, it's OK to commit. That last part is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with. +@subsection Addressing Mistakes + +We all make mistakes. We expect peer review (@pxref{Submitting +Patches}) and tools such as @command{guix lint} (@pxref{Invoking guix +lint}) and the test suite (@pxref{Running the Test Suite}) to catch +issues before they are pushed; yet, mistakes might go through---that +happens to both newcomers and old-timers, and there is nothing to be +ashamed of when it happens. As a community, we expect committers to +recognize and address mistakes as soon as possible. + +Some mistakes can directly affect all users---for instance because they +make @command{guix pull} fail or break core functionality, because they +break major packages (at build time or run time), or because they +introduce known security vulnerabilities. + +@cindex reverting commits +The person who pushed the faulty commit(s) should be at the forefront to +address such an issue in a timely fashion: by pushing a followup commit +to fix it (if possible), or by reverting it to leave time to come up +with a proper fix, and by communicating with other developers about the +problem. + +If the committer is unavailable to address the issue in time, other +committers are entitled to revert the offending commit(s), explaining in +the commit log and on the mailing list what the problem was, with the +goal of leaving time to the original committer and author(s) to propose +a way forward. + +The Guix project values friendly cooperation and a constant effort to +focus on the way forward when issues arise. Committers should lead by +example, notably as a way to encourage contributors and contributors to +be. Blame as well as defensiveness do not have their place in Guix when +addressing genuine mistakes. + @subsection Commit Revocation In order to reduce the possibility of mistakes, committers will have From patchwork Thu May 27 12:35:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 29624 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id D8E0A27BC81; Thu, 27 May 2021 14:31:55 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A4D7927BC78 for ; Thu, 27 May 2021 14:31:55 +0100 (BST) Received: from localhost ([::1]:48024 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmG78-0000ol-Pi for patchwork@mira.cbaines.net; Thu, 27 May 2021 09:31:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmFG5-0006X7-Up for guix-patches@gnu.org; Thu, 27 May 2021 08:37:10 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39303) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmFG3-0006w7-44 for guix-patches@gnu.org; Thu, 27 May 2021 08:37:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lmFG3-0006DS-2E for guix-patches@gnu.org; Thu, 27 May 2021 08:37:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48696] [PATCH 3/3] doc: Explain more reasons for commit revocation. Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 27 May 2021 12:37:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48696 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 48696@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= Received: via spool by 48696-submit@debbugs.gnu.org id=B48696.162211898623834 (code B ref 48696); Thu, 27 May 2021 12:37:03 +0000 Received: (at 48696) by debbugs.gnu.org; 27 May 2021 12:36:26 +0000 Received: from localhost ([127.0.0.1]:50847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmFFS-0006CM-0n for submit@debbugs.gnu.org; Thu, 27 May 2021 08:36:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39154) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmFFQ-0006C0-Es for 48696@debbugs.gnu.org; Thu, 27 May 2021 08:36:24 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42910) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmFFL-0006Yr-7k; Thu, 27 May 2021 08:36:19 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=40496 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmFFB-0005Bm-Nm; Thu, 27 May 2021 08:36:11 -0400 From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Thu, 27 May 2021 14:35:54 +0200 Message-Id: <20210527123554.4267-3-ludo@gnu.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210527123554.4267-1-ludo@gnu.org> References: <20210527123554.4267-1-ludo@gnu.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * doc/contributing.texi (Commit Revocation): Expound. --- doc/contributing.texi | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/doc/contributing.texi b/doc/contributing.texi index 8308551261..ec649c8e13 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1444,6 +1444,27 @@ key removed from @file{.guix-authorizations} after 12 months of inactivity; they can ask to regain commit access by emailing the maintainers, without going through the vouching process. +Maintainers@footnote{See @uref{https://guix.gnu.org/en/about} for the +current list of maintainers. You can email them privately at +@email{guix-maintainers@@gnu.org}.} may also revoke an individual's +commit rights, as a last resort, if cooperation with the rest of the +community has caused too much friction---even within the bounds of the +project's code of conduct (@pxref{Contributing}). They would only do so +after public or private discussion with the individual and a clear +notice. Examples of behavior that hinders cooperation and could lead to +such a decision include: + +@itemize +@item repeated violation of the commit policy stated above; +@item repeated failure to take peer criticism into account; +@item breaching trust through a series of grave incidents. +@end itemize + +When maintainers resort to such a decision, they notify developers on +@email{guix-devel@@gnu.org}; inquiries may be sent to +@email{guix-maintainers@@gnu.org}. Depending on the situation, the +individual may still be welcome to contribute. + @subsection Helping Out One last thing: the project keeps moving forward because committers not