Is renaming git branches the best way to fight discrimination in the software industry?

Mayur Awaghade
3 min readJun 14, 2020

In the last few weeks, a movement is raging in the streets of the US. A movement against police brutality and systemic racism. A lot has been written about it on the Internet, So I won’t go into it in this post. This one is about the great renaming movement in the software community where engineers are determined to change names of every software project and construct that may have a racist connotation. While I appreciate the intent behind it, a lot of discussion online has been toxic and bordering on bullying tactics ranging from forking popular software projects to threatening the project maintainers who express disagreement with the notion of renaming.

I’m more sympathetic about calls to change more problematic terminologies like “master-slave” or “whitelist-blacklist” that have deep historic racial connotations. There are alternate ways to name such constructs. However, that doesn’t make it okay to force your opinion on the project maintainers. Anyone who has worked with complex software for long enough knows that renaming things is not as trivial as a find and replace. Meticulous refactoring, testing, debugging, is needed to achieve it. Apart from the functionality, it often requires performance, backwards compatibility, discoverability, and several other considerations. It is absurd to expect all project maintainers to have the same opinion and motivation as you, or to have ample free time to make these changes at your will. If the project is open source, and if you really care about the issue, have a civil conversation, create an agreement with the maintainer, and spend your own time and energy to make the changes. Stop bullying folks!

The more infuriating calls are for changing terminologies which at best have a tenuous racial connotation and at worst have none at all. Things like changing the name of a popular Ruby project Rubocop, or renaming your git branch to something other than master. The latter one specifically is a sticking point for me. The term master here is obviously meant as “main” and not as “person in control” and hence does not have a racial connotation. Are we supposed to ban the word master altogether now? Should I renounce my Master’s degree? Should I cut and throw away my Mastercard? Should I not sleep in my bedroom until we agree to stop calling it master bedroom? That is absurd. We actually need to do the opposite. We should promote words like “master” in the contexts that don’t have a racial bias. That is how we can get rid of the stigma associated with such words. Why stop at words? Let’s also do it for places, cultural references, and other things that promote systemic racism.

Oh right! Coming back to the point of systemic racism. The rationale given behind renaming is that it will help make the software industry more open and diverse, but is that the best we can do? Wouldn’t it be prudent to think of more effective avenues? Perhaps you can work with a neighborhood school to encourage black students to pursue a tech career. You can donate to organizations like Black girls code who are working on this mission. Volunteer time for a charity which works to improve the lives of youth in minority communities. Work with your employer to make the hiring process more welcoming to minorities. March in the streets with the folks who are protesting systemic racism. Work with your local and state officials to improve public education for poor and oppressed communities. Vote for the politicians who have a platform to fix systemic racism. I can go on. I’d love to see a more open and diverse software industry, but it is going to take a lot more efforts from the insiders like us than just making a symbolic gesture of renaming git branches.

--

--

Mayur Awaghade

Software Engineer. Talks about sports, politics, and investing