X
Business

GitHub to replace "master" with alternative term to avoid slavery references

GitHub getting on board legitimizes movement aimed at removing racially-charged language from software.
Written by Catalin Cimpanu, Contributor
github-logo.png

GitHub is working on replacing the term "master" on its service with a neutral term like "main" to avoid any unnecessary references to slavery, its CEO said on Friday.

The code-hosting portal is just the latest in a long line of tech companies and open source projects that have expressed support for removing terms that may be offensive to developers in the black community.

This includes dropping terms like "master" and "slave" for alternatives like "main/default/primary" and "secondary;" but also terms like "blacklist" and "whitelist" for "allow list" and "deny/exclude list."

The concern is that continued use of these racially-loaded terms could prolong racial stereotypes.

"Such terminology not only reflects racist culture, but also serves to reinforce, legitimize, and perpetuate it," wrote academics in a 2018 journal.

BLM protests spur new efforts to clean out software language

Now, spurred by the Black Lives Matter protests across the US, the tech community is engaging again in efforts to remove such language from source code, software applications, and online services.

For starters, the Android mobile operating system, the Go programming language, the PHPUnit library, and the Curl file download utility have stated their intention to replace blacklist/whitelist with neutral alternatives.

Similarly, the OpenZFS file storage manager has also replaced its master/slave terms used for describing relations between storage environments with suitable replacements.

Gabriel Csapo, a software engineer at LinkedIn, said on Twitter this week that he's also in the process of filing requests to update many of Microsoft's internal libraries and remove any racially-charged phrases.

Other projects that don't use racially-charged constructs in their source code or user interfaces directly are now looking at their source code repositories.

Most of these projects manage their source code via the Git software, or the GitHub online portal (which provides Git-based source code hosting).

Both Git and GitHub use the term "master" for the default version of a source code repository. Developers fork a version of the "master" to create secondary versions, add their own code to this default version, and then merge their changes back into the "master."

Now, several open-source projects are changing the name of their default Git repo from "master" to alternatives like main, default, primary, root, or another.

For example, ZDNet found that projects like the OpenSSL encryption software library, automation software Ansible, Microsoft's PowerShell scripting language, the P5.js JavaScript library, and many others are looking at changing the name of their default source code repos, in a bid to stamp out racially-charged and slavery-related terms, in a way of showing support for the BLM movement and their protests.

The move has taken the open-source development community by storm, so much so that even the Git project itself is now considering an official change, albeit discussions in its mailing list and GitHub Issues section are still going on, with considerable pushback.

GitHub support legitimizes and streamlines movement

But even if Git formally replaces the "master" name or not, GitHub appears to have decided to move on, regardless of Git's decision.

On Friday, Google Chrome developer Una Kravets tweeted that the Chrome project was considering a similar move of renaming the default branch of the Chrome browser source code from "master" to a neutral term like "main."

Kravets asked GitHub to follow Google in its move and help drive change across the industry, a move to which GitHub CEO
Nat Friedman answered promptly, revealing that the company was already working on the issue.

GitHub lending its backing to this movement effectively ensures the term will be removed across millions of projects, and effectively legitimizes the effort to clean up software terminology that started this month.

But, in reality, these efforts started years ago, in 2014, when the Drupal project first moved in to replace "master/slave" terminology with "primary/replica."

Drupal's move was followed by the Python programming language, Chromium (the open-source browser project at the base of Chrome), Microsoft's Roslyn .NET compiler, and the PostgreSQL and Redis database systems.

However, despite some pretty big projects getting on board, efforts to clean up software language across the years have not been widely embraced.

Most detractors and the explanation that often resurfaces in these discussions is that terms like master/slave are now more broadly used to describe technical scenarios than actual slavery and that the word "blacklist" has nothing to do with black people, but the practice of using black books in medieval England to write down the names of problematic workers to avoid hiring in the future.

Editorial standards