kras99 - Fotolia

Problem solve Get help with specific problems with your technologies, process and projects.

Master-slave terminology alternatives you can use right now

Software companies have found alternatives for master-slave terminology to describe their distributed systems. It's time for the rest of the IT world to do the same.

Fifteen years ago, while teaching a WebSphere Portal class attended by several black students, I became incredibly uncomfortable when the standard software term master and slave came up in our discussion about scalability and workload management.

It was clear to me then that a master-slave terminology alternative was needed. What surprises me is that some software companies still use it.

Fortunately, this change is an ongoing process, albeit a slow one. In version 2.0, Jenkins opted to substitute the term agent in for slave, although the old vernacular still shows up from time to time buried within the tool.

"We started on that change a few years ago," said Jenkins creator Kohsuke Kawaguchi. He noted that Jenkins prioritized the change once he became aware of the cultural baggage the term carried. "There was no reason not to do that, so we just renamed it."

Similarly, Drupal and Redis have found primary and replica to be a sensible alternative to master-slave terminology.

Of course, the challenge with adopting new terminology is to find a word that properly conveys the function it describes. Primary and replica are reasonable terms to describe distributed databases, but they aren't the right choice for all situations. Jenkins' use of the term agent is much better than the use of the word slave, but does it properly convey the performance of the function? Let's explore some master-slave terminology alternatives and how they can be properly integrated into your vocabulary.

master-slave terminology
Jenkins is continuing the ongoing task of removing the term slave from its development tools.

Slave terminology alternatives

There was no reason not do to that, so we just renamed it.
Kohsuke KawaguchiCreator, Jenkins

Some suggested alternatives to the term slave in software programs include:

  • operative
  • node
  • worker
  • replica
  • drone
  • handler
  • steward
  • emissary
  • doer
  • mason
  • coordinator
  • conscript

SaltStack has used the term minion as an alternative to slave, which tends to put a smile on people's faces. There is merit when you replace a negatively charged term with something that involves a bit of levity.

Master terminology alternatives

The term master isn't as culturally charged as slave, but if a completely clean slate is the goal, master terminology alternatives include:

  • agency
  • hive
  • primary
  • conductor
  • captain
  • schemer
  • guide

Master-slave terminology alternatives

When you combine some of these various suggestions together, some fully formed master-slave terminology alternatives might include:

  • agency and operatives
  • captain and conscripts
  • master and masons
  • hive and drones
  • schemer and patsies
  • primary and replicas
  • scripture and prophets

I like the term scripture and prophets, as scripture implies a set of instructions that are virtuous and trusted, while prophets describe the people who produce and perform important work. However, if we were to replace a term that brings up racial issues with one that conveys religious undertones, it likely wouldn't be the best approach.

Poe's law asserts that it can be difficult to distinguish extreme views from parody, and I fear that terms such as hive and drones or schemer and patsies might make people mistakenly think I took the mickey out of the issue, when that isn't my intention. But, when this attempt to find a master-slave alternative tends to devolve into eye roll-inducing options, it underlies how inherently difficult this process will be.

The bottom line is that the old terminology has to go. I don't really care all that much what master-slave terminology alternatives that organizations come up with. All I hope is that developers and architects make it a priority and a permanent change.

Dig Deeper on Enterprise development security

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What do you consider to be a better alternative to the terms master and slave in computer parlance?

Principal  and Subs  (short for subordinates)

Prime and Subs (short for subordinates)

I like those, principal better than prime. They continue along the captain and conscripts line of thinking.
Master and Slave is a  good descrption.   Don't see a need to change it
you are a walking example of ignorance and privilege 
I find it bizarre that thinking of an alternative to M/S terminology is even a "challenge". If your default line of thinking goes to M/S wording and hierarchy in your head try questioning why is that so. When it comes to software and developing, inter-dependencies do not need to be attributed human social hierarchies, let alone problematic ones such as M/S, Dom/Sub, Ruler/Servant, or anything like that. Origin, instantiation, node, many of the others listed above are great, thanks. 
I'm on a conference call and the term, "master/slave." I thought, there has to be some change of that term by now. So I Googled and found this among others. Lots of opinions with recommendations. Seems as though some very simple would be completely understood by would be "parent/child." 
Let's use terms that start with the same letters so we don't have to rewrite things like MISO and MOSI.

Like manager and subordinate.