-
Notifications
You must be signed in to change notification settings - Fork 23.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace "master" and "slave" terms in Redis #3185
Comments
I've seen |
@philcryer that's what I thought too, i.e. "replication" to "replicas". |
I've also seen |
Please, leave redis and whole IT alone. DNS uses master-slave terminology since the beginning so the Internet should be closed and humankind will be still using stones to make fire. |
|
+1 for primary/replica On Thursday, April 21, 2016, Scott M. Sanders notifications@github.com
|
+1 for Gru and Minion.
Those issues about naming are jokes so why not using funny names.
|
|
Comments inline: The summary is: master and slave have racial meanings (especially in North Most words have a plethora of meanings, it is YOU (the reader) the one who and it would be good to avoid them. Why? I am not sure what makes the most sense for Redis. To leave it as it is. The burden of proof that this particular naming Worth noting, CouchDB made a similar change This is fallacious, I don't much care what other people do, it is not an This has already been mentioned before, and was, rightfully, shut down. It [edit: formatting] |
TLDR:
So I'll leave it as it is. |
Slaveof no one won! :)
Redis is great not only as in-memory database.
|
Another classic for the books. |
Seems like no one thought about |
I was pinged on Twitter an endless number of times about it :-) People new to Redis the first time they read the command usually understand there is something going on there... |
I added an anti-slavery message inside the |
It's not a problem when it's consensual kink. |
IMO dominatrix and submissive is the politically correct terminology, since BTW today is Passover, which is all about the Hebrews becoming SLAVEOF NO On Fri, Apr 22, 2016 at 2:48 PM, TheCheapestPixels <notifications@github.com
Itamar Haber | Chief Developer Advocate Mobile: +972 (54) 567 9692 Blog http://redislabs.com/blog/ | Twitter [image: #RedisConf] http://redisconference.com/ |
@antirez could the change not be done so that, say, "replica" (or whatever) is the new term (in the API and other places) and "slave" is an alias that also works (for backwards compat) but is either deprecated in the docs, or otherwise not mentioned. I am not sure |
This is really stupid. "I am not sure SLAVEOF NO ONE really fixes the problem." - okay WHAT PROBLEM? It's slave/master which are very well established terms for "the thing that controls the databus" or "the bit of software that dictates what the others do and coordinates things and the other ones that obey". If it was "Massah" and "N!gger" I'd totally agree with you. You're making an issue where there isn't one. Anyway, to the people that'd make the decision: Should the Tumblirites flock here and make it seem like the populace is skewed in favour of changing these terms please remember that isn't a representative sample. Don't break the API, don't break scripts that might use the words, and don't create synonyms. |
@nslater using different terminology inside the code, in the INFO output and API, compared to the one used in the documentation, is not a good practice I think. Moreover I believe that retaining the terminology, but making people aware, as I tired to do in the
I myself tried to improve my own standards. I'm strongly against death penalty. I consider death penalty one of the most terrible things currently humanity is doing, so for several years I refused to trave to countries applying death penalty, including the United States. I may try to make people change the |
I think differentiation should be called "trans-integration" |
Slavery is not a thing of the past. It continues to exist in many forms, not least of which is the prison industrial complex. "Slave" as a metaphor (and its use in Redis, etc.) cannot be detached from this. In fact, its function as a metaphor depends on this. I'm not suggesting you ban the word. I'm suggesting you deprecate it. This is a pretty standard practice across the software world as APIs change but need to keep backwards compatibility. The docs can simply mention there is a depreciated term that still works for old code. |
Again, by using this term in Redis and by linking to external pages, I want to take the opportunity to remember that we are all slaves. Slaves of businesses, of food advertising, of industrial complex, of politically correct rules to follow, and so forth. Feel free to address the same problem in different ways in other software projects, but for Redis I want to purse this way I said. |
But why deprecate it? What's actually wrong with it? Has some guy been found who was like "I was changing the jumper on an old IDE hard disk from cable-select to master/slave because of some silly motherboard thing and suddenly I realised slavery is okay and kidnapped some children" - oh no, think of the children! Also how dare you compare slavery, the enslaving of innocent people, to the punishments that society puts convicted criminals though. You make me sick. @antirez careful what you say here, all it takes is one person to take it wrong and if/when this blows up it may backfire. (Not a threat at all, I'm totally on your side, I'm parodying it though, you've got your real name and stuff attached to this) |
@JustSomeGuy83 as I said IMHO this is purely a formal thing. You cannot understand that without putting it in the perspective of US politically correct movement. But IMHO it's an extremely ineffective way to improve society. Assuming a software project should be entitled of making people aware of human rights, even if 0.00001% of people reading Redis doc will follow the link to the slavery wikipedia article, I'll reach a much higher goal than the formal thing of deprecating words. Unfortunately politically correct movements are a lot about the formality and very little about the substance. |
@antirez it is highly insensitive and ignorant to suggest "we are all slaves". Your comment that "having to follow PC rules" is, in effect, slavery, is especially galling. |
Right on "sista" |
@nslater you just earned the "first to offend others in a Politically Correct thread" badge. |
@antirez please be careful (see above) https://twitter.com/nslater don't underestimate a networked crazy person. |
I'm just trying to do what I think is correct... but thanks for the advice. @nslater proposed a change. I don't agree but I like the idea of using an OSS popular project to inform people about human rights and related things, so I made some change. Now if @nslater is not happy with what I did I'm sorry but I will not obey to what she says here just because I must... |
The point of changing the terminology isn't to make you guys feel good or bad, it's to be welcoming and open to people who's world view is completely different than yours about slavery. Slavery and discrimination still happen, today, in the real world. You are actively discouraging a future set of programmers by keeping this the way it is. Noah is just trying to encourage positive change. Let's encourage positivity for once. |
if anything, documentation quality is an argument to change away from the more metaphorical master/slave terminology and towards something more descriptive. We're in an industry with a long history of recognizing the importance of naming (it's the other hard problem, besides cache invalidation). Replica actually reflects the thing we're talking about (it's right there in the URL http://redis.io/topics/replication). |
[comment removed by @antirez because it contains too much offenses] (was observation about the 3 white guys getting involved) |
@antirez wrt the last comment, are you going to permit this kind of behaviour? |
@nslater no I don't like insults. Since I don't like also censorship, I'll just act on your behalf if you want the comment removed. Please write a comment with "Yes, I want the comment removed since it offends me" and I'll remove it on your behalf since for me censorship is inappropriate. |
Can you not just "close" the issue? |
This isn't about me being offended or not. Of course, I find the comment objectionable. Instead, it's about the sort of community Redis is building, who is welcome here, and whether this sort of behaviour will be tolerated or actively worked against. Perhaps not for me (as I have no immediate plans to further contribute) but for others who will see this. |
@JustSomeGuy83 I consider this a public debate so to close this seems inopportune, even if I think the probability of good things happening here is extremely small. |
@nslater people will see that here you called me ignorant, and that @JustSomeGuy83 offended you, but I hope most will realize that this is not what happens normally in the Redis community with normal issues. Here the topic is a bit more complex, so I got an ignorant from you and you got offended by @JustSomeGuy83: they'll realize that this kind of stuff generate dramas mostly, especially when trying to be forced, as you are doing in my opinion, after the maintainer of the project stated his point of view. |
I'll tone it back a bit. I came here to show support and poke holes in arguments (or cases if you prefer) to do silly things. I'll stick to that better. @nslater - nice try. Trying to pressure someone into thinking "if you don't remove it it must be your view too". Nice FUD tactics from the guy at the Apache foundation over there. Do you have a serious argument (or case, if that word is too strong)? |
@antirez I said your comments were ignorant, not you. Which they are. It's a factual description, and one which hopefully prompts you to think how and why your argument is flawed. @JustSomeGuy83's comments are not constructive. They are intentionally designed to hurt me and to make me feel unwelcome here. I am hoping you can discern the difference. Future potential contributors will see that you tolerate hate speech against trans women. Even if this is an usual thread, that sends a pretty clear message. I am not trying to force anything. I created a ticket suggesting a change. You replied saying backwards compat is important, and I pointed out that other projects manage fine with deprecation. |
@antirez I think that your response is the most sane reasoning I've seen in this thread. I think that divergence between API and documentation is indeed a very good reason to not institute a change like this, as it would cause problems with teaching people how to use the product. I still think, however, that working to change the terminology could be done in the future with regard to a new major version or similar. Documentation and source code could change in both cases in one jump. I appreciate your stance on keeping the discussion open, too. |
@nslater I decided to remove the comment @JustSomeGuy83 wrote. @nicatronTg thanks I think this is sensible, in Disque I specifically avoided master/slave terminology and I'll do with all the new things I'll build. Here after 7 years is very complex to change this stuff. |
@nslater btw, just as a person-to-person thing, if you say something I say is "XYZ", you are saying I'm a "XYZ sayer" that is the same to say I'm "XYZ" more or less. I think we should try to all work towards being a bit more kind to each other, otherwise it's just a formal thing. |
@nslater https://twitter.com/nslater <--- here you claim I outed you, there's a picture of a guy with a beard and below it says "uses she/her" or whatever. I didn't out you, I bothered to read your preferred pronoun and used it in good faith. It's not really hate speech, have I said anywhere "I hate ...."? Now you mentioned other projects have switched, some things are easier to update than others, makefiles and bashscripts haven't changed like ever. C/C++ - old programs can be run more or less unmodified. Not breaking a database is really important. A project I work on still uses MySQL 5.1 and we've got problems with later versions. I'd be really annoyed if I had to update EVERYTHING to use a later MySQL version. (MariaDB (which I prefer) recognised this and the importance of being a drop in replacement - ie not breaking anything) |
(which comment of mine got removed?) |
@JustSomeGuy83 the one where there was "idiot" and alike. |
So guys/gals/whatever if you want to continue here: 10 DON'T INSULT OTHERS20 SAY WHAT YOU THINK30 GOTO 10 |
This is pretty BASIC to follow. |
I can't remember what was in that message.... was there anything of substance? |
The one where you made a rape joke and referred to a trans person as "he/she", @JustSomeGuy83. Just stop. Walk away from your keyboard. You are in no way positively contributing. |
@JustSomeGuy83 I saved a copy if you want to re-state it without the problematic parts. Send me an email to antirez/gmail if you want a copy. |
I didn't make a rape joke, in the initial version (which I removed this part of like 20 seconds later) I said I feared identifying myself because I'd get like 2 days of crap from people claiming it was a form of rape. This is not a joke. Also I called these people "wolfkin" among other things, and was not referring to the woman/Noah as you claim. But I was censored by the evil project owner! Gahh! Lol. Edit: nvm, https://twitter.com/nslater it's preserved here. RE: twitter, it says there too, and your twitter account is linked to by GitHub. Still not seeing how I "outed" you. |
Okay well, I feel I brought balance into the convo :P I'd like to say sorry to @antirez since reading about Redis I've realised it's actually a much bigger project than I assumed and it's unlikely you would have "caved" without my "intervention". I'm sorry for my odd flavour of support where it wasn't needed. I had never heard of Redis and just assumed a poor developer on github was going to suffer the wrath of Tumblr's spotlight for a few days. Second to lastly, the idea is really quite interesting, key-value stores are common so I can see the advantages to having a store of them, I'd love some case studies of things Redis is good at and where a classic SQL server with joins, views, indices and tables just wouldn't do. Lastly, the lack of transactions is a "deal breaker" for a lot of things I would have thought, as you can't do stuff that depends on data you read before. However if you were to implement a "compare and swap" atomic operation, it could be implemented by the user (not great, as if they make a mistake it'll be a bitch to debug, but doable) Compare and swap works like this. You look at a value, and if it is equal to 0 you swap it with a given value. It's a locking primitive. If the value is 0 and you compare-and-swap successfully, the value is now 1 and 0 is returned, indicating we got the lock. If the value is 1 and you compare-and-swap it returns 1 because the value isn't = to 0 so the swap never happens. With this primitive locking can then be done and all is almost well. An easy-to-miss deadlock situation is acquiring a read lock and then writing to the data, something else may have also grabbed a read lock, thus you can't write, if the other thing with a read lock then tries to write, you have a deadlock. Usual code practices apply to fix this, however it's hard to check queries.... I either rely on RAII or the server canceling one transaction in this situation with an error (which would require rollback) ANYWAY! Constructive food for thought. |
@nslater my biggest regret is that I missed the "s" off the end of "othersexuals", so it looks like I got "them" right, when in actuality I meant it as a plural. Totally changes the meaning. Can you make a note of this please? |
Conversation locked since at this point it can just degenerate. |
As previously communicated over the internets, Redis uses the term "replica" now in all places where backward compatibility isn't an issue. Closing this issue, but feel free-dom to reopen or create new one. |
Inspired by django/django/pull/2692, Redis should replace its "master" and "slave" terminology.
The summary is:
master
andslave
have racial meanings (especially in North America, but also more generally) and it would be good to avoid them. Django went forprimary
andreplica
. I am not sure what makes the most sense for Redis.Worth noting, CouchDB made a similar change. As did Drupal.
The text was updated successfully, but these errors were encountered: