Apple is joining a movement to remove the racially loaded terms “master/slave” and “blacklist/whitelist” from its coding platforms.
On Thursday, the company announced it was phasing out the “non-inclusive language” across Apple’s developer ecosystem, including Xcode, a suite of software tools to create apps for the Mac and the iPhone.
For decades now, the term master/slave has been used in IT terminology to describe one device or process that controls another. However, there’s been a growing push from the programming community to retire the term and replace it with neutral language.
Apple’s updated style guide now tells developers to substitute the terms with “primary/secondary” or “host/client” in their software programs. If necessary, the master/slave term can still be permitted in the computer coding itself, but the company is calling for developers to use alternative terms in documentation manuals.
In addition, Apple is telling developers to avoid using blacklists/whitelists, another IT technology term that critics say perpetuates racial stereotyping. The company is instead recommending developers use the terms “deny list/allow list” or “unapproved list/approved list.”
The company began making the changes on June 22 at its virtual Worldwide Developer Conference (WWDC). “Developer APIs with exclusionary terms will be deprecated as we introduce replacements across internal codebases, public APIs, and open source projects, such as WebKit and Swift,” the company added this week.
Other computing platforms, including Python and Github, have also been retiring the old-school IT terminology. Last week, Linux founder Linus Torvalds approved a change in the Linux kernel to remove the master/slave and blacklist/whitelist terms. Intel engineer Dan Williams, who came up with the proposal, explained why the change was important.
“The African slave trade was a brutal system of human misery deployed at global scale. Some word choice decisions in a modern software project does next to nothing to compensate for that legacy. So why put any effort into something so trivial in comparison? Because the goal is not to repair, or erase the past. The goal is to maximize availability and efficiency of the global developer community to participate in the Linux kernel development process,” he wrote in the Linux kernel mailing list earlier this month.
Although critics may argue taking out blacklist/whitelist goes too far, according to Williams it’s evident the terms are problematic. “One thought exercise is to consider replacing ‘blacklist/whitelist’ with ‘redlist/greenlist’. Realize that the replacement only makes sense if you have been socialized with the concepts that ‘red/green’ implies ‘stop/go,’” he wrote. “The socialization of ‘black/white’ to have the connotation of ‘impermissible/permissible’ does not support inclusion.”