Linux 5.8 Formally Adds The Inclusive Terminology Guidelines
Merged overnight into the Linux kernel source tree are the new guidelines concerning the use of "inclusive terminology" for future code.
It was just one week ago that the inclusive terminology guidelines for the Linux kernel were first proposed to mixed reaction and have now been merged into the source tree after receiving enough approval of various upstream kernel maintainers.
At this stage these guidelines, which are part of the Linux kernel's coding style, are about avoiding new usage of the words "master" and "slave" within the kernel code as well as avoiding "blacklist" and "whitelist". This is intended for new code moving forward or modifying existing code but as long as it does not break the kernel ABI.
The added documentation at this point amounts to:
There are around 19.5k mentions of "slave" within the kernel source tree, mostly within the kernel networking code. The string "master" is mentioned some 26.9k times. For "blacklist" are around 888 mentions when checking in the current Git tree. Linux is currently at around 69.3k text files with around 3.54 million lines of code comments and 20.1 million lines of code (along with 3.6 million blank lines).
It was just one week ago that the inclusive terminology guidelines for the Linux kernel were first proposed to mixed reaction and have now been merged into the source tree after receiving enough approval of various upstream kernel maintainers.
At this stage these guidelines, which are part of the Linux kernel's coding style, are about avoiding new usage of the words "master" and "slave" within the kernel code as well as avoiding "blacklist" and "whitelist". This is intended for new code moving forward or modifying existing code but as long as it does not break the kernel ABI.
The added documentation at this point amounts to:
For symbol names and documentation, avoid introducing new usage of 'master / slave' (or 'slave' independent of 'master') and 'blacklist / whitelist'.
Recommended replacements for 'master / slave' are:
'{primary,main} / {secondary,replica,subordinate}'
'{initiator,requester} / {target,responder}'
'{controller,host} / {device,worker,proxy}'
'leader / follower'
'director / performer'
Recommended replacements for 'blacklist/whitelist' are:
'denylist / allowlist'
'blocklist / passlist'
Exceptions for introducing new usage is to maintain a userspace ABI/API, or when updating code for an existing (as of 2020) hardware or protocol specification that mandates those terms. For new specifications translate specification usage of the terminology to the kernel coding standard where possible.
There are around 19.5k mentions of "slave" within the kernel source tree, mostly within the kernel networking code. The string "master" is mentioned some 26.9k times. For "blacklist" are around 888 mentions when checking in the current Git tree. Linux is currently at around 69.3k text files with around 3.54 million lines of code comments and 20.1 million lines of code (along with 3.6 million blank lines).
105 Comments