From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id PwMnFenwr2COuQAAgWs5BA (envelope-from ) for ; Thu, 27 May 2021 21:20:09 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id iIkzEOnwr2C4CQAAbx9fmQ (envelope-from ) for ; Thu, 27 May 2021 19:20:09 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A7266DD7D for ; Thu, 27 May 2021 21:20:08 +0200 (CEST) Received: from localhost ([::1]:58288 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmLY7-000282-2p for larch@yhetil.org; Thu, 27 May 2021 15:20:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53370) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmLY2-000274-44 for guix-patches@gnu.org; Thu, 27 May 2021 15:20:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:41269) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmLY1-0006cC-SN for guix-patches@gnu.org; Thu, 27 May 2021 15:20:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lmLY1-0000Ql-Mm for guix-patches@gnu.org; Thu, 27 May 2021 15:20:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48696] [PATCH 2/3] doc: Add "Addressing Mistakes" section. Resent-From: Christopher Baines Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 27 May 2021 19:20:01 +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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 48696@debbugs.gnu.org Received: via spool by 48696-submit@debbugs.gnu.org id=B48696.16221431611601 (code B ref 48696); Thu, 27 May 2021 19:20:01 +0000 Received: (at 48696) by debbugs.gnu.org; 27 May 2021 19:19:21 +0000 Received: from localhost ([127.0.0.1]:52815 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmLXM-0000Pl-U7 for submit@debbugs.gnu.org; Thu, 27 May 2021 15:19:21 -0400 Received: from mira.cbaines.net ([212.71.252.8]:51340) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmLXL-0000Pd-Nj for 48696@debbugs.gnu.org; Thu, 27 May 2021 15:19:20 -0400 Received: from localhost (unknown [IPv6:2a02:8010:68c1:0:8ac0:b4c7:f5c8:7caa]) by mira.cbaines.net (Postfix) with ESMTPSA id E7B8B27BC78; Thu, 27 May 2021 20:19:18 +0100 (BST) Received: from capella (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 3b5f4342; Thu, 27 May 2021 19:19:18 +0000 (UTC) References: <20210527123554.4267-1-ludo@gnu.org> <20210527123554.4267-2-ludo@gnu.org> User-agent: mu4e 1.4.15; emacs 27.2 From: Christopher Baines In-reply-to: <20210527123554.4267-2-ludo@gnu.org> Date: Thu, 27 May 2021 20:19:15 +0100 Message-ID: <87y2c0f0i4.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" 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+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1622143209; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post; bh=9cEkrVcTzY1+tfR9ndg+NufeWT9PpVa6vY1vAC/D0bs=; b=heWRjfJj4w6ewuWeE7CBIETOBUAxktfCLtFDlUSp9RCCroZ6+lles+YOJKNpaVogt0qHi6 EJSZX43fwisRGtkBtKuKg8HjBH0oKoh+VUqNNHyJMSBGNmdNnBi5r3LfPZERnBzu5TYI4M pf5tUvFc3s1DqSTgu4elnRvL00zZ3K9jFbV/goRgSGz4aKMxn78xlDaYQCutOxPQUvrFVZ ToUd7JJjFqyfkU9KOqKiOe9ayNjxcm6WUedf91qdIOHlvD/+ojHgBAGYofyp0w1RM+7ONA Zxyv4AczSgomeYkxm5ynYjqovJCorI9oNiZskhU4bXgrgdNTcI+k+01DvG+vEw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1622143209; a=rsa-sha256; cv=none; b=LrBuV05DhIdZ/+Jg3jrqqJMO2sFJl9CuVGBRSNtcOS0u+42NaZe2srQbOsxxhEyPfj8TYP eq4DmtrZZBgXk6wmBuDVvX5uGd5Bz82MYAej+gvxpJ6IHF0ugSleLU6Y3gVoEc+gW+jpFm xj+OENgEWr7mFwOTCCTi5YnMC7/1R4IGF5WGXj1aZ+R00H/5WkYP9GDAlQGX6SWWPFfG81 Arrg61UeBRzQ/0XM5sGqg8YxLbgr0I+vP5xuzR6EIwcjhxBWnFlgztf5M9tmiP9HXIAbzj EiGqRmURJpNdpVaqOTnyr0twxZNjCo5EBR5KLHv4vh3abTRppgZyK/GvlpTinQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -4.53 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: A7266DD7D X-Spam-Score: -4.53 X-Migadu-Scanner: scn1.migadu.com X-TUID: xodwtF3IyQFT --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > * 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 com= mit > directly on non-controversial changes on parts they=E2=80=99re familiar = with. >=20=20 > +@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. I too would like to see less blame, but one factor is how things are framed and the language used. On the language here, "mistake" is a word I would generally avoid if the aim is avoid blaming someone, since mistakes are made by a person or set of people. I'd prefer a term like "problem", since I don't perceieve that as directly linked to a person or set of people. On the bit about the "person who pushed the faulty commits" (so, person to blame...) I'd much prefer an emphisis on group responsibility to mitigate the impact of problems quickly, and understand the factors that led to that problems in the first place. That avoids assigning blame, rather than the process pushing responsibility to the person to blame ("person who pushed the faulty commit(s)"). On this same thread, I'd like to see less blaming in the form of asking people to "explain". When there's a problem, and you ask someone to explain, I would interpret that as "I'm blaming you for this, please give your account of how the mistake was made", to which the person can either answer explaining the details as to why they are to blame, or can disagree with the implicit assertion that they are to blame. To avoid assigning blame, one can just ask someone to "describe" what happened, which I wouldn't interpret as being loaded with the same implicit assertion. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmCv8LNfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh aW5lcy5uZXQACgkQXiijOwuE9Xc48A//YgEpbNOW8DOT17E3DEYQm2u4ci+ChAB/ rmQ9fROQ7UYeB5Kki7TTKrPy25F8Gd+wimkwNvBEHp12drxemTlzKGyXK8nIBLwz ruW0kb9+FnNtloVsMYKfpZ1wNM6UIaTqv+kOUm0Y24oXuMS+5J4pQNtoqsK0EHsw qNybzVCHhOgPMFJpbmcTP0Kl2aGY3P4FUo3HeBZUbGiyvezoUvIPVZvyJFwBnn9W k2BDIm/yDrEY1xJmvZs7LcSL+SOr3yXF59koF3PbUmy6dOfQCJvkPizIBQOd7iET 90Bxy7tU60kXQ5ZRvUJVxV17NT143zdRp4RHj3WFkDbQ09WqLKwSyODQyATFXSFY ERwvWSnntjtdy4unOBGLmR3Dz6WcaA6IC31HyxPRHxgT9b8R9hG4oTzJP5MsNvBc oqsYb01V7xoumFz/yXw4avsiEL91mfORpfrkxseIAO5zg1BakkfFtKrj7WmmZzjm 5bJ6DEr+4WAePzoOCTcyC9iJz9bcsuTw+3buvYTbmp5I4yJa/9HRkUAAELVrBqky /eTPGnLXLVDj4lP/WrYY/xjvojeUEJiA3UL4dQRX0D5WaLUd2p9m7PPs9b+JVt0t Gwoluc409QRp+XvVISw+EDJvnlWA9aUy/cT3jls+ltHnYFd6K43Fkq1ALVuYkl3q mA3obbgRte0= =RVx2 -----END PGP SIGNATURE----- --=-=-=--