Coding terms like ‘master’, ‘slave’, ‘blacklist’, and ‘whitelist’ could soon be a thing of the past as the likes of Linux, Twitter, Git, and IBM’s Red Hat begin purging non-inclusive phrases from their code.
Twitter Engineering announced last week that it wanted to “move away from” certain phrases that the social media company said was not reflective of its values.
“There is no switch we can flip to make these changes everywhere, at once,” the company said.
“We will continue to iterate on this work and want to put in place processes and systems that will allow us to apply these changes at scale.”
Along with terms like ‘blacklist’ and ‘whitelist’, Twitter said it wants to move away from gendered pronouns and even ‘dummy value’.
We’re starting with a set of words we want to move away from using in favor of more inclusive language, such as: pic.twitter.com/6SMGd9celn— Twitter Engineering (@TwitterEng) July 2, 2020
Twitter’s move comes amid a wave of companies moving away from ‘blacklist/whitelist’ and ‘master/slave’ in their code at a time of heightened cultural discourse around race and diversity.
Linux kernel maintainer, Dan Williams, proposed the open source operating system should officially begin replacing non-inclusive terminology.
“The Linux kernel is a global software project, and in 2020 there was a global reckoning on race relations that caused many organisations to re-evaluate their policies and practices relative to the inclusion of people of African descent,” Williams said in his post to the Linux Kernel Mailing List.
In explaining the replacement of words like ‘blacklist’, Williams said the intention was “not to repair or erase the past”.
“The goal is to maximise availability and efficiency of the global developer community to participate in the Linux kernel development process.”
Williams’ patch proposal has been largely supported by other Linux kernel maintainers.
IBM-owned open source developers, Red Hat, committed to reviewing its use of language and has already begun to phase out ‘blacklist/whitelist’ in favour of ‘denylist/allowlist’.
Red Hat CTO, Christ Wright, said it was especially important for open source communities to pay attention to the needs of its members.
“If any person or groups of people feel unwelcome because of the language being used in a community, code or documentation, then the words should change,” Wright said.
“These changes will take time. They will require many conversations within communities and among vendors to fully enable.
“But those actions and conversations are worthwhile and we are committed to them.”
CEO of GitHub, Nat Friedman, last month said the company was undergoing a similar reexamination of its language, including to change the name of its ‘master’ branch to ‘main’.
It's a great idea and we are already working on this! cc @billygriffin22— Nat Friedman (@natfriedman) June 12, 2020
Chromium, Google’s open source browser project that powers Chrome and Microsoft’s new Edge browser, has posted a policy document suggesting how developers can be more “respective and constructive” in their coding.
“Terms such as “blacklist” and “whitelist” reinforce the notion that black==bad and white==good,” the document says.
“These terms can usually be replaced by “blocklist” and “allowlist” without changing their meanings, but particular instances may need other replacements.”
It also includes suggestions for how to write code in a gender-neutral style.
Of course, the various decisions to revamp coding languages have been heavily criticised online.
One Change.org petition against GitHub’s change called it “utter nonsense”.
“It creates confusion and unnecessary work for developers, who will need to update scripts and frequently check what the name of the primary branch is for repos,” the petitioner complained.
Others have said the various decisions ignore the terms’ etymological roots.