I usually don’t post anything too political on my blog – that old saying about politics and religion is a very wise one – but I thought I’d weigh in on a debate going on in the tech world regarding some of the terms we use, and whether they should continue to be used.
In the aftermath of George Floyd’s death and associated protests and turmoil, a lot of attention has been put on many terms and symbols that are perceived as carrying racist overtones or baggage.
To be absolutely clear, I complete support black lives matter and think the vast majority of these protests are completely acceptable and necessary. This country has a lot of things to issues and racial problems are part and parcel of our history and the texture of this country. Segregation only ended in my parent’s lifetime – and we finally got gay marriage only very, very recently. And I’ve always wondered why we would have statues and military bases named after literal rebels and traitors.
In the tech world there’s a lot of discussion about changing some terms that we use – such as blacklist/whitelist and master/slave. For blacklist/whitelist I think changing it to something allow/block list or something along those lines makes a lot of sense. Think about it, I don’t think the term itself is overtly racist – however the negative/positive associated with black/white is problematic. More importantly, these are not clear terms! Allow/Block is far clearer, in my opinion.
Master/Slave is another pretty problematic term. It is descriptive of the relationship, however in most of the world the idea of a “master” will construe as white and “slave” as non-white. That’s just the reality of the world. Yes, I know there have been all kinds of slavery throughout history, some with racial overtones and much without. I was a history major! But that’s irrelevant – what matters is what makes sense to the majority of people alive now. I’d suggest something more like Source/Duplicate, or Original/Duplicate, etc. I think that still describes the relationship well, at least for a database setup…
But with Master Branch (i.e. in git) I’m not sure there’s the same racial overtones. For one thing, we don’t call other branches “slave” branches, and if we did it wouldn’t really capture the relationship well at all. A branch off master is not “controlled” or “dominated” by the master in any way, typically. Honestly, something like “trunk/branch” might make more sense, but a lot of this depends on how you use git. I just don’t see this as a problem as bad as say the “master/slave” terms!
Likewise, Master Repository has the same issues as above. What’s really being described is more like “original” versus “branch” or “derivative” etc. It doesn’t seem like that much of a problem – but it shouldn’t be hard to find a less controversial term that also accurately describes the relationship.
I guess I’m generally in favor or trying to change usage of these terms – as long as another term can be found that describes the relationship at least as well. But I also think that like most things they’re on a spectrum from more “racist” (black/white list) to less.
But, another aspect of this whole controversy should be kept in mind – arguably the organizations who are making these changes to their terminology could be helping things a lot more by becoming diverse and inclusive workplaces. I’m not saying that they’re not! But I am saying that we shouldn’t let this little debate over terms distract from more meaningful changes.