- The open source community is moving to reject software terms like "master," "slave," "blacklist," and "whitelist" in an effort to be more inclusive.
- Advocates say that more inclusive terminology not only helps Black developers and other developers from marginalized groups feel more welcome; the new terms are often also more technically accurate in describing what the software does.
- The changes can already be seen at companies like GitHub, Apple, and Red Hat, as well as in open source projects like Linux, OpenZFS, Google's Chromium browser engine, and even the Android operating system.
- They aren't the first open source projects to drop the terminology: Django, Drupal, and Python all took similar steps years ago.
- These moves have historically been met by pushback by those who believe tech is apolitical, but advocates say that software should reflect the values of those who make it, and that such a small change can have an outsized impact.
- Visit Business Insider's homepage for more stories.
Over his two decades-plus in the tech industry, Michael Brown, now a senior software development engineer at Microsoft, frequently found himself as the only Black engineer on whichever team he was on.
That makes it extra-grating when he runs into industry-standard terms — "master" and "slave," as two common examples — that are as problematic as they are common. He first ran into them early in his career, working on an IT hardware project, but they can be found in wide use today.
These outdated terms often constitute microaggressions, or subtle incidents of discrimination, against Black developers by using the language of slavery, Brown says.
"The simple fact is that Black people are very underrepresented in technology," Brown told Business Insider. "What a lot of them fall back on is that it's a pipeline. The problem is starting in the college level, where you'll see very few Black people. Of course, you get the microaggressions that makes us feel unwelcome and that we don't belong to begin with."
Besides, he says, they're also technically used wrong in many instances: In his early-career hardware experience, the "master" device was actually a client to the "slaves," not the other way around. In more modern usage, "master" is used to refer to the main version of a software project; advocates say that "primary," "trunk," or "main" might be more accurate.
Now, amid the national conversation around systemic racism following the police killing of George Floyd, the tech industry is taking action to remove "master," "slave," and other terms like "blacklist" from common usage. Another example is "whitehat hackers," who hack to help companies find bugs, and "blackhat hackers," who hack for malicious purposes. These terms can reinforce biases, advocates say.
Already, companies Apple, Red Hat, and the Microsoft-owned GitHub have announced that they're working to drop those terms. Other software projects like the open source operating system Linux, as well as Google's Chromium browser engine and Android operating system, have made similar moves.
Advocates say that while it's only a small step, and doesn't do much to address the wide gaps in diversity across Silicon Valley, it's still an important trend that signals to Black developers that there's room for them in the industry.
"I think it's important in general to create an environment that's inclusive that doesn't detract people from feeling comfortable at work and feel like they're just as valuable as others," Sebastien Roy, director of systems platform development at Delphix, told Business Insider. Roy also organized a Juneteenth hackathon to add more inclusive terms to Delphix's products.
GitHub and other projects are updating their language
GitHub, the Microsoft-owned code-sharing site, is one of the most prominent voices in the effort to drop the "master" terminology. Now, GitHub is working to change its default branch name from "master," making it easy for users to choose their own default branch name for new projects, and releasing guidance and tools for users who want to rename it.
Apple also announced on July 16 that it's "working to remove and replace non-inclusive language across our developer ecosystem," moving away from terms like "whitelist," "blacklist," and "master" to "allow list," "deny list," and "main." Red Hat also announced similar moves last month.
Other projects are also moving towards more inclusive language.
The widely used open source operating system Linux will stop using terms like "master" and "slave," and instead use alternatives like "primary" and "secondary," "leader" and "follower," and "director" and "performer." And instead of "whitelist" and "blacklist," developers can use "allowlist" and "denylist" or "passlist" and "blocklist."
Likewise, Google's Android operating system and Chromium browser engine projects are moving away from terms like "blacklist" and "whitelist" in favor of the terms "blocklist" and "allowlist," 9to5Google's Kyle Bradshaw first reported. This change was first suggested by a Chromium contributor from Microsoft last year, the Register's Tim Anderson reported — not surprising, as Microsoft is using Chromium to power its own Edge browser.
OpenZFS, an open source storage project, has changed the terms "slaves" to "dependents." The Go programming language, which was created by Google, and Red Hat's OpenShift, its version of the Kubernetes cloud computing project, have also made similar changes.
Matthew Ahrens, creator of the OpenZFS project, was the one who submitted the change to remove references to "slaves" in the storage software. He told Business Insider that it first came to his attention after his coworkers at Delphix organized their Juneteenth hackathon.
That made Ahrens wonder if there was any similar terminology in OpenZFS, to which he still frequently contributes. He was surprised to find that it contained several references to "slaves."
"I think using these terms, it's hurtful. It reminds people of really negative human interactions," Ahrens said. He later added: "It doesn't feel right to use a heavy term in a flippant way."
Terms like 'master' and 'slave' have been around for decades, but the tech industry is starting to make changes
This terminology has long existed both in hardware and in software — a computer handbook from 1969 refers to the terms "master" and "slave." The conversation over those terms, too, goes back decades, with complaints circulating since at least the '90s, as Ars Technica notes.
In fact, back in 2003, Los Angeles officials asked manufacturers, suppliers and contractors to stop using the terms "master" and "slave" on computer equipment. Some engineers also spoke out against these terms at the time. More recently, in 2018, the Internet Engineering Task Force also published a memo specifically on this topic to identify "oppressive terminology" in tech and suggest alternatives.
Several other projects, too, have already replaced master/slave terminology. For example, the Drupal and Django web application frameworks started using "primary" and "replica" in 2014.
The popular programming language Python has also been making these changes over the past few years.
Python core developer Mariatta Wijaya recalls that in 2017, developers wanted to introduce a feature for a GitHub bot that checks if users have signed a contributor license agreement. Wijaya made a conscious decision that she didn't want to use the terms "whitelist" for users who have already signed one and "blacklist" for users who have not. Instead, she broke it down into "trusted users" and otherwise.
Not long after, in September 2018, Python replaced the terms "slaves" with "workers," "helpers," or "child," and "master" with "parent."
"I think it's important because I know there are people who are offended because of historical reasons," Wijaya said. "Maybe it triggers trauma within them. Even though we don't share the same experience, it's important to empathize with them and understand who we are excluding by keeping the terminology like the master and slave terminology."
Making these changes can create a ripple effect through the industry, Wijaya says, as new open source projects may look to popular ones as a model. And maybe it can set an example for members of the open source community to be mindful of their language elsewhere, too.
"I think maintainers have the responsibility to set up a good example and use more inclusive language, not just in master/slave terminologies, but when they address the audience as well," Wijaya said.
Developers often didn't speak up because they 'adopt this shell' to protect themselves
The terms in question are decades old, as are the arguments over them. But widespread change has been slow to come to the industry because developers may not feel comfortable speaking up, Brown, the Microsoft developer, says. Instead, he says, Black people in tech "adopt this shell," trying not to engage with the subject for fear of being excluded.
"We act like things don't bother us because we don't want to be rocking the boat," Brown said. "When we get into the field, and they say, 'here's a master slave device,' we're not very likely to bring it up because we know how that creates an aura that 'oh, he's a troublemaker.'"
For example, Adama Robotics CEO Dauda Barry, who is Black, says that when he first came across the terms "master" and "slave" in software while he was still in university, he wrote off his own discomfort, telling himself that he was just being sensitive. But amid the recent conversations on the topic on Twitter, he realized that he wasn't alone in disliking the terms.
"When I came across it the first time, I raised my eyebrow and just brushed it off quickly," Barry told Business Insider. "[Changing these terms] makes the tech ecosystem more inclusive. There are many ways to make a place inclusive. We want to make sure more developers of color will feel comfortable working in tech and can be their true selves."
In addition, the open source community often fosters so-called "benevolent dictators," project creators and maintainers who have the final say on all decisions — and who don't always see inclusion as a priority, if they care about it at all.
"This results in a very homogeneous group of people being able to contribute or ask these bigger questions," product designer Chris Messina, famed as the inventor of the social media hashtag, said. "The language you use affects the people who are able to participate."
A newfound sense of urgency to make the change
Even if this isn't a new debate, the movement has a newfound sense of urgency amid the national conversation on systemic racism, says independent product designer and regular open source contributor Tatiana Mac.
In the past, people who suggested a change to the language would get ignored or sidelined, Mac said. And when some projects do make a change, Mac says, some elements of the software community revolt — on Twitter, and within the community itself — saying that they shouldn't be expected to make changes to their software for what they see as a political purpose. Changing the terminology is sometimes seen as a matter of "political correctness."
For instance, when Python replaced its terminology in 2018, Wijaya says that some maintainers ended up getting harassed over the matter. Those kinds of incidents have a chilling effect on future efforts to make change, Wijaya suggests.
"That is something that we've done and something that we care about," Wijaya said. "We also know that it is controversial. Some of our maintainers are just burned out from that incident. They did not have the mental capacity to continue with such discussions. The change was made, but it had the cost of open source maintainers having to deal with mental harassment."
Mac says that tech can't see itself as distanced from the conversation on race, however — even as Microsoft, Salesforce, and Amazon pledge solidarity with the Black community, critics say that their work with law enforcement could undermine their stances. Given the intertwining of the two, Mac says, it's important that software represents the values of the people who make it.
"I think it's important that we evolve our technology to fit our ethical stances," Mac said. "There are so many people in tech who love to hide behind this concept that tech is apolitical."
Read more: Tech companies like Amazon, Microsoft, and Salesforce are taking a stand against systemic racism, but their work with law enforcement could contradict their stances
In fact, it shouldn't even be a debate, Brown says. He likens the discussion to people fighting to keep Confederate monuments standing.
"You have millions of people in America who have trauma associated with that terminology, and you want to say that doesn't matter," Brown said. "You want to say, keep that technically inaccurate term and argue in upholding this rather than saying, this might cause problems for people. Let's take 30 seconds to change it out."
Advocates say these new terms are more inclusive and accurate
Terms like "master," "slave," "blacklist," and "whitelist" are not only hurtful, but unclear and often inaccurate, advocates say. Meanwhile, updated terms like "main," "primary," "allowlist," and "blocklist" more clearly reflect their actual meaning.
"All these other microaggressions, that's one more microaggression," Brown said. "It's not that hard to make the change. It's not even a technically accurate term, and you're defending it."
In software, developers have seen many other ways that language can be exclusive. For example, software projects often come with documentation to explain how to properly set up and run the code. Oftentimes, it will refer to engineers with "he" or "him" pronouns, excluding female or nonbinary developers.
"I see that a lot in documentation," Emily Kager, mobile Android engineer at Mozilla, told Business Insider. "It's a subtle thing. People feel less welcome in that they're not writing about you. We should make language as gender inclusive as possible."
Another example is the term "sanity check," a term that refers to when developers review code. This language can exclude people with mental illness or disabilities, Mac, the product designer, said.
For this reason, Mac started a dictionary project for the tech industry called Self-Defined, which identifies problematic language, explains its impacts, and suggests alternatives that can be used.
"Language has a lot of power," Mac said. "It's embedded so passively in everything that we view. These conversations should happen more frequently."
While the tech industry still has a long way to go when it comes to diversity, equity, and inclusion, these small changes would make the tech ecosystem more inclusive, earn the trust of more diverse community members, and help Black developers feel more comfortable, advocates say.
"Why are you not changing it? It's 30 seconds," Brown said. "It won't break anything. It will make your project more welcoming."
Got a tip? Contact this reporter via email at [email protected], Signal at 646.376.6106, Telegram at @rosaliechan, or Twitter DM at @rosaliechan17. (PR pitches by email only, please.) Other types of secure messaging available upon request.
Source: Read Full Article