Many employers have general policy of not using potentially sensitive terminology in their codebases when there are good alternatives, whether it's "master" (could be master-slave, could be something else), "blacklist", etc. If it's easy to apply that policy you can just do it and then you never have to worry about whether an employee slipped a regrettable word choice into a string literal that a customer's going to see 6 months from now. It's nice to have options for doing this cheaply instead of doing a panic audit of your codebase and changing a bunch of stuff by hand.
Determining whether a given use of the word is appropriate requires context and careful consideration, and people already tend to have a bunch of work on their plates! For something like "master" I think it's reasonable to go "let's just not use it in our repos, there are alternatives", it's not erasing any useful nuance or meaning.
I disagree. Changing a word which could potentially offend someone even though it is not rooted in something offensive is exhausting and silly. People can find anything to be offended by. If someone is ignorant about the terminology, such as the 'master branch', then I would explain to them the history of the word. That is much easier than forcing everyone to change industry standard terminology with the bonus of conveying some knowledge.
If you tell people which words they are allowed to speak based on programming convenience, then you will turn them into robots.
By the way did you know that the etymology of robot? Wikipedia has this to say
> The word robot was introduced to the public by the Czech interwar writer Karel Čapek in his play R.U.R. (Rossum's Universal Robots), published in 1920.[79] The play begins in a factory that uses a chemical substitute for protoplasm to manufacture living, simplified people called robots. The play does not focus in detail on the technology behind the creation of these living creatures, but in their appearance they prefigure modern ideas of androids, creatures who can be mistaken for humans. These mass-produced workers are depicted as efficient but emotionless, incapable of original thinking and indifferent to self-preservation. At issue is whether the robots are being exploited and the consequences of human dependence upon commodified labor (especially after a number of specially-formulated robots achieve self-awareness and incite robots all around the world to rise up against the humans).
> Karel Čapek himself did not coin the word. He wrote a short letter in reference to an etymology in the Oxford English Dictionary in which he named his brother, the painter and writer Josef Čapek, as its actual originator.[79]
> In an article in the Czech journal Lidové noviny in 1933, he explained that he had originally wanted to call the creatures laboři ("workers", from Latin labor). However, he did not like the word, and sought advice from his brother Josef, who suggested "roboti". The word robota means literally "corvée", "serf labor"
Long before this article appeared, I was already renaming ‘master’ to ‘default’. The term ‘master’ has always felt out of place and unnecessary to me.
If anything, the article affirms my gut feeling when I first started using version control back in the day. It didn't occur to me someone else might feel similarly.
When creating a new repo using Mercurial, the default branch is called default, which always made more sense to me.
Interestingly enough, both Mercurial and Git were created by Linux kernel hackers to handle the Linux kernel source code after the Linux project could no longer use Bitkeeper. They were released 12 days apart in April 2005.
Just pointing out that certain things, even seemingly small things, are often assumed to be okay. And especially in team settings, people don't always feel comfortable speaking up or being that person.
Reminds me of the aphorism: There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Master and default have different meaning. Master in git mean master record for other branches. In mercurial default is more applicable because common workflow is not branch based but change set.
seeing all the pushback to the “rename the master branch” movement is disheartening. if renaming the branch makes even one current or future employee (or even an open source contributor feel more welcome!), why push back so hard on this?
Because not all uses of "master" have negative connotations. I can support renaming master-slave, but git is not such case. There is pushback because it creates massive amount of work for us without a good reason.
All CI/CD pipelines, scripts, tools. Integration fixes, regressions and failed deployments because branch was main not master.
Determining whether a given use of the word is appropriate requires context and careful consideration, and people already tend to have a bunch of work on their plates! For something like "master" I think it's reasonable to go "let's just not use it in our repos, there are alternatives", it's not erasing any useful nuance or meaning.