Subject: Re: [PATCH v3] doc: describe the project's decision-making process

From: Junio C Hamano <[email-masked]>
Date: Fri, 17 May 2024 09:40:02 -0700

Patrick Steinhardt <[email-masked]> writes:

>> +This document describes the current decision-making process in the Git
>> +project. It is a descriptive rather than prescriptive doc; that is, we want to
>> +describe how things work in practice rather than explicitly recommending any
>> +particular process or changes to the current process.
>
> Nit: I think we _do_ want to recommend a process, but don't want to cast
> it into stone.

Yup.  How would we rephase it?  "... rather than recommending an
idealized process that we wish to use (but do not)?"

>> +When consensus is reached that it is a good idea, the original
>> +proposer is expected to coordinate the effort to make it happen,
>> +with help from others who were involved in the discussion, as
>> +needed.
>
> One thing I want to eventually propose is to go further here:
> documenting the outcome of the discussion, regardless of whether we
> decided for or against it, in a low-overhead format. This could for
> example be a small paragraph in a "Documentation/Projects" file that
> points to the on-list discussion together with a small summary of why
> the decision was reached.

Having such a list certainly is handy; the problem is how to keep
them current, though.

> I don't think that this change needs to be part of your patch though, as
> your intent is only to document processes as they work right now. But I
> wanted to bring this up regardless as a foreshadowing.

Yup, I agree that it is probably better left out of the scope for
now.

If we are in the "expressing wish" mode, another thing we might find
it useful, if such a thing existed, is a list of principles for
designing new things.  E.g., not changing an established behaviour
to prioritize protecting existing users' muscle memory over whims of
the day by folks who haven't had enough time to familialize with it.
E.g., the plumbing output is sacred but the Porcelain output is
subject to change to improve human-user experience with coloring
and pagination, etc.