How “Master” and “Slave” Terminology is Being Reexamined in Electrical Engineering
"Master” and “slave” have been used for decades in engineering vernacular. Now, many tech companies are pushing for more neutral terms.
The terms “master” and “slave” have drawn varying degrees of debate 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, those in support of changing master-slave terminology argue that the terms' acceptance in the field speaks to the shortage of Black representation in the field. 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 perceived 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.
Tech Companies Changing the Terminology
Companies purporting themselves as culturally sensitive have pledged to consider employee complaints. At Twitter, a pair of engineers kickstarted the effort to change such terminology internally following months of lobbying—an effort that increasingly gained support at Twitter headquarters in tandem with 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 policy changes.
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
Some 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
Several companies have introduced their own approaches when nixing “master” and “slave.” Here are some proposed and instituted alternatives:
- Primary and secondary
- Primary and replica
- Primary and standby
- Leader and follower
- Conductor and follower
- Source and sink
A Change in Terminology May Require Steep 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 certain time periods.
Editor's note: This article reports a general discussion on terminology occurring in the electrical engineering and tech communities at large. The comments in this article do not necessarily reflect the opinions of All About Circuits or All About Circuits site management.