The New York Times is releasing guidelines for how we describe our products
By Sarah Duncan
Words have meaning. This statement shouldn’t be a surprise coming from The New York Times, but for the technology industry at large, it’s something that has been increasingly discussed in recent years.
Whether it’s terminology like “master” or “blacklist,” words with harmful connotations have been baked into tech communication for decades. Words like these bring with them the weight of slavery and discrimination, and signal that those who have held power in the tech industry have had the privilege to ignore the impact of these antiquated terms. People of color are still underrepresented in tech, and the industry’s continued use of these terms acts in direct opposition to an inclusive and equitable culture.
However, tech culture is changing. In 2014, Drupal replaced “master” and “slave” with “primary” and “replica.” Then, in 2018, Python adopted new terminology such as “worker” and “helper.” More recently, Github announced that they would permanently change their default naming conventions for initial repository branches from “master” to “main.”
Like many other organizations, The Times is re-examining the language we use to be more mindful of how we describe our technology. With the support of our technology leadership and product stakeholders, a group of Times engineers and product designers wrote a set of guidelines for our own naming conventions.
We are sharing them here with the hope that advocating for these changes adds to the momentum we’ve seen in the technology industry to create a safe and inclusive culture for all.
Alternate terminology to replace “master/slave”
- Primary: This denotes the database that is the source of truth.
- Standby: A Standby serves as a replica that follows the state of the Primary database.
Alternate terminology to replace “master”
- Primary: This communicates prioritized, shared content. It is a source of truth.
- Base: This communicates a source or template from which other items can be derived.
- Main: This communicates order or hierarchy, especially in navigation or information architecture contexts.
- Original: This communicates the first instance of something or the origin of a copy.
- Source: This is similar to “base” or “original” and can serve either purpose.
- Central Plan / North Star: These will replace terms like “Master Plan” in contexts where they are needed.
Alternate terminology to “master” and “slave”
- Controller, Manager, Mediator: This references an object that distributes tasks or encapsulates how a set of objects interact. This is the Mediator in the Mediator Design Pattern, commonly used to coordinate between different workers as described in this Dive into Design Patterns.
- Worker, Colleague: This is an object that executes a task or process, coordinated through a dispatcher or parent process. This is the Colleague in the Mediator Design Pattern.
Permissions and Accept/Block Terminology
Alternate terminology to replace “whitelist” and “blacklist”
Although “whitelist” and “blacklist” carry implications of the history of slavery and discrimination, they are largely arbitrary terms that are not particularly precise or explanitory. Some alternatives that overcome those limitations include:
- Allowlist: This references a list of users or resources which are granted access to a particular system or set of systems.
- Denylist, Blocklist: This references a list of users or resources which are denied access to a particular system or set of systems.
- Access Control List (ACL): This references a list of rules which indicate which users or systems are allowed access to a particular set of resources.
When in doubt, be specific! For example, if you’re filtering banned words, specify why those words are banned using phrases like, “insensitive word list” or “offensive word list.”
Version Control Terminology
Alternate terminology to replace “master” branches
- main: If an alternative to “master” is needed for a source of truth, production-ready branch, we recommend “main.” Any additional options, like using “production” or “develop” also work!
With the understanding that making these kinds of changes takes time, all of our digital product teams will be incorporating these new terms into engineering, product and design work by the end of the first half of 2021, with exact timelines decided by the magnitude of the changes required. Going forward, we are asking teams to abide by these guidelines in all new work. Recognizing that this is an iterative process, we also encourage our colleagues to propose additions to the guidelines.
As a journalism and technology company, we believe in using words that align with our values. And we believe in fostering an inclusive, equitable and diverse culture. Changing the terminology we use is one small piece of that larger mission.
Sarah Duncan is a Senior Data Engineer from Brooklyn, NY, working as the Tech Lead for the Media Innovations team in Data Engineering. Over her two years at The New York Times, Sarah has started the Python Community of Practice and joined and chaired the Architecture Review Board. She has a passion for making software reusable, data easily accessible and tech communities inclusive.
Source: New York Times