git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 4/4] CodingGuidelines: recommend singular they

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 16, 2021, 19:54 UTC
Message-ID
<87bl85y15s.fsf@evledraar.gmail.com>
In-Reply-To
<xmqqbl86qtyf.fsf@gitster.g>
On Wed, Jun 16 2021, Junio C Hamano wrote:
Show 88 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> FWIW, I am not happy with this version for that reason, either.
>>
>> I wonder if replacing the first two bullet points ("Removing" and
>> "If you need to talk about") above with what was added to the
>> CodingGuidelines by the "succinct matter-of-factly description" in
>>
>> https://lore.kernel.org/git/87a6nz2fda.fsf@evledraar.gmail.com/
>>
>> would be sufficient.
>
> So, here is what I plan to queue on top of these four patches to
> replace my "not even draft" garbage with what you wrote, with a bit
> of copyediting.
>
> Comments?
>
> diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
> index 605f924981..476b840d30 100644
> --- a/Documentation/CodingGuidelines
> +++ b/Documentation/CodingGuidelines
> @@ -546,28 +546,43 @@ Writing Documentation:
>   twice before using "he", "him", "she", or "her".  Here are some
>   tips to avoid use of gendered pronouns:
>  
> -  - Removing the example person might make the sentence more
> -    clear and efficient.  Instead of saying "The programmer
> -    chooses between X and Y as she sees fit", it is clearer to
> -    say "Valid choices are X and Y".
> -
> -  - If you need to talk about an example person, then try using
> -    second-person to allow the reader to be that example.  For
> -    example, "If you want X to happen, you'd pass option Y",
> -    instead of "If the user wants X to happen, she'd ...").
> -    Alternatively, replace the single example with more than one
> -    person and use plural "they", such as "Interested readers
> -    can read 'git log -p README' to learn the history in their
> -    ample spare time" instead of "an interested reader" learning
> -    in "his" spare time).
> -
> -  - If you absolutely need to refer to an example person that is
> -    third-person singluar, you may resort to "singular they" (e.g.
> -    "A contributor asks their upstream to pull from them").  Note
> -    that this sounds ungrammatical and unnatural to those who
> -    learned English as a second language in some parts of the
> -    world, so should be avoided unless the earlier techniques
> -    fail to improve the sentence.
> +  - Prefer succinctness and matter-of-factly describing functionality
> +    in the abstract.  E.g.
> +
> +     --short:: Emit output in the short-format.
> +
> +    and avoid something like these overly verbose alternatives:
> +
> +     --short:: Use this to emit output in the short-format.
> +     --short:: You can use this to get output in the short-format.
> +     --short:: A user who prefers shorter output could....
> +     --short:: Should a person and/or program want shorter output, he
> +               she/they/it can...
> +
> +    This practice often eliminates the need to involve human actors in
> +    your description, but it is a good practice regardless of the
> +    avoidance of gendered pronouns.
> +
> +  - When it becomes awkward to stick to this style, prefer "you" when
> +    addressing the the hypothetical user, and possibly "we" when
> +    discussing how the program might react to the user.  E.g.
> +
> +      You can use this option instead of --xyz, but we might remove
> +      support for it in future versions.
> +
> +    while keeping in mind that you can probably be less verbose, e.g.
> +
> +      Use this instead of --xyz. This option might be removed in future
> +      versions.
> +
> +  - If you still need to refer to an example person that is
> +    third-person singular, you may resort to "singular they" to avoid
> +    "he/she/him/her", e.g.
> +
> +      A contributor asks their upstream to pull from them.
> +
> +    Note that this sounds ungrammatical and unnatural to those who
> +    learned English as a second language in some parts of the world.
>  
>   Every user-visible change should be reflected in the documentation.
>   The same general rule as for code applies -- imitate the existing

That mostly-my-draft was hastily a written one-off, perhaps this is better and a more exhaustive discussion of common cases:

  - Discussing command-line options, and program functionality:
    Prefer succinctness and matter-of-factly describing functionality in
    the abstract.  E.g.
     --short:: Emit output in the short-format.
    Avoid more verbose constructions, such as:
     --short:: Use this to emit output in the short-format.
     --short:: You can use this to get output in the short-format.
     --short:: A user who prefers shorter output could....
     --short:: Should a person and/or program want shorter output, he
               she/they/it can...
  - Addressing the reader:
    Address the reader of the documentation directly with "you",
    e.g. "you can do xyz".
  - Discussing Git, "the command" etc.:
    Use "we" when discussing how the program might react to the user, or
    perhaps "git" or "the command", e.g.:
        we might store the data[...]
        git will emit[...]
        the command will[...]
  - Discussing other users:
    When referring to other users on the same system prefer talking
    about "a user" or "another user". There's usually no reason to
    invent a cast of characters with names, titles and hobbies.
    Your OS's users don't cleanly map onto any particular people, a user
    of git might be having a merge conflict with another person, or an
    automated commit from a cron daemon.
    We prefer the style typical of standard library adn system tooling
    documentation in this and most other cases, you can look at the
    documentation of chmod(2) and other commands, syscalls and libraries
    that deal with UIDs or GIDs for examples.
  - Discussing other systems:
    As with discussing other users, git might interact with other
    systems over the network. In these cases we also avoid a cast of
    characters, preferring to talk about concepts like "fetching data
    from a remote", having a conflict with "diverging histories" etc.

The references to "gendered prounouns" etc. are gone, perhaps there's a good reason to re-include them, but the point of "isn't that issue solved by recommending an orthagonal approach?" is one of the many things Stolee hasn't been addressing in the threads related to this series.

To me that whole approach is somewhere between a solution in search of a problem and a "let's fix it and move on". Not something we need explicitly carry in our CodingGuidelines forever.

The v1 of this series started with decreeing that nobody should be using gendered language in commit messages. It seems that the discussion I started that perhaps that was overly pedantic and unfriendly to people struggling with English won out, so that's gone in recent revisions.

That's left only a handful of examples \b(?:she|he)\b in our docs, we have outstanding patches to fix those, and draft guidelines (amended above) to thoroughly lead documentation writers in other directions.

It just seems superfluous to me to insist on enumerating increasingly obscure and disfavored alternatives to what we suggest as preferred prose in our documentation. For example, we have around the same order of magnitude of "one might" in Documentation/, I think we should probably just fix that and move on, not forever have a guideline against overly formal or "Shakespearean language" in the guidelines.

Previous: Derrick StoleeNext: Felipe Contreras
Message 101 of 124 in “Use singular "they" when appropriate”
  1. 0/4 Use singular "they" when appropriateDerrick Stolee via GitGitGadget, Jun 7, 2021
  2. 2/4 *: use singular they in commentsDerrick Stolee via GitGitGadget, Jun 7, 2021
  3. Ævar Arnfjörð BjarmasonJun 7, 2021
  4. Derrick StoleeJun 7, 2021
  5. Johannes SchindelinJun 10, 2021
  6. Junio C HamanoJun 7, 2021
  7. Felipe ContrerasJun 7, 2021
  8. Emily ShafferJun 8, 2021
  9. 1/4 Documentation: use singular they when appropriateDerrick Stolee via GitGitGadget, Jun 7, 2021
  10. Ævar Arnfjörð BjarmasonJun 7, 2021
  11. Derrick StoleeJun 7, 2021
  12. Andrei RybakJun 7, 2021
  13. Ævar Arnfjörð BjarmasonJun 7, 2021
  14. Johannes SchindelinJun 10, 2021
  15. Felipe ContrerasJun 10, 2021
  16. Felipe ContrerasJun 7, 2021
  17. Phillip SusiJun 9, 2021
  18. Felipe ContrerasJun 9, 2021
  19. Phillip SusiJun 11, 2021
  20. Felipe ContrerasJun 11, 2021
  21. Derrick StoleeJun 10, 2021
  22. Junio C HamanoJun 11, 2021
  23. Felipe ContrerasJun 11, 2021
  24. Phillip SusiJun 12, 2021
  25. Junio C HamanoJun 8, 2021
  26. Kerry, RichardJun 8, 2021
  27. Junio C HamanoJun 8, 2021
  28. Derrick StoleeJun 9, 2021
  29. Junio C HamanoJun 10, 2021
  30. Emily ShafferJun 8, 2021
  31. Felipe ContrerasJun 8, 2021
  32. Kerry, RichardJun 9, 2021
  33. Felipe ContrerasJun 9, 2021
  34. Kerry, RichardJun 25, 2021
  35. Junio C HamanoJun 9, 2021
  36. Johannes SchindelinJun 10, 2021
  37. Felipe ContrerasJun 10, 2021
  38. Robert KarszniewiczJun 14, 2021
  39. 4/4 CodingGuidelines: recommend singular theyDerrick Stolee via GitGitGadget, Jun 7, 2021
  40. Junio C HamanoJun 7, 2021
  41. Derrick StoleeJun 7, 2021
  42. Junio C HamanoJun 8, 2021
  43. brian m. carlsonJun 10, 2021
  44. Johannes SchindelinJun 10, 2021
  45. Ævar Arnfjörð BjarmasonJun 7, 2021
  46. Felipe ContrerasJun 8, 2021
  47. Felipe ContrerasJun 7, 2021
  48. Phillip SusiJun 9, 2021
  49. Felipe ContrerasJun 9, 2021
  50. Robert KarszniewiczJun 7, 2021
  51. Felipe ContrerasJun 7, 2021
  52. Jeff KingJun 8, 2021
  53. Felipe ContrerasJun 8, 2021
  54. Derrick StoleeJun 9, 2021
  55. Felipe ContrerasJun 9, 2021
  56. brian m. carlsonJun 10, 2021
  57. Felipe ContrerasJun 11, 2021
  58. Emily ShafferJun 8, 2021
  59. Junio C HamanoJun 9, 2021
  60. Derrick StoleeJun 9, 2021
  61. 3/4 *: fix typosDerrick Stolee via GitGitGadget, Jun 7, 2021
  62. Emily ShafferJun 8, 2021
  63. Johannes SchindelinJun 10, 2021
  64. Derrick StoleeJun 10, 2021
  65. Johannes SchindelinJun 11, 2021
  66. Felipe ContrerasJun 7, 2021
  67. 0/4 Use singular "they" when appropriateDerrick Stolee via GitGitGadget, Jun 9, 2021
  68. 4/4 CodingGuidelines: recommend singular theyDerrick Stolee via GitGitGadget, Jun 9, 2021
  69. Felipe ContrerasJun 9, 2021
  70. 3/4 *: fix typosDerrick Stolee via GitGitGadget, Jun 9, 2021
  71. 2/4 *: use singular they in commentsDerrick Stolee via GitGitGadget, Jun 9, 2021
  72. Felipe ContrerasJun 9, 2021
  73. 1/4 Documentation: use singular they when appropriateDerrick Stolee via GitGitGadget, Jun 9, 2021
  74. Felipe ContrerasJun 9, 2021
  75. Ævar Arnfjörð BjarmasonJun 9, 2021
  76. Felipe ContrerasJun 9, 2021
  77. Junio C HamanoJun 10, 2021
  78. Junio C HamanoJun 10, 2021
  79. Felipe ContrerasJun 10, 2021
  80. brian m. carlsonJun 10, 2021
  81. Ævar Arnfjörð BjarmasonJun 10, 2021
  82. Felipe ContrerasJun 11, 2021
  83. Derrick StoleeJun 11, 2021
  84. Felipe ContrerasJun 11, 2021
  85. Ævar Arnfjörð BjarmasonJun 13, 2021
  86. Junio C HamanoJun 15, 2021
  87. Derrick StoleeJun 15, 2021
  88. Felipe ContrerasJun 15, 2021
  89. Junio C HamanoJun 14, 2021
  90. 0/4 Avoid gendered pronounsDerrick Stolee via GitGitGadget, Jun 15, 2021
  91. 2/4 comments: avoid using the gender of our usersFelipe Contreras via GitGitGadget, Jun 15, 2021
  92. 1/4 doc: avoid using the gender of other peopleFelipe Contreras via GitGitGadget, Jun 15, 2021
  93. 3/4 *: fix typosDerrick Stolee via GitGitGadget, Jun 15, 2021
  94. 4/4 CodingGuidelines: recommend singular theyDerrick Stolee via GitGitGadget, Jun 15, 2021
  95. Ævar Arnfjörð BjarmasonJun 15, 2021
  96. Felipe ContrerasJun 15, 2021
  97. Junio C HamanoJun 16, 2021
  98. Junio C HamanoJun 16, 2021
  99. Bagas SanjayaJun 16, 2021
  100. Derrick StoleeJun 16, 2021
  101. Ævar Arnfjörð BjarmasonJun 16, 2021
  102. Felipe ContrerasJun 16, 2021
  103. Junio C HamanoJun 17, 2021
  104. Derrick StoleeJun 17, 2021
  105. Felipe ContrerasJun 17, 2021
  106. Ævar Arnfjörð BjarmasonJun 17, 2021
  107. Felipe ContrerasJun 17, 2021
  108. brian m. carlsonJun 18, 2021
  109. Felipe ContrerasJun 18, 2021
  110. Felipe ContrerasJun 17, 2021
  111. Ævar Arnfjörð BjarmasonJun 17, 2021
  112. brian m. carlsonJun 18, 2021
  113. Ævar Arnfjörð BjarmasonJun 18, 2021
  114. Felipe ContrerasJun 18, 2021
  115. Junio C HamanoJun 19, 2021
  116. Junio C HamanoJun 28, 2021
  117. Felipe ContrerasJun 29, 2021
  118. Derrick StoleeJun 29, 2021
  119. Ævar Arnfjörð BjarmasonJun 29, 2021
  120. Felipe ContrerasJun 17, 2021
  121. Felipe ContrerasJun 17, 2021
  122. Felipe ContrerasJun 15, 2021
  123. Bagas SanjayaJun 12, 2021
  124. Phillip SusiJun 12, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.