The terms “master” and “slave” have drawn varying degrees of ire in engineering circles. And, in light of shifting norms and perceived racial connotations associated with the terms, many professionals are questioning their engineering necessity.
Accordingly, the issue underscores electrical engineering’s diversity shortcomings—an evolving challenge as we morph into an information-based economy, and as Black representation in the field continues to lag behind. In fact, only 3.53% of electrical engineering degrees were awarded to Black or African American students in 2017.
What are the origins of this terminology in electrical engineering? And what are the stances in preserving or replacing these terms on an industry-wide scale?
The Meaning of Master and Slave in Electrical Engineering
“Master” and “slave” have been used for decades to describe the relationships between various components, process controls, and resource branches. “Master” may mean first, whereas “slave” accordingly is considered second.
“Master” and “slave” used on a circuit board. Image used courtesy of VICE
These terms also have their places on the device side. Within a hardware ecosystem, a “master” device may serve as the hub while “slave” devices behave accordingly to its directives.
Some practical examples:
- ATA hard drive groupings, where the “master drive” has communicative priority
- “Master clocks” send timing signals to multiple “slave clocks” for synchronization
Both terms have traditionally described the hierarchical link between components and other technological elements.
A Long-Held Discussion on Nomenclature Comes to a Head
2020 isn’t the first time that the nomenclature has been a talking point. In fact, as far back as 2003, Los Angeles officials suggested that manufacturers, suppliers, and contractors explore alternatives to master-slave terminology.
“Master” and “slave,” despite their seemingly-innocuous meaning in computing, have inspired criticism for their racial undertones. While minority professionals have led the charge to change the terminology, their requests haven’t been homogenous; white professionals and allies of the racial-equality movement have voiced their concerns as well.
Recently, EE Times contributor Leonard Ellis exhorted IEEE to retire the terms “master” and “slave,” proposing “controller” and “responder” as an alternative. Image used courtesy of EE Times
That’s not to say that these terminology changes are universally praised. When an entire industry operates one way for a long time, those routines become entrenched and can be tangibly difficult to shift at a programming level. In Los Angeles’ case, vendors and manufacturers decried the proposal because it would require cumbersome relabeling and identification.
Though the move was merely a suggestion, switching to new terminology does incur scaled costs—especially when a company must invest in their employees’ efforts to make system-wide changes in terminology.
No matter which camp people find themselves in, this issue has depth—especially in countries like the United States that are still confronting the historical weight of slavery and racial prejudice. This conversation on terminology has added pressure as racial tensions boil over nationwide in cities like Kenosha and Portland.
Tech Companies Changing the Terminology
Companies purporting themselves as culturally sensitive have pledged to consider employee complaints. As we’ve seen with Twitter, sometimes only two voices are needed to inspire action at the organizational level. A pair of engineers kickstarted the effort internally following months of lobbying—an effort since bolstered by the Black Lives Matter movement.
Here’s what Twitter Engineering had to say:
Twitter Engineering’s statement on inclusive language. Image courtesy of Twitter Engineering
The change was part of a greater campaign—its roots traced back to January—to replace many dubious terms throughout Twitter’s coding and documentation. The entire open-source community encompassing Twitter has faced these same challenges head-on.
Perhaps no company is more synonymous with open source than GitHub—a preeminent development platform with over 40 million active users. The company has recently announced that it is converting any references to “master” with “main.” This is occurring within GitHub’s own repositories and documentation.
Immediate enforcement could impart plenty of instability upon existing repositories and projects. However, GitHub has promised a phased rollout. Individual developers are also encouraged to rename their own branches accordingly. GitHub is an indispensable tool for numerous tech companies. Consider that over 25,000 of Microsoft’s developers harness GitHub—underscoring the impact of one site’s corrective steps.
Additionally, Android, Go, the PHPUnit library, Curl have promised to take similar steps with related terminology. OpenZFS’ own adjustments have also emulated Twitter’s. Django and Drupal have also introduced alternatives to these terms.
A Question of Association
Skeptics of the proposed master-slave terminology shift have acknowledged the inherently negative link between “slave” and “master” when used in tandem. However, many have expressed that while the former must be stricken from the EE vernacular, the latter term isn’t offensive in itself.
Python axed the terms “master” and “slave” from its programming language back in 2018, sparking the discussion of whether “master” can still be used so long as it is not in association with a “slave” counterpart. No need to alter both terms if the effort puts an undue burden on manufacturers and programmers, explained those opposed to the change.
GitHub’s announcement to change “master” to “main.” Image used courtesy of GitHub
As mentioned previously, GitHub made the shift from “master” to “main,” even though a “slave” counterpart doesn’t exist in GitHub’s references.
Alternatives to Master-Slave Terminology
Each company has its own approach when nixing “master” and “slave.” What alternatives have been proposed and instituted?
- Primary and secondary
- Primary and replica
- Primary and standby
- Leader and follower
- Conductor and follower
- Source and sink
These alterations have inspired an expanded endeavor to replace other common terms like “whitelist” and “blacklist.” It has also reignited the discussion around gendered terms as teams have taken a holistic approach to revamp technical vocabulary considered culturally insensitive.
The Case for Inclusivity May Take Initial Adjustments
For various reasons, the move to render “master” and “slave” technically obsolete has had its supporters and detractors. Supporters remark that Black engineers (and hopefuls) have already had to carve successful paths in a field that doesn’t represent them adequately. A change in this terminology would encourage more inclusivity in the field, they explain.
Race and ethnicity in electrical engineering by degrees awarded. Image used courtesy of Data USA: Electrical Engineering
Detractors claim that the change is too expensive, time-consuming, or impactful upon existing systems. These individuals feel the adjustment period to new terminology would be too steep, should this change become ubiquitous, and the process of changing the terms may seem tedious at the onset.
Some vendors worry that companies may reject their products if changes don’t occur within critical time periods.
Companies and individuals will have some decisions to make in the near future—taking their users, customers, and suppliers into account. How the engineering realm responds may influence how accepted the Black tech community feels worldwide.