Yesterday, core contributor Aaron Jorbin proposed renaming the default “master” branch for all WordPress-owned Git repositories to “main.” The proposal comes among a flurry of related terminology changes that the larger tech community is considering around oppressive language.
Based on the ongoing discussion in the comments of the proposal, the term “trunk” has gained popularity, and the original post has been updated in favor of that term. If it moves forward, trunk would be more in line with core WordPress, which uses Subversion (SVN). It would also make sense along with the “branch” terminology already in use with both SVN and Git — tree, trunk, and branches.
“As a part of tearing down the systems of oppression that exist in the world, WordPress should remove references to master
and replace them with trunk
in all git repositories,” wrote Jorbin.
Amidst the backdrop of the Black Lives Matter movement and following the death of George Floyd, the tech community has been taking a deeper look into its systems and determining what changes it can make. While there are larger systemic issues at play, many are determined to remove any potentially oppressive or discriminatory terminology. The idea is not that these minor changes will create an evolution overnight but that they are small pieces of the much bigger picture — cogs in the machine that must move for the wheel to turn.
“This is a small move, but if it makes one more person comfortable contributing to a WordPress project, it will be worth it,” wrote Jorbin.
GitHub should soon be making a similar change across its platform. In response to a tweet calling for GitHub to lead the charge and rename the default “master” branch to “main,” CEO Nat Friedman said they were already working on a solution. It is unclear how this will work going forward and whether it would affect existing repositories. For now, it seems GitHub is on board.
Thus far, the WordPress proposal has been mostly met with support. However, there was some dissent.
Core contributor Zebulan Stanphill argued that language is oppressive based on context and, in this context, the change does not make sense. “Similarly, no one in their right mind is going to think you support human slavery when you use the term ‘master branch,’” he wrote in the comments of the proposal. “The term ‘master’ itself is already used far outside of the context of slavery. Think novice->pro->master. Think also: mastering the craft, remastering music, and etc.”
As harmless as the word “main” seems in most Western cultures, a comment posted by Mike Schroder (original Japanese text by Takayuki Miyoshi and translation by Shinichi Nishikawa) pointed out that it was problematic in Japanese culture. “In Japan, for example, to put ‘main’ and ‘others’ as different groups has been utilized as an excuse to justify discrimination,” said Miyoshi. “Not caring about suppressing the Ainu people and their culture at all is possible because of the assumption that Yamato folk is the main and others are secondary. I now came to a point to think we should consider that to set one thing as ‘main’ creates marginals that get oppressed.”
Language is not always easy, especially when addressing a global community, each with their own terms that are possibly discriminatory. For now, trunk seems to be a good fit while throwing a nod to WordPress’s SVN roots.
This would not be the first time that WordPress has made a move to change terminology such as this. David Artiss, a Support Engineer at Automattic, created a ticket seven months ago to rename “comment blacklist” to “comment blocklist.” The change, which replaced only the user-facing text, went largely unnoticed and landed in WordPress 5.4.
Jason Coleman, CEO of Stranger Studios, also opened a more extensive ticket two days ago. It calls for changes of any use of “blacklist” to “blocklist” and “whitelist” to “safelist,” even within the code and database options. Such changes would be backward compatible and not break sites upon upgrade.
Change is almost certainly coming. The big decision is going to be around what the new terms will be.
For developers who want to rename the default branches of their own Git repositories, there is an existing project with instructions and a GitHub action for doing so.