From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id kJN7Bq94v2Af1QAAgWs5BA (envelope-from ) for ; Tue, 08 Jun 2021 16:03:27 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id kDfSAa94v2DPUQAAB5/wlQ (envelope-from ) for ; Tue, 08 Jun 2021 14:03:27 +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 69E89FF33 for ; Tue, 8 Jun 2021 16:03:26 +0200 (CEST) Received: from localhost ([::1]:51974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqcKD-0007jM-EF for larch@yhetil.org; Tue, 08 Jun 2021 10:03:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqcJq-00075d-3W for guix-patches@gnu.org; Tue, 08 Jun 2021 10:03:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:47853) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lqcJp-0005xk-TH for guix-patches@gnu.org; Tue, 08 Jun 2021 10:03:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lqcJp-0008Q1-Qh for guix-patches@gnu.org; Tue, 08 Jun 2021 10:03:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48696] [PATCH 0/3] Documenting commit reverts and revocation Resent-From: Christopher Baines Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 08 Jun 2021 14:03: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.162316095832313 (code B ref 48696); Tue, 08 Jun 2021 14:03:01 +0000 Received: (at 48696) by debbugs.gnu.org; 8 Jun 2021 14:02:38 +0000 Received: from localhost ([127.0.0.1]:59396 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lqcJR-0008P7-Lj for submit@debbugs.gnu.org; Tue, 08 Jun 2021 10:02:38 -0400 Received: from mira.cbaines.net ([212.71.252.8]:38432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lqcJQ-0008Oy-1w for 48696@debbugs.gnu.org; Tue, 08 Jun 2021 10:02:36 -0400 Received: from localhost (unknown [IPv6:2a02:8010:68c1:0:8ac0:b4c7:f5c8:7caa]) by mira.cbaines.net (Postfix) with ESMTPSA id E6CD027BC78; Tue, 8 Jun 2021 15:02:34 +0100 (BST) Received: from capella (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id d4ba3c70; Tue, 8 Jun 2021 14:02:34 +0000 (UTC) References: <20210527123554.4267-1-ludo@gnu.org> <20210527123554.4267-2-ludo@gnu.org> <87y2c0f0i4.fsf@cbaines.net> <87eedpet69.fsf@gnu.org> <87k0ngfra8.fsf@cbaines.net> <87tumgwrhh.fsf_-_@gnu.org> User-agent: mu4e 1.4.15; emacs 27.2 From: Christopher Baines In-reply-to: <87tumgwrhh.fsf_-_@gnu.org> Date: Tue, 08 Jun 2021 15:02:31 +0100 Message-ID: <87bl8gtpxk.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=1623161006; 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=lz9UhUz7qQpxHLS2LhWk77aQ/7sU3tdUJYp2Zyhg/E0=; b=HX5PbNuw+7nkJFlO1LzyIUdNrLir9e+mNxXLrlvPuEABuVCx6QHkzpgflTn5JfQkI60Utl Jz4Y1umRjzPo0BNH+1cJkNPc5eqA4qoZBuTCgeMegWhLjC6dm9FGKViLsK8/imPxvCvv2/ HiUdqWB8MmU1U5vPGeCEY+N5ZRgevt/8dPIJ4d4hwBH6QsevT0zrXS80HHyd7HzeJhAJ7Q seE/YF36uCZJWeiCEcZJn2nEs79awRsJuXe3hP0TdlDo1Nvbh8nqmSWKlxRGHmY+Lan0GA mYGQOy+zI22lLjoaFmQOUVFfiQsDpmSiLHAJE7vvNB6l9Hf6WyYNAh2jb0AfvA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1623161006; a=rsa-sha256; cv=none; b=Fgu7LyuF2ezNltIwC/nqqq8MGwdtrMCeVLiGxXPgrdzW7WkIkdSOkwkI5fJCJqT5/LhpLL 9ZQ/xWKjWj9nuEGVX7xtxU+xPhBJdC4MFn+1OK3ZMvGmMPuLC5NGzimTGJxUJBIqHVqL5Q zEFn7MkqxjK6tQiOkFHJ/tL/rfSgtwP9esDPtfZHCKVSShezinsI3k6lmci72X7IwK16Fs Q9QFsn7HFhNXKCYC4nS1OERZGtfxJTGKvaSh+UlEgMo5SeANObmTkM2GAlzTz3soA9g0EN /kLjVae8d8YBjno3zGv8m7dYzyHqcwXjk2SxOWPNwWYxzAiovapXDXX5386cug== 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.52 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: 69E89FF33 X-Spam-Score: -4.52 X-Migadu-Scanner: scn1.migadu.com X-TUID: tHuBS6CeakqM --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Hi Chris, > > Christopher Baines skribis: > >> Ludovic Court=C3=A8s writes: > > [...] > >>> I think you have a point though. Could you propose different wording >>> for this section? >>> >>> (My goal for this section was to (1) spell out circumstances that may >>> lead to reverts, (2) explain the implications of committer >>> accountability, and (3) define our community standards in terms of >>> focusing on addressing issues and not on blaming individuals.) >> >> What I would like to see is more like this: >> >> Problems happen, while minimising there occurrence is important, it's >> also important to respond to problems in a useful way. There are two >> priorities, mitigating the impact and understanding what happened in >> order to reduce the chance of similar incidents in the future. The >> responsibility for both these things primarily lies with those >> involved, but like everything this is a group effort. >> >> When working to mitigate the impact of a problem, obviously the >> response is very much dependent on the situation. If it's possible to >> fix things that are broken, that's preferable. If that's infeasible, >> then promptly reverting changes to return to a working state is >> justified (as with any commit, note why the change is being made in >> the commit message). >> >> Once the problem has been dealt with to some extent, then it's the >> responsibility of those involved to make sure the situation is >> understood. If you are working to understand what happened, focus on >> gathering information and avoid assigning any blame. Do ask those >> involved to describe what has happened, don't ask them to explain the >> situation, even if you think they have something to explain, as this >> implicitly blames them, which is unhelpful. Accountability comes from >> a consensus about the problem, learning from it and improving >> processes so that it's less likely to reoccur. >> >> I'm not sure how much needs saying about reverts, but I did include >> something. >> >> For committer accountability, that's where I'm talking about the >> "responsibilities of those involved". I guess that's a little vague, but >> what I'm trying to do there is trying to capture the group of relevant >> people, for example, the person who proposed the breaking change, the >> committer who pushed it, and the other person that reverted it. >> >> In terms of trying to focus on addressing issues and not blaming >> individuals, I think just avoiding language that implicitly blames >> people would be a big step forward. Whether that's enough, I'm unsure. > > OK. > > I like what you wrote; I think it addresses #3 and a bit of #2 above, > but I find a bit too abstract, not sufficiently hands-on (when can > commits be reverted? what=E2=80=99s the timeframe? who=E2=80=99s involved= ?), and lacking > examples. =E2=80=9CProblems happen=E2=80=9D sounds unspecific to me (it = reminds me of > Forest Gump :-)) and I=E2=80=99m uncomfortable with the passive voice tha= t tends > to erase individuals. > > @subsection Addressing Issues > > 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}) should catch issues before they are > pushed. Yet, commits that ``break'' functionality might occasionally > go through. When that happens, there are two priorities: mitigating > the impact, and understanding what happened to reduce the chance of > similar incidents in the future. The responsibility for both these > things primarily lies with those involved, but like everything this is > a group effort. >=20=20=20 > Some issues 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. I'm not sure what this paragraph is getting at? In any case, for security vulnerabilities, to affect all users they would also have to occur in major packages. > @cindex reverting commits > The people involved in authoring, reviewing, and pushing such > commit(s) should be at the forefront to mitigate their impact 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. >=20=20=20 > If these persons are unavailable to address the issue in time, other > committers are entitled to revert the 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, reviewer(s), and author(s) > to propose a way forward. >=20=20=20 > Once the problem has been dealt with, it is the responsibility of > those involved to make sure the situation is understood. If you are > working to understand what happened, focus on gathering information > and avoid assigning any blame. Do ask those involved to describe what > happened, do not ask them to explain the situation---this would > implicitly blame them, which is unhelpful. Accountability comes from > a consensus about the problem, learning from it and improving > processes so that it's less likely to reoccur. > > There=E2=80=99s still =E2=80=9Cthe people involved=E2=80=9D, =E2=80=9Cthe= se persons=E2=80=9D, and =E2=80=9Csuch commits=E2=80=9D > (I removed =E2=80=9Cfaulty=E2=80=9D), because I couldn=E2=80=99t think of= a way of avoiding > these without making the text too abstract or dismissing the idea > entirely (the idea that if I push a breaking change, others can expect > me to be spend time =E2=80=9Cmitigating the effort=E2=80=9D). > > Also, I think it=E2=80=99s useful to distinguish between =E2=80=9CI rever= t my commit=E2=80=9D > and =E2=80=9Csomeone reverts my commit=E2=80=9D due to their different so= cial and > emotional implications (our goal is precisely to suggest that these > implications are out of place in this group effort that Guix is, but we > can=E2=80=99t deny that they preexist). > > WDYT? I think the above text looks good. As noted above, I'm unsure about the second paragraph, but that's not a big issue. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmC/eHdfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh aW5lcy5uZXQACgkQXiijOwuE9XfDTA/8DCO0CBrXvyvu5JlgJqJIzeoH9Wf5gv5N PRMaF4uCbcLE5DiFg9RYgy1UpYedqbSXx1Cfr6mmJw/t5ObaIBrOsnqAO9FF1+2T j91A9x9nTY/kkP0Cq0r96JNIX7l/ht3REeEYwUrtS4Gw0lE8zK6PZck8LPNGDopu hHfM8P/BxpREpAhvPhTsb2VSv8z8HC1qGhW587DRGbW9WlNr/qADVMqOhpvu4K3g 5Be8J+wbv5E4DrkV9d5tSN0SSMCg0MsaixoO44iQqilSTNhkRic2BEV1YGRq9JyZ 1RocMBpTPBYnOjiK/vSySoSDkk8aSEnb2mL6HosXXYfFyYvhbeXHJw8LFkcr/wor ayJ55WFzKVO6CPSX9v7WgVtl6Aupl0sOxlLLq3gR6jHDeuZNWGjpAX/BBMeeijiJ VyRr7zVRDC85RyXxJokVSlXECbqO3xuOyJbTZP7yvc4sSO3gffHyMQQ/6GUX0cKK CGjdyTBCqpF4d9dWULtV1n87h8OcUrzkszCbPXjjZ+eQTQjkytiUPiGSAoz/EDs5 0hqjDCo1qpcfIMUOkEjolv8U0CfMjU4lZ83V6MGiRPCfCFzezh+ZSqHEp8qk/RG0 qamW4+XnEOFMrH4VB78i2C/sbnWlxyyRif8I9NMwNH7WDWl6i4Svb/Lr9rO5zVSr znXKZm6Jzzo= =YZ9K -----END PGP SIGNATURE----- --=-=-=--