2022-12-25

So the "master" branch is not kosher anymore


The origins of the debate go so far back that they are lost in the mists of time, but a good starting point (which contains references to prior debate) is an Internet Draft from 2018 titled Terminology, Power, and Inclusive Language in Internet-Drafts and RFCs. Some especially woke communities like the Python community had already started applying some of the recommendations in this draft as early as 2019, but things really picked up steam in 2020, with the murder of George Floyd.

(Useful pre-reading: About these papers)

Programmers all over the world, the overwhelming majority of whom are white boys, wanted to feel like they are doing something about the whole Black Lives Matter thing, but killing cops is a bit difficult, let alone messy, not to mention risky, and what if there is one good cop in the USA and we kill him? -- so they resorted to the next best thing: using more sensitive language.

Naturally, every company that caters to wokeys needed to show that they are more woke than the next one, and changing terminology is such a cheap and easy thing to do compared to the amount of good publicity it generates that it is actually a bargain; thus, all mega-corporations were suddenly competing on who will revise more politically incorrect terms faster. This involved the identification of politically incorrect terms that we were previously unaware of, and in some cases even the invention of some.

The 2018 Internet Draft about inclusive language says nothing about the master branch; it suggests, among other things, to rename the term master/slave to something else, e.g. primary/secondary. This change is arguably worth making; not so much because of its inherent merit, (it has very little of that,) but because we have to acknowledge the possibility that we are unable to put ourselves in the shoes of people who might be hurt by the use of the term. Rumor has it that if you ask actual black people about this issue, they are likely to tell you that they don't give a damn, but this is destined to slide by. Making this change also presupposes that we feel compelled to go out of our way to ease the pain of people who for whatever reasons feel hurt by various things, but that can also arguably be regarded as a reasonable thing to do.

I am worried that one day people might start feeling hurt by the fact that I am sporting a beard, due to the unbearably toxic masculinity that it exudes and what not, but I guess I will deal with that when the day comes.

Now, if the abolition of master/slave hardly had any real grounds to stand on, the abolition of the master branch is absolutely groundless, because in this case the word "master" is used in the sense of "original", as in "master recording". (See "master" in wiktionary.org.) However, if we acknowledge someone the right to be offended by master/slave, then who are we to take away their right to also be offended by master branch? After all, don't forget that we have already established that we are incapable of putting ourselves in their shoes, right? 

So, once the abolition of "master/slave" was unanimously agreed upon, the master branch was naturally next. It was just a matter of the innocent paying along with the guilty

After some debate, (see Git Rev News: Edition 65) both git and GitHub announced in 2020 that they were moving in the direction of renaming the default branch from "master" to main. In October of that year, GitHub proceeded with the change. Lots of other mega-corporations followed suit. One article which skips the whys and the why-nots and just talks about the technical aspects of this transition is Of Git and GitHub, Master and Main by Matt Neuburg, 2021.

So, we shall all rename our "master" branches to "main". You might think that you can get away with using "main" only for new projects and leaving old projects alone, but that will not quite cut it, because then you will be left with eternal confusion since you will have different projects with different default branch names and you will have to always remember which is which. Trying to remember things is the stuff mistakes are made of, and mistakes with branches tend to have very severe consequences. So, all master branches will have to be renamed to main everywhere.

Is it silly? Yes. Is it a waste of time? Yes. Is it giving in to wokeism? Yes. But you have to pick your battles. You have to question whether you want to engage in an argument with a broader cause that you are already in alignment with anyway. As a manager, it is easier to suffer the small technical pain of transitioning from "master" to main" than to spend valuable time debating the whole silly thing, and running the risk of appearing as a bigot in the process.

Having said all that, let me state that on the broad picture, I am completely with Bill Maher on this: the liberal world is going mad with political correctness, sense of entitlement, snowflakeism, and wokeness

Mandatory grumpy cat meme: Wokeness? How About NO.


No comments:

Post a Comment