This month the tech industry’s lexicon is seeing a small but significant shift: Common technical phrases, most notably “Master/Slave” and “Whitelist/Blacklist” that have been red-flagged as offensive, or even racist, sometimes for decades, are getting updates. Android and GitHub announced this week that it is starting to changing “master” designation to “main,” alongside Android, Gitlab and Splunk. Many orgs are also looking at replacing the concept of “whitelist” in both its documentation and in its APIs. Other companies and open source projects are following suit.
This work is in part to take another semantic and moral stand that Black Lives Matter. And, at times, it is virtue signaling, a relatively easy way to show a company supports the movement. In still other cases, employees have been long wanting to make a change to the outdated language, and now is the perfect time to appeal to decision-makers about this.
When looking to make a difference, words can leave an impact. Because words do matter. Entire social media are born out of an obsession with semantics. Language is what defines us as human beings.
So when a language sees a change, it’s a sign of something more. Because, whether it’s books or code, words leave a legacy. Word choice online is akin to statues on-site — they are often chosen by only a few and become outdated and rusty if not reconsidered regularly.
Remastering the English Language
Up until this point, master/slave has been the most common term for a kind of communication and control system referred to in computer engineering, as well as in clock-making, audio recording, trains, and electrical engineering. It so obviously refers to the act of slavery that it should be banned. It’s also a poorly executed metaphor that implies one device or process controls one or more other devices or processes. As The PC Guide wrote many years ago:
“Note that despite the hierarchical-sounding names of ‘master’ and ‘slave’, the master drive does not have any special status compared to the slave one; they are really equals in most respects. The slave drive doesn’t rely on the master drive for its operation or anything like that, despite the names (which are poorly-chosen…)”
The Internet Engineering Task Force or IETF, which focuses primarily on readable, clear, consistent, and reasonable uniform language, has also recently updated its memo on Technology, Power and Inclusive Language, which already focused on the need for exclusion of master/slave, as well as whitelist/blacklist, from industry-standard terminology.
“In tech we need to be very clear in our communication because we are talking about complicated concepts. So it’s important to use metaphors, but we need to be careful about what metaphors we use. We are trying to convey information at the end of the day, and so a bad metaphor is not going to do that for us. Every use of them is a new opportunity to define better terms that suit each situation.” — Mallory Knodel, Center for Democracy & Technology
Dr. Shuli Goodman, executive director of LF Energy, the Linux Foundation’s org for modernizing power grids, echoes Knodel by calling the master/slave terminology an outdated relic of centralized control, which doesn’t reflect modern architecture.
“As technology has virtualized and abstracted the complexity of hardware, control and hierarchy has become more difficult or inefficient due to the cost of round-trip computing from the edge,” she said.
She continued that software has moved continuously toward more autonomous and intelligent hardware at the edge, which is inherently more difficult to control from one dominant, centralized hub.
“Because of this, a top-down control hierarchy is no longer effective and, in fact, slows data-sharing between primary software and its various connected nodes. Instead, technologists must shift to a paradigm in which the primary software orchestrates and choreographs intelligence at the edge,” Goodman said.
This relatively recent word choice is at the very least imprecise and poorly descriptive. In the worst-case scenario, it’s a microaggression that — from CompSci 101 to databases to many core URLs — further alienates a group of people who have been systematically excluded from the tech industry.
The erroneous choice of the word “master” also carries over into agile project management. It’s a Scrum Master’s job to facilitate the Scrum agile framework on a team. “Master” in this sense is meant to mean expert, already making this term feel anachronistic to the agile mindset of servant leadership, self-organization, and imposter syndrome. But it’s simply unacceptable in a professional setting to enforce titles that imply one person is a master, potentially over another.
There is an ongoing debate to change the name, but no winners yet. The name itself, alongside the also poorly named Product Owner, seems to have come out of an abhorrence for the term manager. Alternates include:
- Agile Lead
- Agile Program Manager
- Agile Coach
- Agile Team Facilitator
- Scrum Coach
- Scrum Teacher
- Scrum Leader
- Scrum Facilitator
- Servant Leader
- Scrum Custodian
- Scrum Guardian
- Scrum Guide
- Process Expert
- Process Lead
In the agile methodology of Kanban, a similar role is sometimes called a flow master, but more often a flow manager.
There is also a similar trend in the information security world, where whitelisting and blacklisting is prevalent. Here items, services or people on a “whitelist” are permitted, while those on the “blacklist” are suspected, blocked or denied. There are whole academic dissertations on this inappropriate, segregation-minded black-white dualism which has us “blackballing” someone or calling them a “black sheep.”
“The racism in such ‘black is bad, white is good’ metaphors is inappropriate and needs to cease.” — Medical Library Association
Back in early May, the UK National Cyber Security Centre announced its move from blacklist/whitelist to allow list/deny list. Many more tech organizations in the last month have followed suit.
Software Delivery Consultant Duncan Nisbet created a more extensive list of harmful language he will be removing from his own tech lexicon. This list also flags the following terms:
We know some bad habits are hard to break — the “Hey Guys” male-by-default assumption is insidious from Pixar to tech main stages. Fortunately, the words talked about in this piece are much more a part of written language and code, so it should be easier to delete from our technical vocabulary.
TLDR: To all the OSS peeps out there right now pushing to remove racially charged terms from their projects – keep up the fight! It is definitely worth it?
For the last ~17 years I have largely owned the language used by Microsoft virtualization. Here is a story about that /1
— Ben Armstrong (@vBenArmstrong) June 17, 2020
Even Merriam-Webster is updating the definition of racism to reflect “systemic oppression upon a group of people.” If a 177-year-old organization can update its language choices, the tech industry can too.
Tech Has a Diversity Problem. Duh.
Why does this matter? Because these words are a symptom of a larger issue: the tech industry’s diversity problem.
In 2017, the Kapor Center for Social Impact ran a first — and still only — of its kind national study examining why people voluntarily left their jobs in tech. What this study discovered is that underrepresented minorities are twice as likely to leave due to unfair treatment than to leave because they were recruited for a better job. This unfairness includes unjust management practices, stereotyping, sexual harassment, and bullying and hostility.
Only Black Developer Syndrome (OBDS), as coined by Greg Nwosu, is a real thing. After all, on average, only one out of 50 programmers is Black. There’s a psychological impact to being the only in a room.
Add to that, Black software engineers make on average $10,000 less than their white counterparts.
“In contrast to popular thought, racial bias is not simply an issue of individual biases, but instead a pattern that manifests in policies, practices and everyday operations of the organization.” — Mark Martin, UKBlackTech
This exclusion not only hurts Black — and gender minority — engineers, but also the companies themselves. It’s been shown in multiple studies that diverse teams drive better business results, which GitLab pointed out in a blog post.
So if it’s the tech industry’s job to build the future, for everyone, why is it still being built overwhelmingly by white males?
Oh Dear, How Ever Will I Change My Code?
Some on the interwebs are complaining, in good faith or otherwise, about how the move away from these terms inconveniences them or that it’s unnecessary and goes too far. To be frank, the amount of time some are putting into carping is probably more than the actual updates would take.
Python Core Developer Victor Stinner succinctly responded to the many, many opposing comments to the bug report that Python used to quietly announce their removal of the master/slave terminology a couple of years ago:
The people asking for changes to these terms are stakeholders in your product — both employees and users. Whether these concerns represent edge cases or not, it’s not up to the people in power to determine how those disquieted should feel, particularly when they are often systemically ignored or disenfranchised by the industry.
“I come from a world where when somebody says, ‘Hey, this thing hurts me.’ You just stop doing it.” — Eric Sammer, Splunk
Sammer, distinguished engineer at Splunk, continued on this week’s episode of The New Stack Context podcast to say: “Let’s be super clear, changing master/slave or whitelist/blacklist and these kinds of words does not end systemic racism in the U.S. or in technology. It doesn’t fix, but it certainly removes one more way that we convey the notion that ‘White equals good and black equals bad’.”
“There are a lot of implementations of DNS. If that software is still using master/slave, they are non-compliant with the standards of DNS best practices. If you’re writing software that interacts with DNS, you should be up on new standards,” she said.
So let’s get on with making the necessary updates.
“We aren’t going to erase this overnight. It does take some vigilance and awareness of the problem,” Knodel said.
She suggests thinking about it in pieces, like deciding which neutral terms your team or project wants to replace these excluders with. And then build the strategy on how you plan to update them.
To start, there are ample, more descriptive alternatives to master/slave, including:
It’s unsure which term, if any, will win out, but Primary/Replica may have the edge since tech giants IBM, Microsoft, and Amazon Web Services as well as the open source languages of Python, Django, and Drupal all changed to that years ago.
1. “Main” is shorter! Yay brevity!
2. It’s even easier to remember, tbh
3. If it makes any of my teammates feel an ounce more comfortable, let’s do it!
4. If it prevents even a single black person from feeling more isolated in the tech community, feels like a no brainer to me!
— Una Kravets ??? (@Una) June 11, 2020
With 50 million developer users, any change like this to Github is a significant one.
Developer Faizaan Datoo offered over Twitter offered the simple solution of renaming a branch:
- Make a new, differently named branch from the master branch.
- Push that branch.
- Type one command to delete the master branch.
He wrote: “GitHub will not let you delete the default branch though, so all you need to do is change the default branch to something else and you’re good to go! For most projects, easy. For the more complex projects with hooks on certain branches, it is a bit of work but it’s just a change of name, not rocket science.”
Splunk has a working group to address this because they fear making this change could lead to customers resent if things break. Sammer said you should be able to make a backwardly compatible change in Splunk fairly easily.
It’s probably a good idea to make sure that you go ahead and use a tool to scan at least your documentation — and certainly your job ads — to see if there is any other discriminatory or exclusionary language lingering. While there are many tools that flag gender bias, we only found a few that scan for racial bias. Linters are winners here:
Seeing how people reacted to the master branch renaming gives me no hope for tech making large-scale systemic change.
It takes such a fight to convince the people with power to do anything, and yet once they decide, action happens so quickly. Then they’re the heroes! ??♀️
— Tatiana Mac (@TatianaTMac) June 15, 2020
It’s Not About You
It’s not up to the person with power to decide what is offensive or not. It’s not up to the inconvenienced to decide if a change should happen. Convenience is the kind of privilege that doesn’t need clinging to.
Happy Juneteenth everyone. Let’s celebrate by not just doing better with a few word choices, but by looking at the systemic changes we can make to support, attract and retain Black people in tech.
Listen to all TNS podcasts on Simplecast.
GitLab is a sponsor of The New Stack.