From: "Ludovic Courtès" <ludo@gnu.org>
To: Christopher Baines <mail@cbaines.net>
Cc: 48696@debbugs.gnu.org
Subject: [bug#48696] [PATCH 0/3] Documenting commit reverts and revocation
Date: Wed, 02 Jun 2021 11:22:34 +0200 [thread overview]
Message-ID: <87tumgwrhh.fsf_-_@gnu.org> (raw)
In-Reply-To: <87k0ngfra8.fsf@cbaines.net> (Christopher Baines's message of "Sun, 30 May 2021 11:29:51 +0100")
Hi Chris,
Christopher Baines <mail@cbaines.net> skribis:
> Ludovic Courtès <ludo@gnu.org> 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’s the timeframe? who’s involved?), and lacking
examples. “Problems happen” sounds unspecific to me (it reminds me of
Forest Gump :-)) and I’m uncomfortable with the passive voice that 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.
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.
@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.
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.
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’s still “the people involved”, “these persons”, and “such commits”
(I removed “faulty”), because I couldn’t 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 “mitigating the effort”).
Also, I think it’s useful to distinguish between “I revert my commit”
and “someone reverts my commit” due to their different social 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’t deny that they preexist).
WDYT?
Thanks for taking the time to work on it!
Ludo’.
next prev parent reply other threads:[~2021-06-02 9:23 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-27 12:32 [bug#48696] [PATCH 0/3] Documenting commit reverts and revocation Ludovic Courtès
2021-05-27 12:35 ` [bug#48696] [PATCH 1/3] doc: Structure the "Commit Access" section Ludovic Courtès
2021-05-27 12:35 ` [bug#48696] [PATCH 2/3] doc: Add "Addressing Mistakes" section Ludovic Courtès
2021-05-27 19:19 ` Christopher Baines
2021-05-29 10:22 ` Ludovic Courtès
2021-05-30 10:29 ` Christopher Baines
2021-06-02 9:22 ` Ludovic Courtès [this message]
2021-06-08 14:02 ` [bug#48696] [PATCH 0/3] Documenting commit reverts and revocation Christopher Baines
2021-06-11 14:05 ` Ludovic Courtès
2021-06-13 10:15 ` [bug#48696] [PATCH v2 0/4] " Ludovic Courtès
2021-06-13 10:15 ` [bug#48696] [PATCH v2 1/4] doc: Structure the "Commit Access" section Ludovic Courtès
2021-06-13 11:50 ` Xinglu Chen
2021-06-13 11:56 ` Xinglu Chen
2021-06-13 10:15 ` [bug#48696] [PATCH v2 2/4] doc: Add "Addressing Issues" section Ludovic Courtès
2021-06-13 10:15 ` [bug#48696] [PATCH v2 3/4] doc: Explain more reasons for commit revocation Ludovic Courtès
2021-06-13 10:15 ` [bug#48696] [PATCH v2 4/4] doc: Clarify Git commit signing; fix typo Ludovic Courtès
2021-06-18 12:37 ` bug#48696: [PATCH 0/3] Documenting commit reverts and revocation Ludovic Courtès
2021-05-27 12:35 ` [bug#48696] [PATCH 3/3] doc: Explain more reasons for commit revocation Ludovic Courtès
2021-05-27 19:13 ` Maxime Devos
2021-05-27 20:07 ` Christopher Baines
2021-05-29 9:58 ` Ludovic Courtès
2021-05-29 11:28 ` Christopher Baines
2021-05-29 20:36 ` Ludovic Courtès
2021-05-27 13:55 ` [bug#48696] [PATCH 1/3] doc: Structure the "Commit Access" section Julien Lepiller
2021-05-29 9:30 ` Ludovic Courtès
2021-05-27 19:10 ` Maxime Devos
2021-05-27 14:16 ` [bug#48696] [PATCH 0/3] Documenting commit reverts and revocation Leo Famulari
2021-05-30 12:49 ` Tobias Geerinckx-Rice via Guix-patches via
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=87tumgwrhh.fsf_-_@gnu.org \
--to=ludo@gnu.org \
--cc=48696@debbugs.gnu.org \
--cc=mail@cbaines.net \
/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.