Git Mailing List Archive on lore.kernel.org
 help / color / Atom feed
* Rename offensive terminology (master)
@ 2020-05-04 17:20 Simon Pieters
  2020-05-04 17:43 ` Robert P. J. Day
                   ` (14 more replies)
  0 siblings, 15 replies; 152+ messages in thread
From: Simon Pieters @ 2020-05-04 17:20 UTC (permalink / raw)
  To: git

"master" is an offensive term, as it can be interpreted as being
slavery-origin terminology. See
https://en.wikipedia.org/wiki/Master/slave_(technology)#Terminology_concerns

The Python programming language, and various other projects, have
taken a stance and moved away from offensive terminology including
"master". See https://bugs.python.org/issue34605

When different projects using git decide to move away from "master" as
the name of their main branch, inconsistency ensues between projects.
See https://github.com/desktop/desktop/issues/6478 (and "Related
Issues and Projects").

To avoid offensive terminology and to avoid further inconsistency, I
think git should use a different branch name than "master" when
initiating a repo. I don't have a strong opinion, but I like "main"
since it shares the first two characters and it's shorter.

-- 
Simon Pieters
Bocoup https://bocoup.com/

^ permalink raw reply	[flat|nested] 152+ messages in thread
* Re:    Rename offensive terminology (master)
@ 2020-06-14 15:09 Michael Felt (aixtools)
  0 siblings, 0 replies; 152+ messages in thread
From: Michael Felt (aixtools) @ 2020-06-14 15:09 UTC (permalink / raw)
  To: Don Goodman-Wilson
  Cc: Sérgio Augusto Vianna, philipoakley, Johannes Schindelin,
	git, Michal Suchánek, newren, brian m. carlson,
	Simon Pieters, stolee

How does the saying go...

You can please some of the people all of the time,  ..., but you cannot please all of the people all of the time. 

I learned as a child that my choice of certain words was influenced by words used by people i trusted. Words that I clearly did not understand completely because when I (tried) to use them, with no negative intention, but saw the use of a word shocked the people who heard me. 

Does that mean I was a racist, or am a racist, because I used a word that others considered racist. Yes, I was naive. But I learned words can offend, regardless of intent. 

And I feel that is what is missing here. Using a term that someone else takes offense to does not mean any offense was ever intended. But I tire of hearing that I am responsible for knowing what offends “them”. And since I am one of the unlucky, not clearly belonging to a “minority “ of some kind, I may never complain. 

But I was well above 40, and learning from my own children,  before I learned to deal with all the persecution i had to live through in my early years. 

Racism is a powerful word, and it exists everywhere. Sometimes it is intentional - and we need to address that. But do not make the mistake that it is always intentional. 

A git “master” or “main” - who really cares. Do not seek offence where none is intended. You only make your own life miserable. 

Compare that with teasing (not as horrible as racism it seems). Just remember, teasing is always intentional, the object and objective of teasing is always clear. 

The intent of a word choice is not always how it is received. 

If “master” offends you, I feel for you. If “main” makes you happy, I am happy for you. 

I am saddened that people feel that “master” in git is an expression of racism. It is not. I am saddened that people feel it must be changed because someone takes offense. 

I also know my opinion does not matter. The fear of the many becomes the “ring that rules them all”. 



Sent from my iPhone

> On 14 Jun 2020, at 15:58, Don Goodman-Wilson <don@goodman-wilson.com> wrote:
> 
> 
>> MASTER IS NOT INHERENTLY RELATED TO MASTER-SLAVE RELATIONS.
> 
> 1) There is a great deal of evidence that that claim is simply not true.
> https://twitter.com/tobie/status/1270290278029631489
> https://twitter.com/jpaulreed/status/1272064807345115137
> 
> 2) It's beside the point. Many problematic words and phrases have
> perfectly benign origins, but take on new meanings in new contexts.
> 
> I personally reject the kind of moral relativism that is being
> espoused here. In fact, I believe that there is such a thing as
> justice, and that we each have a responsibility to seek it out and
> create it in every corner of our activities, big and small. You can
> abdicate that responsibility, I can't force anyone to do otherwise nor
> would I want to. But history judges harshly those who would throw
> others aside. Of course there are more people in the world than just
> Americans. But there are also Americans, and in particular Black
> Americans. Precisely because git is the tool of choice for open source
> and so much other development work, I believe we have a responsibility
> to build a tool that reflects the values of _all_ that we want to
> welcome into these communities. If you would rather exclude Black
> Americans or others descended from generations of colonial slavery,
> that's your choice, but you need to own the fact that it is an
> inherently racist choice.
> 
> Don Goodman-Wilson
> 
>> On Sun, Jun 14, 2020 at 2:20 PM Sérgio Augusto Vianna
>> <sergio.a.vianna@gmail.com> wrote:
>> There's nothing to be resolved because there is no problem. If someone
>> reads "master" and gets triggered because all they can think of is
>> racism, that person needs therapy.


^ permalink raw reply	[flat|nested] 152+ messages in thread
* Re: Rename offensive terminology (master)
@ 2020-06-15 21:05 frederik
  0 siblings, 0 replies; 152+ messages in thread
From: frederik @ 2020-06-15 21:05 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

It sounds like the proposed changes are not going to be very
disruptive. However, legitimizing the inherent offensiveness of terms
like "master" and "slave" seems short-sighted to me. Any time that one
person has to work for another, a relationship exists which could be
abused, and the words describing this relationship would gradually
become "emotionally loaded". However, computers are full of instances
where one component is doing work for another component. Consider the
fact that the word "server" comes from "servus", meaning "slave" in
Latin. While "master" comes from "magis" meaning "greater". Are we
going to be able to eliminate the situations where one part of a
software system is greater than another part, or accepts commands from
it?

Furthermore, as someone already pointed out, who on this list speaks
for former slaves? I think someone who spoke for former slaves in my
country is the Honorable Elijah Muhammad. His books are full of
references to his teacher "Master Fard Muhammad" who came to American
in 1930 with a message of freedom, justice and equality for the Black
people of America. He taught his followers to pray to a God who is
"Master of the Day of Judgment", and to accept a 7th century prophet
who is "slave and messenger of God". For us to take offense at these
terms could signify greater racial awareness, or it could betray our
ignorance of the leadership of people, like Elijah Muhammad, who have
been trying to change the system for longer than we have.

If Git developers are interested in helping disadvantaged members of
our society, then I would suggest applying my patch from two years
ago, which de-alphabetized git(1), making it readable for novices.



On Sun, Jun 14, 2020 at 09:06:18PM +0000, Junio C Hamano wrote:
>Konstantin Ryabitsev <konstantin@linuxfoundation.org> writes:
>
>> - having a branch named "master" is already not required, so any
>>   existing software that expects there to always be a "master" branch is
>>   already broken and wouldn't get any more broken by the move away
>>   towards more descriptive terminology
>
>The above is mostly true but not entirely, I have to remind you.
>
>There certainly is the concept of the primary branch in each
>repository.  With the current version of Git, it is hardcoded to be
>the 'master' branch, and we are going to make it configurable with a
>configuration variable [*1*].  There are a few examples that the
>primary branch is treated specially:
>
> - When merging into the primary branch, the auto-generated merge
>   message is different from a merge into any other branches.  This
>   was because most of the merges, especially in early days of Git,
>   were into the primary branch (there weren't many cross-branch
>   merges made) and we did not want to see repeated "Merge X into
>   'master'", "Merge Y into 'master'", etc.---we just say "Merge X",
>   "Merge Y", etc. when merging into the primary branch.
>
> - "gitk" gives preferencial treatment to 'master' when there are
>   too many references it has to choose which ones to make visible.
>
> - "git fast-export --anonymize" redacts the name of all the
>   branches, but the name of the 'master' branch is left intact in
>   its anonymized output (which is done in order to make the primary
>   line of work identifiable even in the redacted output stream).
>
>There may be others.  Software that assumes that 'master' is special
>is *not* broken as you stated (we will break them when we allow
>changing the default---that is the cost those of us who are working
>on the transition plan thought worth paying).  The concept of "there
>is one thing that is special among others" can serve useful purpose.
>
>It of course opens a different can of worms ;-) Even though we can
>please master-slave-haters by moving away from the particular word
>'master', those who cannot stand the very idea of one thing being
>special among others will not be satisfied (and we shouldn't even
>try to please them, IMO).
>
>
>
>[Footnote]
>
>*1* There is a related but separate concept of the "default name"
>for the primary branch in newly created repositories, which also is
>hardcoded to be 'master'.  We are going to make it configurable,
>too.  This controls the name used by "git init" (possibly we will
>also add a command line override "git init -b name" to countermand
>the configured default) and "git clone" (which tries to use the
>name of the branch pointed at by HEAD of the other side but has to
>fall back to something when it cannot figure it out).
>

^ permalink raw reply	[flat|nested] 152+ messages in thread
* Re: Rename offensive terminology (master)
@ 2020-06-16  0:16 Abram Wiebe
  2020-06-16  0:23 ` Jonathan Nieder
  0 siblings, 1 reply; 152+ messages in thread
From: Abram Wiebe @ 2020-06-16  0:16 UTC (permalink / raw)
  To: simon; +Cc: git

tl;dr It sounds like you mean well- but that has the potential to break a lot of things that expect the name master, so I’m not sure it’s a good plan.

I am against this as a default for technical reasons, and as an aside because as others have mentioned master is the in the context of a **Gold Master** meaning a product which is ready to ship. I’m sure your intent is well meaning but this does not appear to have the connotations you are ascribing to it.  Given that I am against it purely because I see it being confusing and a maintenance/backwards compatibility headache to change.

Someone said you can create whatever kind of _git init template_ you want and I think that is probably the best course of action who continue to take issue with what I think most consider pretty innocuous terminology.

----
Now for the technical problems that could arise from changing such a thing on a whim.

In software there is a concept of a known value which is expected to exist for min(lifetimeOfProduct,HEAD_DEATH_OF_UNIVERSE),
and no matter how much you want to get out from under it you always have unforeseen consequences.
It’s not quite as strong as a hardcoded constant, but it’s effectively a convention everyone follows kind of like a system’s environment variables.

In this case I can already see a few things that will go wrong:

1) Any utility that augments git and treats master as a special default branch (regardless of the note in the docs that there is nothing special about master except that it is created by default) is going to break or need to be reconfigured.

	1A)There are infrequently modified code bases with small teams that will have to unpick this,and may do so slowly 
	causing their package to be semi broken for some time

		1A.1)Any codebase which pulls dependencies form those repose will cascade into failure. goto (1A)

2)Any automation written by a user which expects the branch master to exist will break.
3)People who have already checked out the master ref may accidentally cause a divergent master history as habit causes them to merge into master rather than say main.
4)Any documentation of git either in official git documentation or in professional training materials will become considerably more confusing to new users as there are at present 15 years of archived documentation that refer to this branch as master.

We run into this kind of issue in software all the time, which is why you see packages like PHP deprecate interfaces… but then still need to keep them around for decades, simply out of fear of how much would break if they actually took them out.

Probably there will be more issues that we can’t predict without testing it (which again I am personally against doing unless it’s you’re own repo with your own template and your own rules).

It will probably be a maintainability nightmare that isn’t worth the fuss and I don’t even want to think of the aggregate lost man hours.

^ permalink raw reply	[flat|nested] 152+ messages in thread
* Re: Rename offensive terminology (master)
@ 2020-06-17 11:34 Alastair Houghton
  2020-06-17 11:49 ` Oleg
       [not found] ` <CAGqqT2w=ntxd6RNkpy175TbgiudUSOc0tAPoDsbjv=4V+73cXw@mail.gmail.com>
  0 siblings, 2 replies; 152+ messages in thread
From: Alastair Houghton @ 2020-06-17 11:34 UTC (permalink / raw)
  To: simon; +Cc: git

Just to stick my oar in here, *if* it’s going to change (and I’m yet to be convinced that it should, but I’m also not opposed in principle to a different name), **PLEASE** can we change it to “trunk”, which is what most of us were using before Git became popular anyway?  That at least makes sense in that a tree trunk has branches.

Kind regards,

Alastair.

--
http://alastairs-place.net


^ permalink raw reply	[flat|nested] 152+ messages in thread
[parent not found: <'CAOAHyQyn_ow7_nCJ+Jorr76_=1=_kuBAD1KhqReqVfRQQbmgiw@mail.gmail.com'>]
* Re: Rename offensive terminology (master)
@ 2020-08-08  3:46 Jefferson Carpenter
  0 siblings, 0 replies; 152+ messages in thread
From: Jefferson Carpenter @ 2020-08-08  3:46 UTC (permalink / raw)
  To: git

Changing the default name would have an impact on teachability.  If 
you're assisting someone on learning Git, and you have to ask them to 
find out if their main branch is called "master" or "main", that adds 
complication to the learning process.  They'll wonder if they have to do 
this every time, etc.  I think it would harm the Git ecosystem for the 
default to be changed anywhere - including hosting companies.

-Jefferson

P.S. Sorry if that was already mentioned, this is a long thread!

^ permalink raw reply	[flat|nested] 152+ messages in thread

end of thread, back to index

Thread overview: 152+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-04 17:20 Rename offensive terminology (master) Simon Pieters
2020-05-04 17:43 ` Robert P. J. Day
2020-05-04 23:10   ` N6Ghost
2020-05-04 17:45 ` Konstantin Ryabitsev
2020-05-04 18:31   ` Simon Pieters
2020-05-04 17:53 ` Robert P. J. Day
2020-05-04 18:18   ` Randall S. Becker
2020-05-05 23:16 ` brian m. carlson
2020-06-09 15:16   ` Simon Pieters
2020-06-09 16:02     ` Junio C Hamano
2020-06-09 16:28       ` demerphq
2020-06-09 18:10       ` Johannes Sixt
2020-06-09 19:02         ` Junio C Hamano
2020-06-09 20:52       ` Simon Pieters
2020-06-09 21:03         ` Junio C Hamano
2020-06-09 21:29           ` Simon Pieters
2020-06-10  9:51         ` Robert P. J. Day
2020-06-10 11:16           ` Kevin Swinton
2020-06-10 12:18           ` Don Goodman-Wilson
2020-06-10 16:30             ` Konstantin Ryabitsev
2020-06-14  0:03             ` Sérgio Augusto Vianna
2020-06-14  0:00         ` Sérgio Augusto Vianna
2020-06-14  0:45           ` Junio C Hamano
2020-06-14  0:50             ` Sérgio Augusto Vianna
2020-06-14  6:32               ` Don Goodman-Wilson
2020-06-14  6:34                 ` Don Goodman-Wilson
2020-06-14  8:47                   ` Sergey Lapin
2020-06-14  8:48                     ` Sergey Lapin
2020-06-14 12:07                   ` Sérgio Augusto Vianna
2020-06-16  7:31                 ` demerphq
2020-06-16  8:38                   ` Oleg
2020-06-16 19:33                     ` Elijah Newren
2020-06-17  1:17                       ` Sergey Lapin
2020-06-17  7:45                       ` Oleg
2020-06-16 10:04               ` Alex Smith
2020-06-16 11:29                 ` Konstantin Tokarev
2020-06-16 11:39                   ` Robert P. J. Day
2020-06-16 11:39                   ` Oleg
2020-06-17  7:27                   ` Sergey Organov
     [not found]                 ` <c0c2d9ad-1d67-8ebe-0063-524005ca97fe@whinis.com>
2020-06-16 11:38                   ` Whinis
2020-06-16 12:16                     ` Oleg
2020-06-16 13:30                     ` Konstantin Ryabitsev
2020-06-16 13:55                       ` John Turner
2020-06-16 14:14                         ` Michal Suchánek
2020-06-16 14:29                           ` Whinis
2020-06-16 16:19                           ` Alex Smith
2020-06-16 15:49                         ` Konstantin Ryabitsev
2020-06-16 16:09                           ` Whinis
2020-06-16 14:24                       ` Sérgio Augusto Vianna
2020-06-16 14:27                       ` Oleg
2020-06-16 16:03                         ` Konstantin Ryabitsev
2020-06-16 17:27                           ` Oleg
2020-06-16 17:42                             ` Konstantin Ryabitsev
2020-06-16 18:35                               ` Sergey Lapin
2020-06-16 19:03                               ` Oleg
2020-06-09 16:06     ` Konstantin Ryabitsev
2020-06-09 19:01       ` Don Goodman-Wilson
2020-06-14  0:05         ` Sérgio Augusto Vianna
2020-06-14 19:08           ` brian m. carlson
2020-06-14  8:49             ` Johannes Schindelin
2020-06-14 19:17             ` Sérgio Augusto Vianna
2020-06-15  2:16             ` Taylor Blau
2020-06-15  2:54               ` Sérgio Augusto Vianna
2020-06-09 22:36     ` brian m. carlson
2020-06-16  8:50     ` Michal Suchánek
2020-06-10 21:30   ` Johannes Schindelin
2020-06-10 22:35     ` Edward Thomson
2020-06-10 22:51     ` brian m. carlson
2020-06-11 11:52     ` Michal Suchánek
2020-06-11 11:59       ` Don Goodman-Wilson
2020-06-11 12:52         ` Derrick Stolee
2020-06-11 15:14           ` Junio C Hamano
2020-06-14  2:59             ` Johannes Schindelin
2020-06-15 10:07               ` Michal Suchánek
2020-06-12 13:21           ` Philip Oakley
2020-06-14  0:41             ` Elijah Newren
2020-06-14 10:54               ` Philip Oakley
2020-06-14 12:20                 ` Sérgio Augusto Vianna
2020-06-14 13:58                   ` Don Goodman-Wilson
2020-06-14 14:05                     ` Sérgio Augusto Vianna
2020-06-15  3:52                     ` Andrew Ardill
2020-06-15  4:45                       ` J. Paul Reed
2020-06-15  5:19                         ` Andrew Ardill
2020-06-17  8:27                     ` Michal Suchánek
2020-06-14 18:19                   ` Konstantin Ryabitsev
2020-06-14 18:23                     ` Sérgio Augusto Vianna
2020-06-14 19:04                       ` Konstantin Ryabitsev
2020-06-14 19:08                         ` Sérgio Augusto Vianna
2020-06-14 19:16                           ` Konstantin Ryabitsev
2020-06-14 20:41                       ` Philip Oakley
2020-06-16  7:36                       ` demerphq
2020-06-16  7:43                         ` Michal Suchánek
2020-06-16  8:01                           ` demerphq
2020-06-16  8:59                             ` Michal Suchánek
2020-06-17 19:56                             ` Junio C Hamano
2020-06-17 20:10                               ` Jonathan Nieder
2020-06-17 20:17                                 ` Jonathan Nieder
2020-06-18  7:57                                   ` demerphq
2020-06-18  8:38                                     ` Oleg
2020-06-18 10:17                                       ` demerphq
2020-06-18 15:23                                     ` Konstantin Ryabitsev
2020-06-18  7:40                               ` demerphq
2020-06-18 18:04                                 ` Junio C Hamano
2020-06-14 21:06                     ` Junio C Hamano
2020-06-14 21:15                       ` Eric Wong
2020-06-14 21:39                         ` Junio C Hamano
2020-06-15 18:07                   ` Jonathan Nieder
2020-06-15 18:18                     ` Sérgio Augusto Vianna
     [not found]                       ` <CAAwdEzDgJuoQJAZsrT0piuZPVP6nJTSB9RCbcuXO03-BYTnmOQ@mail.gmail.com>
2020-06-15 19:37                         ` Sérgio Augusto Vianna
2020-06-15 19:50                           ` Alexandru Pătrănescu
2020-06-15 20:44                             ` Elijah Newren
2020-06-15 20:42                           ` Randall S. Becker
2020-06-15  0:34     ` James Ramsay
2020-06-15 21:38     ` Elijah Newren
2020-06-15 21:46       ` Elijah Newren
2020-06-16 21:07     ` ZeeVriend
2020-06-17  7:49       ` Oleg
2020-06-17 20:48         ` ZeeVriend
2020-06-18  8:28           ` Oleg
2020-06-17 20:52         ` ZeeVriend
2020-06-13 23:56   ` Sérgio Augusto Vianna
2020-06-13 23:53 ` Sérgio Augusto Vianna
2020-06-14 14:59 ` Thomas Adam
2020-06-14  8:04   ` Johannes Schindelin
2020-06-14 15:13   ` Michael Felt (aixtools)
2020-06-14  8:27     ` Johannes Schindelin
2020-06-14 15:51     ` George Of The Jungle
2020-06-14 15:20 ` Sérgio Augusto Vianna
2020-06-15  0:02 ` Sérgio Augusto Vianna
2020-06-15 14:39 ` Sérgio Augusto Vianna
2020-06-15 14:39 ` Sérgio Augusto Vianna
2020-06-15 23:15 ` Sérgio Augusto Vianna
2020-06-16  1:00 ` Fang-Pen Lin
2020-06-16  1:38 ` Sérgio Augusto Vianna
2020-06-21 19:50 ` Social Justice Movements [was: Rename offensive terminology (master)] Luke Kenneth Casson Leighton
2020-06-23 23:21 ` Rename offensive terminology (master) Gunnar Liljas
2020-06-24  1:16   ` Whinis
2020-06-24  8:19   ` lego_12239
2020-06-26 10:08     ` Gunnar Liljas
2020-06-26 10:34       ` Oleg
2020-06-14 15:09 Michael Felt (aixtools)
2020-06-15 21:05 frederik
2020-06-16  0:16 Abram Wiebe
2020-06-16  0:23 ` Jonathan Nieder
2020-06-16 12:54   ` Konstantin Ryabitsev
2020-06-16 15:53     ` Sérgio Augusto Vianna
2020-06-17 11:34 Alastair Houghton
2020-06-17 11:49 ` Oleg
     [not found] ` <CAGqqT2w=ntxd6RNkpy175TbgiudUSOc0tAPoDsbjv=4V+73cXw@mail.gmail.com>
     [not found]   ` <CAGqqT2zFkCUTdUnzdp4oTR2cnxBpKeY-EZtxacLLVDsF8Jiekw@mail.gmail.com>
2020-06-17 12:27     ` Zac McChesney
     [not found] <'CAOAHyQyn_ow7_nCJ+Jorr76_=1=_kuBAD1KhqReqVfRQQbmgiw@mail.gmail.com'>
2020-06-26 18:37 ` Neil Stoddard
2020-06-29  8:59   ` Michal Suchánek
2020-08-08  3:46 Jefferson Carpenter

Git Mailing List Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/git/0 git/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 git git/ https://lore.kernel.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.git


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git