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 and beta software released last 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 triggered by 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 in domains where they have some influence.
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."
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."
Developers should watch for terminology changes that might affect them when their apps call on Apple interfaces, Apple said.
"Developer APIs with exclusionary terms will be deprecated as we introduce replacements across internal codebases, public APIs, and open source projects, such as WebKit and Swift. We encourage you to closely monitor deprecation warnings across your codebases and to proactively move to the latest APIs available," Apple said.
Similar efforts to change technical language have occurred long before today's protests.
In 2018, developers of the widely used Python programming language dropped "master/slave." Four years earlier, the team behind Drupal, online publishing software, replaced the terms with "primary/replica," though the change provoked objections from some commenters. In 2003, Los Angeles County asked suppliers and contractors to stop using "master" and "slave" on computer equipment.
Black Lives Matter. Visit blacklivesmatters.carrd.co to learn how to donate, sign petitions and protest safely.