Message ID | pull.975.v2.git.1623246878.gitgitgadget@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Use singular "they" when appropriate | expand |
On Wed, Jun 09 2021, Derrick Stolee via GitGitGadget wrote: > Updates in v2 > ============= > > * Some edits were removed because they were in contrib/ or > Documentation/howto/ and these are now listed as exclusions in the > message of Patch 4. Thanks. > * Several recommendations to improve the edits in the documentation and > code comments were incorporated. Those who recommended these edits are > credited with "Helped-by" tags. I think a v2 is a bit premature with all the active discussion on the v1 thread, a lot of which isn't addressed by the v2 or this CL, e.g. many point I[1] and others raised. My main objection of extending this to commit messages and thus making e.g. non-native speakers be on their toes when contributing to the project is gone, so that's good. I'm still not in favor of this change because I think an active recommendation like "Refer to an anonymous user in a gender neutral way" probably isn't needed if we simply document that our preferred prose is to avoid the issue entirely, which is the case in most of our documentation. The below for-show patch[2] shows an alternate approach that I think is a better direction than this series. It shows how some of the s/he|she/they/g search-replacements you did could IMO be better if we simply reduced the amount of prose, e.g. in strbuf.h changing: passes a context pointer, which can be used by the programmer of the callback as she sees fit. To: passes a `void *context` to the callback `fn` Is a better change than a mere s/she/they/g. Nobody needs all this verbosity to understand the common pattern of passing a user-controlled 'void *` to a callback. It's implicitly understood by the technical level of the reader this documentation is targeted at. So much of this just seems premature, e.g. your change to git-push.txt of s/her/they/. If we look more carefully at that we can see that the "her" was added in 28f5d17611 (remote.c: add command line option parser for "--force-with-lease", 2013-07-08), and then since fddfaf8a22 (git-push.txt: clean up force-with-lease wording, 2015-03-26) the paragraph right after that discusses "other people", instead of continuing with the example already provided. Having it be s/her/they/ -> other people isn't much of an overall improvement, and just seems like blind search-replacement. Perhaps my WIP rewrite isn't much better, but it at least tries to make forward progress on not having two paragraphs that read like different semi-related pages in a book. There's a reason your patch series isn't bigger than it is, this sort of prose is the rare exception in our documentation, and for reasons that trump any perceived sensitivity to specific pronouns from some people: It's overly verbose. 1. https://lore.kernel.org/git/875yyp4fun.fsf@evledraar.gmail.com/ 2. diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index e3af089ecf..204935186e 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -551,6 +551,31 @@ Writing Documentation: documentation, please see the documentation-related advice in the Documentation/SubmittingPatches file). + Prefer succinctness and matter-of-factly describing functionality in + the abstract. E.g.: + + --short:: Emit output in the short-format. + + Not 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... + + 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. + + 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. + Every user-visible change should be reflected in the documentation. The same general rule as for code applies -- imitate the existing conventions. diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index a953c7c387..47d0cdf7cc 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -240,17 +240,17 @@ already exists on the remote side. This option overrides this restriction if the current value of the remote ref is the expected value. "git push" fails otherwise. + +When collaborating with others this is safer than using the `--force` option. Imagine that you have to rebase what you have already published. -You will have to bypass the "must fast-forward" rule in order to -replace the history you originally published with the rebased history. -If somebody else built on top of your original history while you are -rebasing, the tip of the branch at the remote may advance with her -commit, and blindly pushing with `--force` will lose her work. -+ -This option allows you to say that you expect the history you are -updating is what you rebased and want to replace. If the remote ref -still points at the commit you specified, you can be sure that no -other people did anything to the ref. It is like taking a "lease" on +By using `--force` you might inadvertently clobber commits that +someone else pushed on top of branch. ++ + +Unlike `--force`, `--force-with-lease` will transmit the expected +object ID to the remote server (similar to linkgit:git-update-ref[1]'s +`<oldvalue>`, and thus provides a safeguard against inadvertently +clobbering remote refs which have changed since you retrieved them +with `git fetch`. Using this option has the effect of taking a "lease" on the ref without explicitly locking it, and the remote ref is updated only if the "lease" is still valid. + diff --git a/config.h b/config.h index 9038538ffd..a2200f3111 100644 --- a/config.h +++ b/config.h @@ -450,8 +450,8 @@ void git_configset_init(struct config_set *cs); /** * Parses the file and adds the variable-value pairs to the `config_set`, * dies if there is an error in parsing the file. Returns 0 on success, or - * -1 if the file does not exist or is inaccessible. The user has to decide - * if he wants to free the incomplete configset or continue using it when + * -1 if the file does not exist or is inaccessible. The caller decides + * whether to free the incomplete configset or continue using it when * the function returns -1. */ int git_configset_add_file(struct config_set *cs, const char *filename); diff --git a/strbuf.h b/strbuf.h index 223ee2094a..c7c67cfe14 100644 --- a/strbuf.h +++ b/strbuf.h @@ -337,8 +337,8 @@ const char *strbuf_join_argv(struct strbuf *buf, int argc, * placeholder is unknown, then the percent sign is copied, too. * * In order to facilitate caching and to make it possible to give - * parameters to the callback, `strbuf_expand()` passes a context pointer, - * which can be used by the programmer of the callback as she sees fit. + * parameters to the callback, `strbuf_expand()` passes a + * `void *context` to the callback `fn` */ typedef size_t (*expand_fn_t) (struct strbuf *sb, const char *placeholder,
Ævar Arnfjörð Bjarmason wrote: > The below for-show patch[2] shows an alternate approach that I think is > a better direction than this series. > > It shows how some of the s/he|she/they/g search-replacements you did > could IMO be better if we simply reduced the amount of prose, e.g. in > strbuf.h changing: > > passes a context pointer, which can be used by the programmer of the > callback as she sees fit. > > To: > > passes a `void *context` to the callback `fn` > > Is a better change than a mere s/she/they/g. Nobody needs all this > verbosity to understand the common pattern of passing a user-controlled > 'void *` to a callback. It's implicitly understood by the technical > level of the reader this documentation is targeted at. !00% agreed. > --- a/Documentation/CodingGuidelines > +++ b/Documentation/CodingGuidelines > @@ -551,6 +551,31 @@ Writing Documentation: > documentation, please see the documentation-related advice in the > Documentation/SubmittingPatches file). > > + Prefer succinctness and matter-of-factly describing functionality in > + the abstract. E.g.: > + > + --short:: Emit output in the short-format. > + > + Not 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... I'm a big fan of this succinct approach. > --- a/Documentation/git-push.txt > +++ b/Documentation/git-push.txt > @@ -240,17 +240,17 @@ already exists on the remote side. > This option overrides this restriction if the current value of the > remote ref is the expected value. "git push" fails otherwise. > + > +When collaborating with others this is safer than using the `--force` option. > Imagine that you have to rebase what you have already published. > -You will have to bypass the "must fast-forward" rule in order to > -replace the history you originally published with the rebased history. > -If somebody else built on top of your original history while you are > -rebasing, the tip of the branch at the remote may advance with her > -commit, and blindly pushing with `--force` will lose her work. > -+ > -This option allows you to say that you expect the history you are > -updating is what you rebased and want to replace. If the remote ref > -still points at the commit you specified, you can be sure that no > -other people did anything to the ref. It is like taking a "lease" on > +By using `--force` you might inadvertently clobber commits that > +someone else pushed on top of branch. * the branch? > ++ > + > +Unlike `--force`, `--force-with-lease` will transmit the expected > +object ID to the remote server (similar to linkgit:git-update-ref[1]'s > +`<oldvalue>`, and thus provides a safeguard against inadvertently > +clobbering remote refs which have changed since you retrieved them > +with `git fetch`. Using this option has the effect of taking a "lease" on Clearer and more useful. I didn't even notice where the gender of the reader was replaced, or where it supposedly came from. Instead we focus on what's important: instructing the user. > the ref without explicitly locking it, and the remote ref is updated > only if the "lease" is still valid. > + > diff --git a/config.h b/config.h > index 9038538ffd..a2200f3111 100644 > --- a/config.h > +++ b/config.h > @@ -450,8 +450,8 @@ void git_configset_init(struct config_set *cs); > /** > * Parses the file and adds the variable-value pairs to the `config_set`, > * dies if there is an error in parsing the file. Returns 0 on success, or > - * -1 if the file does not exist or is inaccessible. The user has to decide > - * if he wants to free the incomplete configset or continue using it when > + * -1 if the file does not exist or is inaccessible. The caller decides > + * whether to free the incomplete configset or continue using it when Gramatically correct and clear. This is a good change. > * the function returns -1. > */ > int git_configset_add_file(struct config_set *cs, const char *filename); > diff --git a/strbuf.h b/strbuf.h > index 223ee2094a..c7c67cfe14 100644 > --- a/strbuf.h > +++ b/strbuf.h > @@ -337,8 +337,8 @@ const char *strbuf_join_argv(struct strbuf *buf, int argc, > * placeholder is unknown, then the percent sign is copied, too. > * > * In order to facilitate caching and to make it possible to give > - * parameters to the callback, `strbuf_expand()` passes a context pointer, > - * which can be used by the programmer of the callback as she sees fit. > + * parameters to the callback, `strbuf_expand()` passes a > + * `void *context` to the callback `fn` Simple and to the point. +1 Cheers.
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > + 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. Because I still get a funny feeling whenever I see a singular they, which I was taught to be ungrammatical in my foreign language classes long time ago, I kind of like this approach better, if we can pull it off. I wonder if we can avoid third-person entirely, though.
Junio C Hamano <gitster@pobox.com> writes: > Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > >> + 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. > > Because I still get a funny feeling whenever I see a singular they, > which I was taught to be ungrammatical in my foreign language > classes long time ago, I kind of like this approach better, if we > can pull it off. > > I wonder if we can avoid third-person entirely, though. Git is primarily a communication medium used among developers, and when one side is referred to as "you", the other side needs some pronoun to explain inter-developer interactions. We could say "you as the integrator would have to ask my sign-off from me as a contributor" to avoid third-person, but I suspect that this quickly becomes just as awkward as using singular they. I wonder if this makes it more workable: When it becomes awkward to stick to this style prefer "you" when addressing the the hypothetical user, and "they" in plural when you need to talk about a third-party that interacts with "you", and possibly "we" when discussing how the program might react to the user. That way, we'd say "You'd ask their sign-off from contributors". I'd stop here and continue watching from sidelines. I think the topic tries to solve an issue worth solving, but I suspect that a solution that requires singular they would not work as well as a solution that doesn't would, especially for non native speakers like me.
Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > > > + 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. > > Because I still get a funny feeling whenever I see a singular they, > which I was taught to be ungrammatical in my foreign language > classes long time ago, I kind of like this approach better, if we > can pull it off. Once again; we non-native English speakers shouldn't forgo our instincts. Even professional English linguists agree this isn't OK: We thank the anonymous reviewer for their helpful comments https://ahdictionary.tumblr.com/post/147597257733/updated-usage-note-they
On 2021-06-09 at 15:44:59, Ævar Arnfjörð Bjarmason wrote: > > On Wed, Jun 09 2021, Derrick Stolee via GitGitGadget wrote: > > > Updates in v2 > > ============= > > > > * Some edits were removed because they were in contrib/ or > > Documentation/howto/ and these are now listed as exclusions in the > > message of Patch 4. > > Thanks. > > > * Several recommendations to improve the edits in the documentation and > > code comments were incorporated. Those who recommended these edits are > > credited with "Helped-by" tags. > > I think a v2 is a bit premature with all the active discussion on the v1 > thread, a lot of which isn't addressed by the v2 or this CL, e.g. many > point I[1] and others raised. > > My main objection of extending this to commit messages and thus making > e.g. non-native speakers be on their toes when contributing to the > project is gone, so that's good. > > I'm still not in favor of this change because I think an active > recommendation like "Refer to an anonymous user in a gender neutral way" > probably isn't needed if we simply document that our preferred prose is > to avoid the issue entirely, which is the case in most of our > documentation. I agree that in many cases in technical writing that the passive voice (or another technique) may be preferable. For example, this selection about O_TRUNC from open(2): If the file already exists and is a regular file and the access mode allows writing (i.e., is O_RDWR or O_WRONLY) it will be truncated to length 0. If the file is a FIFO or terminal device file, the O_TRUNC flag is ignored. Otherwise, the effect of O_TRUNC is unspecified. Who is truncating it? Who is ignoring it? Who is not specifying it? In all three cases, the specific actor is unimportant or irrelevant, and we're better off using the passive voice here than trying to enumerate the actor. > The below for-show patch[2] shows an alternate approach that I think is > a better direction than this series. > > It shows how some of the s/he|she/they/g search-replacements you did > could IMO be better if we simply reduced the amount of prose, e.g. in > strbuf.h changing: > > passes a context pointer, which can be used by the programmer of the > callback as she sees fit. > > To: > > passes a `void *context` to the callback `fn` In many cases, saying less is better, I agree. If we don't need to refer to a human being, then we don't need to consider any pronouns for that human being. If we communicate things more simply with fewer words, then that's clearly better overall for everyone involved. Nobody's reading documentation for pleasure, after all. I do think that the recommendation that we refer to an anonymous user in a gender-neutral way still stands, though. Sometimes we will need to refer to the user or another human actor and that will be the most natural way to express the idea, so we should use gender-neutral language to do so. So roughly here, I'm in favor of both approaches.
On Thu, Jun 10 2021, brian m. carlson wrote: > [[PGP Signed Part:Undecided]] > On 2021-06-09 at 15:44:59, Ævar Arnfjörð Bjarmason wrote: >> >> On Wed, Jun 09 2021, Derrick Stolee via GitGitGadget wrote: >> >> > Updates in v2 >> > ============= >> > >> > * Some edits were removed because they were in contrib/ or >> > Documentation/howto/ and these are now listed as exclusions in the >> > message of Patch 4. >> >> Thanks. >> >> > * Several recommendations to improve the edits in the documentation and >> > code comments were incorporated. Those who recommended these edits are >> > credited with "Helped-by" tags. >> >> I think a v2 is a bit premature with all the active discussion on the v1 >> thread, a lot of which isn't addressed by the v2 or this CL, e.g. many >> point I[1] and others raised. >> >> My main objection of extending this to commit messages and thus making >> e.g. non-native speakers be on their toes when contributing to the >> project is gone, so that's good. >> >> I'm still not in favor of this change because I think an active >> recommendation like "Refer to an anonymous user in a gender neutral way" >> probably isn't needed if we simply document that our preferred prose is >> to avoid the issue entirely, which is the case in most of our >> documentation. > > I agree that in many cases in technical writing that the passive voice > (or another technique) may be preferable. For example, this selection > about O_TRUNC from open(2): > > If the file already exists and is a regular file and the access mode > allows writing (i.e., is O_RDWR or O_WRONLY) it will be truncated to > length 0. If the file is a FIFO or terminal device file, the O_TRUNC > flag is ignored. Otherwise, the effect of O_TRUNC is unspecified. > > Who is truncating it? Who is ignoring it? Who is not specifying it? > In all three cases, the specific actor is unimportant or irrelevant, and > we're better off using the passive voice here than trying to enumerate > the actor. Exactly. The preferred prose in Git's documentation in this regard should be the same matter of fact prose found in C library, binutils etc. documentation. >> The below for-show patch[2] shows an alternate approach that I think is >> a better direction than this series. >> >> It shows how some of the s/he|she/they/g search-replacements you did >> could IMO be better if we simply reduced the amount of prose, e.g. in >> strbuf.h changing: >> >> passes a context pointer, which can be used by the programmer of the >> callback as she sees fit. >> >> To: >> >> passes a `void *context` to the callback `fn` > > In many cases, saying less is better, I agree. If we don't need to > refer to a human being, then we don't need to consider any pronouns for > that human being. If we communicate things more simply with fewer > words, then that's clearly better overall for everyone involved. > Nobody's reading documentation for pleasure, after all. > > I do think that the recommendation that we refer to an anonymous user in > a gender-neutral way still stands, though. Sometimes we will need to > refer to the user or another human actor and that will be the most > natural way to express the idea, so we should use gender-neutral > language to do so. > > So roughly here, I'm in favor of both approaches. When do we need or even prefer to refer to a user like that? I haven't seen an example in our documentation that's actually better off because we're talking about things as if two "people" we need to invent pronouns for are interacting. Can anyone name one that'll stand up under scrutiny, i.e. once we can look at it and see if we couldn't phrase it better by avoiding the issue this series tries to address with a regex search-replacement? The diffstat of this series is only: 12 files changed, 22 insertions(+), 15 deletions(-) I've looked at all of them and I can't see one that wouldn't be better if the relevant text was changed similarly to what I've suggested upthread. That's why I don't think this proposal is useful. If we accept this series we're going to be left with an active recommendation for a pattern that's already almost nonexistent in our documentation. Perhaps that's because we're doing it 98% right already and aren't using "he" or "she" but "they" or "their". The multiple ways you can use "they" or "their" in the English language makes that hard to grep for. A lot of our "they"'s are referring e.g. to a command-line option, or "their" referring to "their arguments", as in the argv vector of a program. The skepticism about this being needed at all isn't an opinion I hold about software documentation in general, but about software in Git's problem space specifically. Git isn't something like software to track medical records or tax filings where we can make a hard assumption that the software is dealing with data from people, and thus the software's documentation might regularly expect to need to discuss such an invented cast of characters. We just have: * You: The "user" of the software. Maybe a human being, but that's usually no more assumed than the "user" of chmod(2) being a human being. * Other users, not people, but users in the UID/GID sense of the word. Describing system-local interactions that are really two operating system users interacting in terms of assuming that they map onto two people just adds confusion. Note how e.g. chmod(2) and other such documentation rightly avoids bringing people into the matter. At most it refers to "owner" or "another user" etc. * "Other users" on the network, e.g. you make a change, it conflicts with upstream. I think in all these cases saying something like: You can add data and commit it, then push it. Once you push it you might find another person has made changes on the same branch, he/she/it/they changed the same file as you, now you've got a conflict... Is worse than: When push your branch you might get a conflict with the remote's upstream branch, if merging it results in a conflict then... In such scenarios we're talking about e.g. our local state interacting with remote network state, those are ultimately commits or other data we have to deal with in some way. It's almost never important whether that data was made by a human or some automated system. Inventing a cast of characters just makes things more confusing. I think the nearest we come to rightly discussing actual people in the context of git's documentation is things like commit envelope data (names, E-Mail addresses). Even those don't cleanly map to human beings, so our documentation probably shouldn't be implying that in its prose.
Ævar Arnfjörð Bjarmason wrote: > That's why I don't think this proposal is useful. If we accept this > series we're going to be left with an active recommendation for a > pattern that's already almost nonexistent in our documentation. > > Perhaps that's because we're doing it 98% right already and aren't using > "he" or "she" but "they" or "their". The multiple ways you can use > "they" or "their" in the English language makes that hard to grep for. A > lot of our "they"'s are referring e.g. to a command-line option, or > "their" referring to "their arguments", as in the argv vector of a > program. > > The skepticism about this being needed at all isn't an opinion I hold > about software documentation in general, but about software in Git's > problem space specifically. Plus I find it odd that as soon as a progressive issue comes forward everyone suddenly flips the rules not only of proposed changes, but logic in general. The burden of proof should be on the side that is proposing the change to explain why it's better that the current situation, not to the opposing side to explain why it isn't. "I like X" is not an argument in favor of a proposed change, you need to explain why the current status quo is not OK. Every patch is subjected to this standard, why should this series be exempted? The side for the motion has not yet explained what's wrong with the current practice of avoiding pronouns altogether, or using "she" and "he" interchangeably. Even worse, they are assuming they already won the debate and are not even engaging with the opposing arguments. Ignoring arguments against your beliefs is not conducive to growth. Cheers.
On 6/10/2021 6:58 PM, Ævar Arnfjörð Bjarmason wrote: > > On Thu, Jun 10 2021, brian m. carlson wrote: > ... >> In many cases, saying less is better, I agree. If we don't need to >> refer to a human being, then we don't need to consider any pronouns for >> that human being. If we communicate things more simply with fewer >> words, then that's clearly better overall for everyone involved. >> Nobody's reading documentation for pleasure, after all. >> >> I do think that the recommendation that we refer to an anonymous user in >> a gender-neutral way still stands, though. Sometimes we will need to >> refer to the user or another human actor and that will be the most >> natural way to express the idea, so we should use gender-neutral >> language to do so. >> >> So roughly here, I'm in favor of both approaches. > > When do we need or even prefer to refer to a user like that? > > I haven't seen an example in our documentation that's actually better > off because we're talking about things as if two "people" we need to > invent pronouns for are interacting. > > Can anyone name one that'll stand up under scrutiny, i.e. once we can > look at it and see if we couldn't phrase it better by avoiding the issue > this series tries to address with a regex search-replacement? > > The diffstat of this series is only: > > 12 files changed, 22 insertions(+), 15 deletions(-) > > I've looked at all of them and I can't see one that wouldn't be better > if the relevant text was changed similarly to what I've suggested > upthread. > > That's why I don't think this proposal is useful. If we accept this > series we're going to be left with an active recommendation for a > pattern that's already almost nonexistent in our documentation. > > Perhaps that's because we're doing it 98% right already and aren't using > "he" or "she" but "they" or "their". The multiple ways you can use > "they" or "their" in the English language makes that hard to grep for. A > lot of our "they"'s are referring e.g. to a command-line option, or > "their" referring to "their arguments", as in the argv vector of a > program. Since the examples are already few in number, it is not an overwhelming amount of work to remove third-person singular pronouns from the necessary locations. Perhaps if there were more examples then such a conversion would be too difficult and we would want to use a more mechanical replacement with singular "they". My general approach (as specified in this v2) is: 1. Use singular "they" over "he" or "she" and other variants. 2. If you don't want to write "they", then avoid third-person singular pronouns. Your approach focuses only on item 2, giving this recommendation: * Avoid third-person singular pronouns. I think your change to CodingGuidelines is a bit verbose to get to that point, and makes it difficult to understand one goal is to avoid gendered pronouns, which I think reduces the chance that a new contributor would discover and understand that recommendation. A semantically similar addition would be: Avoid gendered pronouns such as "he/him" and "she/her". If necessary, alter your sentence structure to use singular "you" to refer to the reader or plural "they" to refer to multiple actors. > The skepticism about this being needed at all isn't an opinion I hold > about software documentation in general, but about software in Git's > problem space specifically. A change that says "don't use 'he' and/or 'she' unnecessarily" is important to encode as a project guideline so we can stop having discussions about their use whenever they are introduced in a patch. There is value in having this decision encoded, and the important thing from my standpoint is that we explicitly avoid gendered pronouns and can simply point contributors to that decision if we ever notice one being introduced. That reduces friction the same way that we decide where curly braces should be placed after an "if" statement. My preference continues to be singular "they" because it is an easy way to adapt natural sentence structures into an inclusive language. But if we decide that this grammar is too difficult for some readers to understand (due to English as a secondary language or other reasons to be more strict to older language patterns), then avoiding gendered pronouns entirely would satisfy my goals in this series. Thanks, -Stolee
Derrick Stolee wrote: > On 6/10/2021 6:58 PM, Ævar Arnfjörð Bjarmason wrote: > > The skepticism about this being needed at all isn't an opinion I hold > > about software documentation in general, but about software in Git's > > problem space specifically. > > A change that says "don't use 'he' and/or 'she' unnecessarily" is > important to encode as a project guideline so we can stop having > discussions about their use whenever they are introduced in a patch. That has historically never been a problem. And there's no need to make it a problem. > There is value in having this decision encoded, But such decision has not been made. And more importantly: there's absolutely no need to tie your correction patches to a change in the guideline.
On Fri, Jun 11 2021, Derrick Stolee wrote: > On 6/10/2021 6:58 PM, Ævar Arnfjörð Bjarmason wrote: >> >> On Thu, Jun 10 2021, brian m. carlson wrote: >> > ... >>> In many cases, saying less is better, I agree. If we don't need to >>> refer to a human being, then we don't need to consider any pronouns for >>> that human being. If we communicate things more simply with fewer >>> words, then that's clearly better overall for everyone involved. >>> Nobody's reading documentation for pleasure, after all. >>> >>> I do think that the recommendation that we refer to an anonymous user in >>> a gender-neutral way still stands, though. Sometimes we will need to >>> refer to the user or another human actor and that will be the most >>> natural way to express the idea, so we should use gender-neutral >>> language to do so. >>> >>> So roughly here, I'm in favor of both approaches. >> >> When do we need or even prefer to refer to a user like that? >> >> I haven't seen an example in our documentation that's actually better >> off because we're talking about things as if two "people" we need to >> invent pronouns for are interacting. >> >> Can anyone name one that'll stand up under scrutiny, i.e. once we can >> look at it and see if we couldn't phrase it better by avoiding the issue >> this series tries to address with a regex search-replacement? >> >> The diffstat of this series is only: >> >> 12 files changed, 22 insertions(+), 15 deletions(-) >> >> I've looked at all of them and I can't see one that wouldn't be better >> if the relevant text was changed similarly to what I've suggested >> upthread. >> >> That's why I don't think this proposal is useful. If we accept this >> series we're going to be left with an active recommendation for a >> pattern that's already almost nonexistent in our documentation. >> >> Perhaps that's because we're doing it 98% right already and aren't using >> "he" or "she" but "they" or "their". The multiple ways you can use >> "they" or "their" in the English language makes that hard to grep for. A >> lot of our "they"'s are referring e.g. to a command-line option, or >> "their" referring to "their arguments", as in the argv vector of a >> program. > > Since the examples are already few in number, it is not an > overwhelming amount of work to remove third-person singular pronouns > from the necessary locations. Perhaps if there were more examples > then such a conversion would be too difficult and we would want to > use a more mechanical replacement with singular "they". > > My general approach (as specified in this v2) is: > > 1. Use singular "they" over "he" or "she" and other variants. > 2. If you don't want to write "they", then avoid third-person > singular pronouns. > > Your approach focuses only on item 2, giving this recommendation: > > * Avoid third-person singular pronouns. > > I think your change to CodingGuidelines is a bit verbose to get to > that point, [...] It is, because I'm not trying to get to that point at all, and I haven't been convinced by your proposed series that we need to. I think it's implicitly covered more generally applicable advice. > and makes it difficult to understand one goal is to > avoid gendered pronouns, which I think reduces the chance that a > new contributor would discover and understand that recommendation. I think a new contributor is going to be confused by your proposed modification to the CodingGuidelines because it doesn't activtely tell you how to do things in the common case, but just that you should avoid this one obscure edge case. I'm not saying my hastily written alternative is perfect, but it is a start at providing some much more general advice that would also have the effect of bypassing the issue you're concerned about, would it not? > A semantically similar addition would be: > > Avoid gendered pronouns such as "he/him" and "she/her". If > necessary, alter your sentence structure to use singular "you" > to refer to the reader or plural "they" to refer to multiple > actors. Or, if we just fix these existing occurrences as a one-off there'll be no existing examples of it in-tree, and as people tend to imitate existing documentation they're unlikely to introduce new occurrences. Even before any discussion of an explicit recommendation the number of occurrences is tiny compared to the volume of documentation we have. If and when Felipe's <20210611202819.47077-1-felipe.contreras@gmail.com> is applied how small is the diff you'll still have rebased on top of that? There's a cost/benefit trade-off between noting something in CodingGuidelines, meaning that all contributors going forward will have to read it and understand it, and just fixing a rare issue as a one-off. I've provided examples of e.g. binutils, C library etc. documentation that covers similar problem spaces, I'm fairly sure most/all of that documentation was written in a way that satisfies your criteria without the need for any specific advice on this point. >> The skepticism about this being needed at all isn't an opinion I hold >> about software documentation in general, but about software in Git's >> problem space specifically. > > A change that says "don't use 'he' and/or 'she' unnecessarily" is > important to encode as a project guideline so we can stop having > discussions about their use whenever they are introduced in a patch. > There is value in having this decision encoded, and the important > thing from my standpoint is that we explicitly avoid gendered pronouns > and can simply point contributors to that decision if we ever notice > one being introduced. That reduces friction the same way that we > decide where curly braces should be placed after an "if" statement. I'd probably agree with you if this was anything as common in our documentation as missing {} if/else braces are in our code. Due to the relative rarity of the documentation issue you're fixing I can't think of a comparison other than: There's probably also plenty of generic issues in our code that if fixed, would result in a diffstat similar to your "12 files changed, 22 insertions(+), 15 deletions(-)". Assuming your series and Felipe's overlaps (I haven't tried rebasing it myself) a "9 files changed, 13 insertions(+), 14 deletions(-)" would be deducted from that. It doesn't follow that an issue of that rarity belongs in the CodingGuidelines. Maybe there are still convincing reasons to include them, I just don't think you've provided any. It seems to me that any future proposed addition of an elaborate example where we're gendering the command-line utility or the UID of some OS user can be changed in a way that satisfies your criteria because it's overly verbose and imprecise. > My preference continues to be singular "they" because it is an easy > way to adapt natural sentence structures into an inclusive language. > But if we decide that this grammar is too difficult for some readers > to understand (due to English as a secondary language or other > reasons to be more strict to older language patterns), then avoiding > gendered pronouns entirely would satisfy my goals in this series. Wouldn't it also satisfy your goals to re-roll on top of <20210611202819.47077-1-felipe.contreras@gmail.com> and more generally look at the leftover hunks as noted in my <87a6nz2fda.fsf@evledraar.gmail.com>?
Derrick Stolee <stolee@gmail.com> writes: > My general approach (as specified in this v2) is: > > 1. Use singular "they" over "he" or "she" and other variants. > 2. If you don't want to write "they", then avoid third-person > singular pronouns. > > Your approach focuses only on item 2, giving this recommendation: > > * Avoid third-person singular pronouns. > > I think your change to CodingGuidelines is a bit verbose to get to > that point, and makes it difficult to understand one goal is to > avoid gendered pronouns, which I think reduces the chance that a > new contributor would discover and understand that recommendation. Is it fair to say that a concise summary of this discussion so far is: - Avoiding gendered pronous is a good way to ensure inclusive documentation. - Our documentation does not have too many instances of "gendered pronouns" issue, and all of them can be corrected without resorting to singular "they" (to which those who learned in some parts of the world may not be ready yet), and it results in more concise and clearer description anyway. I tend to agree that Ævar's approach to guidelines is to cover more general readability tips, not necessarily focusing on avoidance of gendered pronouns, let alone encouraging of "singular they". I think that is overall a good approach to advance the "let's make sure the document is easier to read by everybody" goal than mechanical "he and she are bad, let's use they" does. One thing that the "let's use they" approach does better is that it brings the "gender neutral" concern upfront, exactly because "let's make sure the document is easier to read by everybody" is a superset and does not have to bother singling out the "gender" as an issue. It may be easier to move the discussion forward if we (half) separated the concerns. Because the "gender neutral" is so out of place relative to the existing guidelines that focus on ensuring consistency that appear in the "Writing Documentation" section, it is hard to make it into a single bullet item among many others. Perhaps we want to have a new paragraph between "mixes US and UK English" and "Every user-visible change" paragraphs. In order to ensure the documentation appears to be inclusive, avoid assuming that an unspecified "cast" who appears in description and examples is male or female, and think twice after writing "he", "him", "she", or "her". Here are some tips to avoid use of gendered pronouns: - Rethink if your example or description needs to talk about a human "cast" in the first place. Do you need to say "The programmer chooses between X and Y as she sees fit", or is it sufficient to say "Valid choices are X and Y" to make the resulting sentence more concise and clear? - If you need to talk about human "cast", think if the role the cast plays can be second person (e.g. "If you want X to happen, you'd pass option Y", instead of "If the user wants X to happen, she'd ..."), or can be more than one person (e.g. "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 talk about a human "cast" that is third-person singluar, you may resort to "singular they" (e.g. "A contributor asks their upstream to pull from them"). Note however that this sounds ungrammatical and unnatural to those who learned English as a second language in some parts of the world. If we were to go that route, I think the first two points (which I didn't give enough thought to be even called a "draft") should be replaced with something like what Ævar wrote in his write-up. Also, I do not mind losing "Note however" from the third point, but in the name of inclusive documentation, it may not be a bad idea to remind ourselves.
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > Or, if we just fix these existing occurrences as a one-off there'll be > no existing examples of it in-tree, and as people tend to imitate > existing documentation they're unlikely to introduce new > occurrences. I suspect that may be a bit too optimistic. It is too easy to discuss interaction among users and introduce pronouns to refer to them, and when it happens, it is far easier to have a document to point at and tell them why we want them to rephrase if not how exactly. For that reason, I'd prefer to have some word about the desire to make examples and explanations gender-neutral in the guidelines. The mechanics we recommend to achieve the goal does not have to be specified if we want brevity---that can be learned by imitating existing practices. > If and when Felipe's <20210611202819.47077-1-felipe.contreras@gmail.com> > is applied how small is the diff you'll still have rebased on top of > that? I just retried a "competing" merge that got ugly ;-) Between Derrick's two "singular they" patches (one for comments, the other for docs) and Felipe's two patches (the same split), they touch identical base text. Only the way they neuter the description is different, and to me the latter feels a bit more ESL friendly. So, the main things that are missing from Felipe's version that we may want to build on top before the whole discussion can be concluded are: - Derrick's "typofix" patch, but if I recall correctly it needed a fix-up in one of its hunks? - Guidelines; you had a more generic readability tips that would (incidentally) result in nudging the writers to be more gender neutral, which I think is going in the right direction, but I do prefer to see an explicit mention of gender-neutrality as one bullet item. Thanks.
On 6/15/2021 2:02 AM, Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > >> Or, if we just fix these existing occurrences as a one-off there'll be >> no existing examples of it in-tree, and as people tend to imitate >> existing documentation they're unlikely to introduce new >> occurrences. > > I suspect that may be a bit too optimistic. It is too easy to > discuss interaction among users and introduce pronouns to refer to > them, and when it happens, it is far easier to have a document to > point at and tell them why we want them to rephrase if not how > exactly. For that reason, I'd prefer to have some word about the > desire to make examples and explanations gender-neutral in the > guidelines. The mechanics we recommend to achieve the goal does not > have to be specified if we want brevity---that can be learned by > imitating existing practices. Thanks. This was the whole intention of this series: to land on a policy that improves our understanding of gendered pronouns and be able to point to it when the situation arises again, even if that is a rare occasion. While my initial recommendation wasn't accepted, I'm glad we are coming to an agreement. >> If and when Felipe's <20210611202819.47077-1-felipe.contreras@gmail.com> >> is applied how small is the diff you'll still have rebased on top of >> that? > > I just retried a "competing" merge that got ugly ;-) > > Between Derrick's two "singular they" patches (one for comments, the > other for docs) and Felipe's two patches (the same split), they > touch identical base text. Only the way they neuter the description > is different, and to me the latter feels a bit more ESL friendly. > > So, the main things that are missing from Felipe's version that we > may want to build on top before the whole discussion can be > concluded are: > > - Derrick's "typofix" patch, but if I recall correctly it needed a > fix-up in one of its hunks? > > - Guidelines; you had a more generic readability tips that would > (incidentally) result in nudging the writers to be more gender > neutral, which I think is going in the right direction, but I do > prefer to see an explicit mention of gender-neutrality as one > bullet item. I will send a v3 soon with Felipe's two patches, a fixed typo patch, and a new set of guidelines. Thanks, -Stolee
Derrick Stolee wrote: > On 6/15/2021 2:02 AM, Junio C Hamano wrote: > > I just retried a "competing" merge that got ugly ;-) > > > > Between Derrick's two "singular they" patches (one for comments, the > > other for docs) and Felipe's two patches (the same split), they > > touch identical base text. Only the way they neuter the description > > is different, and to me the latter feels a bit more ESL friendly. > > > > So, the main things that are missing from Felipe's version that we > > may want to build on top before the whole discussion can be > > concluded are: > > > > - Derrick's "typofix" patch, but if I recall correctly it needed a > > fix-up in one of its hunks? > > > > - Guidelines; you had a more generic readability tips that would > > (incidentally) result in nudging the writers to be more gender > > neutral, which I think is going in the right direction, but I do > > prefer to see an explicit mention of gender-neutrality as one > > bullet item. > > I will send a v3 soon with Felipe's two patches, a fixed typo patch, > and a new set of guidelines. I don't believe it's necessary to tie the guideline with the fixes. The guideline might be desirable without the fixes (depending what the guideline says), and the fixes can be applied without the guideline. In other words: they are orthogonal. Tying them together only ensures the fixes are going to be unnecessarily delayed until we find appropriate guideliens (if we ever do).