godotengine / godot Public
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
master/slave GDScript keyword name choice might be unfortunate #7986
Comments
|
I guess it could be a chance to step away from that old nomenclature. It could be something clear like host-guest, server-client. |
|
I think people is too sensitive. But anyway if the industry is going towards changing the naming, I think Godot should follow. Do you know any relevant project that has donde the switch? What words have they chosen? |
|
The Wikipedia article I linked to cites a few projects using “primary/replica”. |
|
My fault. I didn't read the full article.
I think it would be good to add the meaning of master and slave in Godot to
the first post.
'Replica' seems to be suited to CMS so context is key.
El 9 mar. 2017 1:01 p. m., "Andrea Faulds" <notifications@github.com>
escribió:
The Wikipedia article I linked to cites a few projects using “replica”.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#7986 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ALQCto8YKbmavZ5BOuobddsVapGhan9-ks5rj-oYgaJpZM4MXWx->
.
|
|
Sorry, I think this is stupid, slavery has been erradicated centuries ago
and there is no one alive that could be offended or discriminated by such
condition.
I understand there are a few retrograde countries still around, but i think
naming convention in a game engine is the least of their problems.
I'm all for stuff like inclusion, equality, human rights, etc. But using
less clear and accepted technical terminology for groundless cause (IMO) is
not a good idea.
…On Mar 9, 2017 7:56 AM, "Pedro J. Estébanez" ***@***.***> wrote:
My fault. I didn't read the full article.
I think it would be good to add the meaning of master and slave in Godot to
the first post.
'Replica' seems to be suited to CMS so context is key.
El 9 mar. 2017 1:01 p. m., "Andrea Faulds" ***@***.***>
escribió:
The Wikipedia article I linked to cites a few projects using “replica”.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#7986 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
ALQCto8YKbmavZ5BOuobddsVapGhan9-ks5rj-oYgaJpZM4MXWx->
.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#7986 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AF-Z2_ZsGlYytmX5xlNr31whHMZJB4oMks5rj_cMgaJpZM4MXWx->
.
|
|
Imho if terms master/slave accurately describe exact relation of dependency between two things in Godot, the terms should be used, because they are proper. If that relation between two Godot components is different than master/slave relation, then lets describe it more accurately by using different, proper words. In the past, terms like master/slave were used on purpose and not because tech people supported slavery, nor forgot that "host", "guest", "server", "client", "leader", follower", or "replica" words existed. For example, in the context of different audio devices and their synchronization, master/slave relation is really the most accurate term describing how the process works, even to people from a non-music-technical background. I am against usage of inaccurate Wikipedia entries as a proof of supposed trends or issues, because they may be exaggerated or not true at all. I checked. Original text by Global Language Monitor says clearly, that it's all about Political (in)Correctness. So, imho, if we are not making politics here with Godot - and we are clearly not, because it's a game engine for all - we should stay with the most logical terms and meanings of words, unless we really want to start creating semantic mess, that we all can observe in the world of contemporary politics - field very often politically correct, but logically deceived. My $0.02. |
Though that's not fully accurate outside of the occidental world, I agree that this is a non-issue. The usage of the terms master and slave in networking APIs are an industry standard, just like male and female are standard when talking about electrical sockets (in a pretty graphic way, but at least that's easy to understand). The terms master and slave are used to describe the relation between methods and objects in the networking API. There is no personification made at any stage, and it is crystal clear that those concepts have no relation to human slavery. Of course we could find other terms for this, like capitalist shareholder/wage-worker, but unless there is a clear trend in the industry to move to more politically correct terms, I don't see any gain for Godot Engine to diverge from the standards. It would just make those concepts harder to understand and to link to the wealth of documentation about master/slave networking paradigms. |
|
I try to be politically correct while talking to students but not with adults and even words are forgotten history do not change. So inventing terminology for political reasons will just cause useless debates IMO. But it is fun, can we call them narrator/dreamer for making concept more matrix like. |
|
If only a subset of the industry has changed the terms, the standard is still master-slave. In that case, Godot should keep away from the infection. |
|
Sorry for the double comment, but I've just come with the idea that given the fast growth of Godot, soon will come the time when the industry standard will be set by it. :) |
|
So, case closed I guess. |
|
But here's the thing to think about : Children will use this program. If it seems harmless to you, It's not about liberals or political correctness. It's about what ideas you want bouncing around in the minds of your children. |
|
Progress only happens |
|
Thanks for your input, but the case is closed already. |
|
I'm just letting know, almost a year after this issue was closed, and after this was discussed by most of the core contributors, it was decided that an alternative will be added to the keyword "slave" for those who do not wish to be forced use it. I hope you understand that, even though the majority was in favor of this change, most of Godot contributors are not from regions where the "slave" word (still) has a strong negative connotation (case in point, most contributors are not from the US). The world is more complex than many believe it to be. This cause took a significant effort to empathize with for many (which originally considered it a waste of time to discuss), and yet they now decided to push for it.. so I hope this effort can be respected and understood. While an alternative will be introduced ASAP, the "slave" keyword will not be removed for now for compatibility reasons, but the idea is to eventually deprecate it and effectively remove it next time there is a major (compatibility breaking) release. This issue will not be reopened either. |
|
As for the words used, we had a long discussion about words to replace it. The main problem is that the traditional words used for this, which are primary/replica, controller/controlled, leader/follower do not really make much sense in the context of how networking in Godot works (because the controlled peer still has to do logic of it's own) so they can be confusing to users (this matters too). Some discarded proposals included brainslug/human or gru/minion (seriously). We actually did consider keeping the word master as by itself has more positive than negative connotations. We tried master/minion, master/lackey or master/worker but that still would not have cleared up enough the reference to slavery, which is what can be considered offensive. Instead, we settled for the term master/puppet, which references to the act of puppetmastering.. which is an activity mainly aimed at entertaining children, with no relation to slavery (or any other relation of power between humans). This works better in the Godot context, as the master node will tell the puppet nodes (in different peers) how to appear and act to other players. |
|
Fixed by #22087. |
There's been something of a trend towards moving away from “master” and “slave” terminology, because of its associations with, well, slavery: https://en.wikipedia.org/wiki/Master-slave_%28technology%29#Appropriateness_of_usage
Besides that issue, sometimes alternative naming choices are clearer anyway (e.g. “leader/follower”), especially to people from a non-technical background. It's not entirely clear to me from the names what they mean. My first guess was it means an authoritative server (“master”) and replicating client (“slave”) relationship, but I'm not quite sure.
At the risk of starting a flame war, it might be worth changing them. If they were to be changed, better to do it now while they're not in a stable release.
The text was updated successfully, but these errors were encountered: