Subject: Re: What's cooking in git.git (Jul 2019, #06; Thu, 25)

From: Taylor Blau <[email-masked]>
Date: Thu, 8 Aug 2019 22:07:32 -0400

Hi Ariadne,

Thank you for replying. I'm replying myself to the quoted hunks below,
and I very much appreciate your input. I would like to note that I
myself did not come up with these concerns alone, they were merely
suggested to me by a coworker, and I found them concerning.

I am not myself transgender, instead I am simply raising an issue that I
found myself concerning.

On Thu, Aug 08, 2019 at 09:34:15PM -0400, Ariadne Conill wrote:
> Hello,
>
> On August 8, 2019 8:13:15 PM EDT, Taylor Blau <[email-masked]> wrote:
> >Hi Junio,
> >
> >On Thu, Jul 25, 2019 at 05:19:23PM -0700, Junio C Hamano wrote:
> >> Here are the topics that have been cooking.  Commits prefixed with
> >> '-' are only in 'pu' (proposed updates) while commits prefixed with
> >> '+' are in 'next'.  The ones marked with '.' do not appear in any of
> >> the integration branches, but I am still holding onto them.
> >>
> >> The seventh batch is in; I've merged fix-up topics that has been in
> >> 'master' for some time (i.e. up to the third batch of this cycle)
> >> down to 'maint'.
> >>
> >> You can find the changes described here in the integration branches
> >> of the repositories listed at
> >>
> >>     http://git-blame.blogspot.com/p/git-public-repositories.html
> >>
> >> --------------------------------------------------
> >> [Graduated to "master"]
> >>
> >> *snip*
> >>
> >> * ac/log-use-mailmap-by-default-transition (2019-07-15) 3 commits
> >>   (merged to 'next' on 2019-07-19 at e5669de950)
> >>  + tests: defang pager tests by explicitly disabling the log.mailmap
> >warning
> >>  + documentation: mention --no-use-mailmap and log.mailmap false
> >setting
> >>  + log: add warning for unspecified log.mailmap setting
> >>
> >>  The "git log" command learns to issue a warning when log.mailmap
> >>  configuration is not set and --[no-]mailmap option is not used, to
> >>  prepare users for future versions of Git that uses the mailmap by
> >>  default.
> >
> >Sorry for jumping into this discussion quite late. I was discussing
> >this
> >change with a colleague of mine who pointed out an issue with the
> >eventual new defaults. I'd like to re-raise the issues they shared with
> >me on the list for discussion, and if agreement is reached, I will send
> >a series that reverts these changes.
> >
> >If a transgender person uses '.mailmap' to rewrite their deadname to
> >their legal name (as was the original motivation in [1]), there are two
> >potential issues:
>
> What does myself being transgender have to do with anything?  Please
> explain.
>
> My motivation was to allow anyone to document their name change.
> People other than transgender individuals do change their names.

I think that the '.mailmap' is a good solution for other identity
changes, like when someone leaves a company, acquires an email address,
and wishes to take their contributions with them.

I don't think that being transgender changes one's usage of '.mailmap'.
I do, however, share the concern with my coworker that these patches are
being used to assist in deadname rewriting. It was my impression that
these patches are a response to the thread [1] that I linked in my last
email, and thus that eventually turning on '.mailmap'-rewriting by
default was the solution given to Phil Hord.

> Perhaps the fact that I am transgender means I am more attuned to the
> risks involved in using .mailmap in this way.

I'll certainly defer to your opinion on how this feature affects
transgender users over mine, and very much appreciate your perspective
and insight.

> >  - The '.mailmap' provides a list of transgender individuals, along
> >    with their deadname, which can be used to harass them.
>
> This is potentially a problem but it's not as bad as you depict.  A
> mailmap rule can match against e-mail only, which is precisely what I
> have done in my projects.

Ah, I may be severely mistaken -- my memory was that '.mailmap'
rewriting could be used to rewrite both name and email, not merely
email. I thought that records could take:

  A U Thor <[email-masked]> -> B C Xyzz <[email-masked]>

instead of canonicalizing by email alone. If this is the case, then I
completely agree and share the opinion that this is not as bad as I
originally depicted.

> And to be clear, anybody who is out there doxing transgender people
> are going to be using sources that are more reliable than a mailmap
> file.

Indeed. I think the '.mailmap' file doesn't contain much information if
it doesn't remap author names, and certainly individuals can choose not
to use it.

> >  - If they are not in control of the '.mailmap', and 'log.mailmap' is
> >    not specifiable (and instead defaults to 'true'), then a malicious
> >    maintainer or contributor can submit a change that rewrites their
> >    real name to their deadname, and harasses them further.
>
> The log.mailmap setting remains specifiable in these changes.  Sure, a
> maintainer can abuse mailmap, but they could already do so.  This
> commit changes absolutely nothing in that regard.

I think that I might be mistaken about the intentions of your patch
series. Do you hope to eventually remove 'log.mailmap', instead having
all clients automatically obey the '.mailmap'? If so, I think that this
does change the behavior, at least down the road. If a maintainer wishes
to abuse mailmap, today no one has to see it, because they have the
option to turn off mailmap rewriting. If this setting doesn't exist, it
gives more power to maintainers and contributors with write-level
access to force mailmap rewriting to take place.

> The commit does make `git shortlog` and `git log` consistent which is what most people expect.
>
> >This issue was not raised in the original discussion, but it's clear
> >that this has the potential be used for bad, not good.
>
> Every tool has the potential to be abused.  I would not have submitted
> this merge request if I thought that the benefits outweighed the
> trolling possibilities.

Yes, I agree that tools can be abused, and I do not question your
judgement in submitting this patch whatsoever. Again, I was merely
pointing out that there does seem to be a greater potential for this
tool to be misused, but only if I am understanding it correctly.

> >Given that the release is so close, I propose we revert this change
> >before v2.23.0 is tagged. After that, we ought to discuss ways for
> >folks
> >to change how their name is displayed in porcelain commands, and
> >thoroughly consider whether or not a new plan is exploitable.
> >
> >If you think this is a good course of action, I will send a series to
> >revert the changes that were queued here.
>
> I do not think this is a good course of action and I think your
> justification is extremely flimsy.
>
> While I would like to see the ability to commit a special commit that
> documents a name change, this does not change the fact that such
> commits will be mined in the same way.
>
> While I am glad that you are concerned about this from a trolling and
> harassment issue, I propose that you should allow individuals to make
> their own assessments on what they should do regarding documenting
> their changes using the mailmap file.

I'm happy to defer to the judgement of others, here; again I merely
wanted to raise a concern and share a proposed course of action in
response to it. If others do not buy into the justification, or if I
have misunderstood the feature, then we ought to let the release proceed
as normal.

> >Thanks,
> >Taylor
> >
> >[1]:
> >https://public-inbox.org/git/CABURp0poUjSBTTFUXP8dAmJ=37qvpe64=o+t_+mHOiK9Cv+=[email-masked]/
>
> Ariadne

Thanks,
Taylor