More recently, we talked that under the influence of Black Lives Matter protests that swept across the United States (and not only), the IT community has returned to discussing inappropriate and offensive terminology. Linus Torvalds did not stand aside and approved the exclusion of the terms slave, blacklist, and others from the Linux kernel code.Currently, many developers are making efforts to remove such terms from their source code, applications and online services.
“Such changes usually include the rejection of the use of the terms master and slave and substitution them with alternatives such as main, default, primary and, respectively, secondary. Also, the established concepts of whitelist and blacklist are replaced by the neutral allow/pass list and deny/exclusion list”, – explain IT community activists.
For example, the developers of Android, the Go programming language, the PHPUnit library and the Curl utility have recently announced their intention to find alternatives for whitelist/blacklist. In turn, the authors of the OpenZFS project are already working on replacing the terms master/slave, used to describe the relationships between storage environments.
Although many projects that do not use these terms directly in their source code or user interfaces, they turned their attention to their source repositories. The fact is that most of these projects manage source code using Git or GitHub, while Git and GitHub, in particular, use the name master for the default repository.
Also in early July, developers of Microsoft, LinkedIn, Google, and Twitter also announced similar change. They all promised to change the technical language of their products and infrastructure, and get rid of terms such as master, slave, blacklist, whitelist and so on.
Linux developers also did not stand aside, and a discussion of more inclusive terminology has been going on for quite long time.
As it was recently reported, the issue has finally resolved: Linus Torvalds made the appropriate commit and approved the new project policy regarding the design of code in the Linux 5.8 kernel branch (although initially it was proposed to make changes to the 5.9 branch).
“The third edition of the text was approved by 21 well-known kernel developers, including members of the Linux Foundation. As a result, it was decided to abandon the use of concepts such as master/slave and blacklist/whitelist, and also not to use the word slave separately”, — said The Linux Foundation in a statement.
It is expected that the new rules will be applied to the new code, while they do not plan to carry out revision of the old one, although the developers do not exclude that, in the end, the “renaming” will affect a considerable part of the existing code. Outdated terms will be allowed only in case of acute necessity.
The terms master/slave are now recommended to be replaced with the following analogues:
- primary, main/secondary, replica, subordinate;
- initiator, requester/target, responder;
- controller, host/device, worker, proxy;
In turn, the terms blacklist / whitelist advise replacing with more neutral versions:
Let me remind you also that Google vice president says “black hat” is not a neutral term.