Apple has joined an industry trend toward more inclusive language in its technical domain, replacing terms with racial overtones like a “master” branch of a software project or a “blacklist” to describe resources a computer might be blocked from accessing.
Apple started making the changes in its own documentation released earlier this month at its WWDC conference. But on Thursday, it started describing the changes more directly on its developer website to programmers who might be affected by the change. That’s important since some terminology changes can actually affect how code works — for example programming interfaces that use particular words.
“At Apple, we’re working to remove and replace non-inclusive language across our developer ecosystem, including within Xcode, platform APIs [application programming interfaces], documentation, and open source projects,” the website said.
Apple declined to comment beyond the developer announcement.
The effort to move technical language away from terms like “master” and “slave” has been going on for years. But it’s gathered new momentum with the police killing of 46-year-old George Floyd in Minnesota in May. Proponents don’t expect to cure racial injustice, but are trying to address racism issues in domains where they have some influence.triggered by the
Twitter formally began a similarin January. One impetus for the change was when Black programmer Regynald Augustin received an email with the phrase “automatic slave rekick.” It was part of an engineering discussion about restarting a secondary process, but Augustin said it made him “madder than I ever thought I’d be in the workplace.”
Microsoft’s GitHub is making related changes, and programmers in Google’s Chromium project have discussed similar moves.
In Apple’s case, it’s replacing blacklist with deny list, whitelist with allow list, and master branch with main branch. When talking about people, Black is now capitalized.
The changes announced Thursday are also now included in the Apple Style Guide. For example, for the “blacklist/whitelist” entry, Apple says “Don’t use. Instead, use an alternative that’s appropriate to the context, such as deny list/allow list or unapproved list/approved list.”
For the “master/slave” entry, Apple has this advice: “Don’t use to describe the relationship between two devices or processes. Instead, use an alternative that’s appropriate to the context, such as primary/secondary, primary/replica, main/secondary, or host/client.”