-
Notifications
You must be signed in to change notification settings - Fork 21
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 oppressive terminology with more accurate alternatives #10
Replace oppressive terminology with more accurate alternatives #10
Conversation
I don't get it... "master" is not an oppressive term in itself. The metaphor "master/slave" might be seen as problematic by some people (especially in the US), but we don't use the word "slave" in the context of git anywhere... I always thought of the master branch as the master copy, like a "vinyl master". To be honest, renaming the master branch feels like virtue signalling to me. I'm all for creating inclusive environments, but this is a bit ridiculous. I don't want to start a flame war, just giving my honest opinion :-). If you decide to go with this, please keep master as an alias, so you don't break existing scripts.
Agreed.
Agreed.
Agreed. |
This post from the GNOME dev mailing list from 2019 offers an explanation of the origin of git It appears that git inherited |
I know. But is this really how the term "master" is actually perceived in the context of git? I certainly didn't know it came from master/slave, I just found out today, and so did most people I dare say. Again, git doesn't use the word "slave" anywhere. |
Tbh, when I was working on my DDW___Clock classes, it did cross my mind, "Why do we call them master and slave? Is that really good?" But I ignored that moment of unease and went with it because it's standard terminology. So, movements to change standard terminology do make a difference, and I'll go change my quark at some point. On the question of the master branch -- apart from breaking scripts, it hurts no one to call it "main" or even "stable," whether or not there's a current explicit reference to slavery. I do see Christof's point -- I had never thought of other git branches as slaves -- but I don't see a compelling reason to keep the current term. I'm not crazy about bandwagoning, but in this case, I did have misgivings about the words in my own work, so I appreciate the nudge. Edit: Of gender-neutral pronouns, I quite often like to use "she" especially for fields that are traditionally male dominated. It can give male chauvinists an extra moment of cognitive dissonance that they might not feel with "they" and "them." |
This is extremely silly, and has a touch of Newspeak in it. The meaning of a word is context driven. You don't get rid of 'bad thoughts' by banning words that are in some way associated with them. |
I support this change. The underlying context of our language on a daily basis informs our and our community's world view. If we make an effort to direct our language towards an inclusive example, that helps move society as a whole in that direction over time. |
Frankly "master" for a/the git branch is probably inappropriate even on a purely technical level as there's no real sense in which the other branches are "slaves". They're all just refs as far as I understand git... (which is not incredibly well, I admit.) As for the other uses in SC tree... I'm surprised they are that many in (just in c/cpp/h/hpp/sc/schelp):
A bunch of those come from boost and portaudio actually... (The latter uses "master volume" a lot, and so does the wasapi.) But then so does Since the IETF draft doesn't seem to discuss what's the best replacement for "master volume" (only "master" in some other contexts), does anyone know what proposed terminology alternatives are in the music/sound world? So that if we replace "master volume" with something less oppressive it would not be a term completely unique to SC... N.B. the IETF draft proposes these alternatives to "master-slave": o Primary-secondary I guess "primary volume" would be most suitable in a sound context... Opinions? Surprisingly, I only got one hit for "slave" in my search; that's in SyncSaw.schelp. It looks like we don't have to do any changes for "blacklist" as there are no occurrences in SC proper (well, there's one in portaudio's source) and likewise for "whitelist". Also, as far the order of changes goes, I'd suggest starting with the help files as probably the most visible to SC users. The (SC) code internals can be done on a lower priory "pass". |
While some may not be bothered by master/slave references it's their privilege to not be bothered by that. It costs the dev team literally nothing to adjust our language to be more inclusive. Huge supporter of these practices, and will adjust Scintillator and Hadron structure to suit. |
Another way to look at it is that the objectionable concept is that of a slave. "Master" as a word has multiple connotations, some of which imply subjugation of human beings (or autonomous agents), others of which do not. A year or two ago, I was working on networked clock classes, and I did call one the "master clock" and the other, the "slave." That's a direct reference to the idea of one agent subjugating another, and I did have an icky feeling about that (though I didn't act on it at the time -- now I find myself glad that someone is pushing for a change). To me, a master volume or master channel is quite different. Nothing is enslaved; the source channels have their own automation and effects processing, and they continue working individually. (Yes, it's true that if you turn the master/global volume all the way down, then you hear nothing, but all of the sources are still processing as if the volume were up.) The intention behind changing the terminology is good. It's also possible to dilute the good effect by misapplying the sensitivity where it may not make sense (such as the incident a few years ago, where a US Representative was called out for using a word that only sounds like an objectionable slur but whose meaning and etymology have exactly nothing to do with the Latin root for "black" -- the objection was well-meaning but misplaced). |
@jamshark70 Well, if master by itself is not objectionable, then there isn't much work to do. "slave" only appears in one SC file... But my understanding of the gnome discussion (linked in a prior comment in this thread) is that "master" in itself is objectionable, even with no mention of "slave". See also, github as a whole making this change https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/ And discussion in the git developer community itself https://lore.kernel.org/git/CAOAHyQwyXC1Z3v7BZAC+Bq6JBaM7FvBenA-1fcqeDV==apdWDg@mail.gmail.com/ (linked from that piece of news) Interesting technical discussion from there, regarding
|
Do it. The point of inclusive practice is not just about whether something offends us as individuals, but whether it might offend others. Yes master has multiple meanings, but as has been pointed out for years, its use in sound work is often pretty weird metaphorically, and possibly sexist. (Master tape? Surely it should be mother tape?) Good metaphors also aid understanding. |
That sounds compelling to me. Though I'll note that this discussion appears at the same time that Peter Kirn writes about the topic in CDM and says essentially the same as I did (which I hadn't noticed on first skimming) -- "The term master on its own you don’t have to worry about. It’s associated with mastery, master classes, master copies, master bedrooms, the antiquated practice of calling young men “masters,” Masters’ degrees, uh… MasterCard. Not one of those terms originated in the practice of slavery. (I checked.)" https://cdm.link/2020/06/lets-dump-master-slave-terms/ Yes to evaluating metaphors on their merits (in particular, thumbs up to "mother tape" but I don't expect specialists to start rebranding themselves as "mothering engineers" anytime soon). "On their merits" may end up concluding that a specific use of a specific word has nothing to do with an objectionable origin, however. ("Master" is admittedly troublesome as the oldest meanings of the word do connote one person with power over another, though. It may not be possible to recuperate that word in every case.) |
And I think the notion of "master volume" has lot more to do with a notion of slave (amplifier), than the "master" git branch ever had to do with any notion of slave... Windows get around this issue by calling it "device volume" https://superuser.com/questions/1202337/how-can-i-sync-all-sources-in-windows-volume-mixer But in SC that's not quite correct. So maybe just "server volume"? |
Andra McCartney was writing on this stuff from a feminist perspective already decades ago. |
@jamshark70 thanks for your nuanced comments! This is the discussion I was hoping for (instead of people just silently downvoting other's comments cough). For everyone: I'm not against renaming master to main, I just don't see the point. For me, this is just creating unnecessary friction for no apparant gain. But if you decide to do so, please keep it as an alias, so you don't break existing scripts. On a side note, GitHub advertizing this change feels more like a PR stunt. If they want to do something meaningful, they should officially stop cooperating with ICE... Just my two cents. |
Now this is funny. As an Austrian I find this metaphor troubling because of our own history. This just shows how much the whole discussion depends on the cultural context. I just think that proposing/imposing a change in language is a very radical act that needs to be considered carefully. |
I agree with the general intention of this RFC. In general I agree that language always evolves and we can change it if we think that is warranted. I agree with avoiding use of master/slave, that has such a specific meaning, there is no way to avoid the original meaning. In the case of parts of words which don't have a specific oppressive meaning, but only gain that meaning depending on the context and history of use of the term (such as terms with black or white), I think it would be prudent to investigate the etymology of the word, and also consider if it has been used with an oppressive meaning. Regarding whitelist and blacklist, I found this article/commentary which suggests that it has a racist origin, so If that is the case I would agree with avoiding it. Nevertheless it would make language poorer if no words including black and white could be used when also having a specific positive or negative association. For instance, from a quick googling, "whitewash" which has a negative association might come from painting a wall white (which is a common color), therefore rendering invisible the imperfections and cracks that existed before. We should just make sure the words do indeed have a racist connotation, which is not the case of all words containing black and white which have a positive or negative connotation. Regarding the use of singular they pronoun, had a a quick look at what that is, and to a non-native english speaker it feels extremely confusing. I don't have an issue with people using it here, but I don't think it should be expected that non-native english speakers should be capable of using it. We have something similar in Romance languages for formal treatment (third person singular or second person plural) and non-native speakers really struggle with that. |
Regarding pronouns: most of the SC documentation I've looked at is written in 2nd person "you can..., you should..." etc. And the things being referred to in 3rd person are inanimate, so "it", "its" etc. Thus, I don't see a concerted effort being needed on that pronouns angle, but of course any slip-ups should be corrected when found. (If SC had documentation e.g. in French or some other language with gendered nouns, it would be potentially more work in regard.) |
Btw. the term "master" in the context of a repository may well come from production, in particular printing, like of vinyl and CD, where you have a master from which the copies are made. The German word is beautiful: "Druckvorlage". I like this shift of semantics, because we can think of a "master clock" in the same way. That means, good replacements for master are synonyms in that sense: model, prototype, source. Now that the whole issue is about a pair of terms, the replacement needs to be paired as well. I'm not a native speaker, so I may miss out a good solution. One reasonable possibilty is I personally always found that "server - client" has a pretty bad taste, but others may not be similarly inclined? (As we are at it, and try to become more politically aware, we may also move our repository to gitlab, as to avoid the master silo we are entering ... But this is another issue altogether) |
Blacklist and whitelist aren't racist. Their use comes from England and their origins are in middle English. I agree with James that replacing the use of 'he'/'his' with 'she'/'hers' etc is a good idea. It reads much better than 'they', is less confusing for non-native speakers and at least makes the documentation more inclusive. I can see an argument for changing master to main for clarity. I think it makes it harder to understand the decentralized nature of git. As far as oppressive language goes... ¯_(ツ)_/¯ Serious question - what terminology would you use for a MIDI clock slave? |
Just to give some more perspectives, here's what some POC developers have to say: https://news.ycombinator.com/item?id=23505713 It turns out that some find the GitHub initiative patronizing and insulting... Now what do you do? I just want to point out that things are not as clear cut as some people might believe. |
Parent/child, Writer/reader ? |
In Utopia there is a simple decentralised clock which uses Conductor/Follower (I think this was Alberto's suggestion). A conductor coordinates, but it's ultimately a collaborative arrangement! (Infamously dictatorial maestros notwithstanding.) |
I think parent/child is not too bad. It emphasizes the hierarchical structure of a tree of devices. |
the MIDI clock must follow - its not collaborative and that's what the term 'slave' captures. I'd suggest the terms 'driving/driven' (from gears) for that one... so 'driving-clock' 'driven-clock' |
'whitelist' and 'blacklist' are nice English words - it would be nice to replace them with similar words... what about redlist and greenlist like traffic lights? |
master/copy could be source/clone perhaps |
Do black people complain about the usage of master/slave? I could give you a long list of local black complaints, and while there are symbolic fights (the confederate flag, removing confederate statues), language only comes up when it's used in a deliberately offensive way. For example there was a local politician who used to refer to black men as 'boy'. |
@telephon you made a suggestion yesterday without explaining why, for instance, you thought it would be an improvement, or whether it should augment or replace the existing text. please do that for future suggestions. |
I support this RFC. Good work @brianlheim ! |
ok, I see what you mean. I suppose this is true not just for me ;) |
I just read the proposal in its entirety, and I wholeheartedly agree with the changes proposed there. Thank you. |
thanks again everyone for the thoughtful and respectful conversation. i now feel ready to put this RFC into Final Comment Period. the date to merge or reject this RFC is July 12. |
Can we have some decision on "master volume"? As I mentioned previously it's by far the most common use of the "master" term that I found in SC itself. (The other things are nice to have been decided in theory, but their practical impact in terms of changes required will be close to zero, except for the git/github branch name issue.) |
@eleses Please, read the RFC before commenting. I have already covered your question in the text:
|
@brianlheim I missed the update, sorry. |
no worries! I do appreciate that you wanted to follow up on that. :) |
I have read and I fully support these changes. Thank you for the opportunity given to discuss this as a community. |
I agree with the RFC and support the proposed changes. |
I also have read the RFC and the linked IETF document. I fully support this RFC and the proposed changes. |
Hi, Currently the Quark and Git classes have "master" hardcoded in 3 places, |
@adcxyz good question! i hadn't planned on making any changes to repositories in supercollider-quarks, to be frank because the thought just hadn't crossed my mind. that's my mistake, as RFC author the responsibility for not considering that lies with me. my interpretation is that under this RFC there would be no such migration; i was thinking here only of repositories within i have updated this RFC to more clearly present my interpretation. my current feeling is that, as this RFC is mergeable and has already reached a state of agreement, we should merge this, make the changes as detailed here in supercollider org repos, and leave the problem of supercollider-quarks to a future discussion. i say this for the following reasons:
i would like to hear from a few other people. to clarify, my proposal is that we merge this, begin to make changes in the supercollider org only, and at the same time launch a discussion about whether a new RFC is needed to make changes to supercollider-quarks. if people disagree with this, can you please indicate what you think should happen to this RFC instead? please do not merge this RFC, in the meanwhile. |
to be extra clear, as i see it the options here are:
i will not be emending this RFC to try to address this question, and i will not be seeking a new round of consensus/input on this RFC. it is too late in the process for me to feel comfortable doing that. |
I don't want to start a new discussion, but
My question is: why is "master" hardcoded in the first place? I think Brian's answer regarding the fear of breaking scripts also applies here:
So why not simply pull the default branch? |
That seems entirely reasonable. Individual quark authors would be able to set the branch name on their own. (Unless there's some technical reason why that wouldn't work?) |
hey @jamshark70 @Spacechild1 -- i would really really prefer to just focus on the single question at hand, it's urgent for the future of this RFC and supersedes any other conversation related to it. also, FYI this has been discussed before here (and it appears i'm the reason why this is the case!). |
Alberto raises the valid point that we can't purge all occurrences of "master" from the SC repository without altering the behavior of quarks. Specifically, if a quark's default branch is not master but the author intends "master" to be the stable branch that users generally install, the choices are: a/ incompletely implement this RFC and keep backward compatibility in this case by keeping "master" in the quarks code; b/ change it and require quark authors using this configuration to update. It doesn't affect me as I'm not separating development and stable branches in my quarks, and I'm not opposed to either a/ or b/. But I think Alberto is correct that it isn't possible to avoid all decision about this. The decision may well be a/, and I think that would be legitimate and not deeply offensive, and allow significant movement forward. It's worth making that an explicit decision (and commitment to come back to the quarks question later). |
I think what @brianlheim is proposing in this RFC only applies to repositories under the It would be best if we can keep the discussion about Quarks for another time. |
alright! since this RFC has broad support in the form where it at least applies to the repositories in the SuperCollider org, and since we've already reached the end of the final comment period, i'll consider it passed with the caveat that more discussion/planning is needed before touching anything in supercollider-quarks. that already gives us quite a bit to implement, and i think is really the core of what this RFC was about to begin with. there are several important ongoing discussions right now on other parts of the project that i'd like to participate in, and we also have a release immanent, and my first RFC still hasn't been fully implemented yet!, so i would like to let those things settle before implementing this. thank you again to everyone for the engaging and respectful discussion, this has made me very happy to be a part of this project! |
Thank you @brianlheim for taking this initiative! |
https://github.com/brianlheim/rfcs/blob/topic/replace-oppressive-terminology/rfcs/0010-replace-oppressive-terminology.md