4 ms·
"Slave" is technically incorrect. There are better terms to describe the behavior such as "follower" or "replica". If someone has been around long enough to un
by schneems 9y ago
"Slave" is technically incorrect. There are better terms to describe the behavior such as "follower" or "replica".
If someone has been around long enough to understand what a "slave" is can't figure out what a "replica" or a "follower" does, maybe they shouldn't be in tech. The transition cost for documentation is essentially zero.
Naming things is hard, and better names are better for everyone. Antirez said he would change the name if he could start over, hence the hill you're dying on is not shared by the author of the library you're posting on.
Edit: For clarity of argument.
- Sir_Cmpwn 9y agoIt's not just a replica, it can work offline for a while and push back. Leader/follower is also flawed in my opinion. It's master and a slave even if it offends your sensibilities. These arguments are a waste of everyone's time. >This hill you're dying on looks awfully lonely. Ironic coming from a grey response to a 15 point comment. I will change my tune if even one victim of slavery comes forward and speaks about the use of the terminology.
- schneems 9y ago> It's not just a replica, it can work offline for a while and push back. Leader/follower is also flawed in my opinion. It's master and a slave even if it offends your sensibilities. I'm glad that your concerned that "follower" and "replica" aren't perfect terms. We should be concerned with terminology. I humbly suggest that "slave" DBs are not physically whipped by their "masters", therefore are an even worse metaphor. > These arguments are a waste of everyone's time. Then why are you wasting your time? If you don't care, don't argue back. Boom, you've got your time back. We all get a better name, everyone is happy.
- Mouse47 9y agoI agree that the terminology doesn't matter, but consensus does. Master/slave are the commonly understood terms. Here's a question: if "slave" is offensive, should "kill" (as in 'kill 69' to kill a process in SQL Server) be considered offensive as well? Simply as a consequence of being something 'bad/immoral'? I'm sorry, and I'd be glad to be corrected, but I genuinely find this argument...disingenuous. And people who see things the same way I do see that kind of argument and think that you've got other motives. EDIT: I want to say (to prevent this discussion from flying off into Trump-land) that I'm liberal on most issues except gun control. I just have a hard time relating to the 'micro-aggression-y' brand of liberalism I've been seeing of late.
- schneems 9y agoMaster/slave was also a commonly accepted role of business for far longer than it has been a computer term. We managed to change that in the west. I believe in us, we can do it. > I genuinely find this argument...disingenuous My argument is that the term is not technically correct. How is that disingenuous?
- Mouse47 9y agoI'm arguing specifically against the term being offensive. EDIT: and oddly, I can't seem to find the word anywhere in your comment that I replied to. Am I losing my mind, or did you take that part out?
- schneems 9y agoI had it in there to emphasize how un-technically incorrect it is. Apparently people saw the word "offensive" and they didn't read the rest, so I took it out to add clarity. I forgot that HN doesn't provide a diff of edits, so went back and added a note in the comment that it was edited. Edit: Edited this note to mention I updated the previous note with an edit note.
- Mouse47 9y agoI'm fine with an argument based solely on its technical merits. But then you're going to lose out to things like backwards compatibility and the sheer force of momentum - everyone understands these terms. There are probably hundreds of ill-fitting terms in the tech world that now mean what we mean them to mean (lol). This one receives blowback not because it's technically unsound (which it might be), but because some paint it 'offensive'. That's why everyone seized on this part of your (now edited) argument. EDIT: thanks for being honest btw
- schneems 9y agoFor most projects it seems like a pretty easy change. You could add new keywords, alias the old methods/commands to them. You don't even have to deprecate them, just make the docs point to the newer terminology. What is easier having to have this conversation EVERY time the term gets used for the rest of eternity, or making the change once and being done with it?