Why I'm leaving the R community
ironholds.org
ironholds.org
[12:19:35 A] <Sophiie> hi, can a page be undeleted just to see what it once was?
[12:19:47 A] <Ironholds> Sophiie, fuck off and die
[12:19:50 A] <Ironholds> thank you
TBH, he looks more and more like a troll, and pretty talented at shit stirring. And removing people like that from your projects is best done early.He edited my post to say I only cared about telling people they were overreacting and talking about games. I own a company in the video game industry. What do you think my Disqus history will have in it?
Personally It seems a bit of stretch to call that "exclusionary as all hell".
IMHO if this guy mounted a campaign on this issue banning was appropriate if a little heavy handed. A subtle talking to might be better but raising a bug is a matter of record, and that makes things a little trickier.
It probably isn't about the variable name though, but about the response from the developer to the PR.
I am not saying "duncan is a sexist". I am not saying "this
language is sexist". I am saying "I suspect the end result
of decisions like this is to perpetuate a bias away from
the inclusion of marginalised groups, including women".
I'm not certain if that's true, but it seems like a reasonable discussion for a community to have. And if the immediate response to that argument is unilaterally banning the bug tracking privileges of the reporter and everyone who commented in favor of the bug, I wouldn't blame anyone for deciding that R is a poisonous community that they they no longer want to be part of.I don't understand this
Some are very sensitive to sexism and political incorrectness and some just don't care/notice.
Regardless, a leader should encourage community members to voice their legitimate concerns. Duncan's actions were simply immature and unwelcoming. I don't blame Oliver for leaving and hope we see a public apology from Duncan.
In regards to 1, let me explain. First off, I've heard people use it more than once as a thing men do to/with women, as little sense as that makes to me, sort of like my female friends talking about 'ladyboners'. Second, giving head is also something men do to other men. And finally, nobody that I know considers 'giving head' in any way a degrading thing these days.
But...
That's just my interpretation, and I'm probably pretty atypical in this regard.
And regardless of how I personally feel about this, the response to this kind of thing, as a leader, should be sensitivity and willingness to make people feel 'safe', especially if there's no real cost to fixing it. It seems like common human decency to be inclusive in such a situation.
If there comes a point where this kind of inclusiveness and sensitivity actually causes problems, well then it's perhaps a more difficult situation. But this seems pretty simple and straightforward, even for someone like me who personally does not see any big harm in 'iGiveHead'
Note that we only know one side of the story. Maybe the author has a history of stirring up drama and coming up with topics not interesting to the rest of the community (i.e. anything other than programming). If so, preventing further impact on the community is exactly the right response.
EDIT: I mean, the author definitely knew that this is the thing that brings hate mobs on twitter, so by this blog post, he wanted to start a harassment campaign.
I can understand why they would kick out toxic people like that.
http://www.examiner.com/article/wikimedia-foundation-s-olive...
The standard practice for facing SJW lynch mob is to remove their ability to affect the project negatively, usually by making issues and comments contributor only (on github) and waiting for it to blow over because the Internet Hate Machine doesn't have long attention span.
It seems to me that the R maintainer just did this standard response.
Its all very fun to build pet theories about the reason for a lack of gender diversity, but doing it in official tools by casting attention on an individual for what is a really a random consequence of language that only a native speaker would even notice is the juvenile nonsense very similar to the problem to supposedly be weeded out. I would absolutely consider banning someone's access to official tools who did this with them, particularly when they clearly understood the actual situation.
If you aren't for a dedicated slang usage, then you also just let the proper usage stand when it accidentally still occurs or you at least don't make a fuss about your choice to change it. I don't even have kids, yet I know this very basic rule of not re-enforcing the power and humiliation of swears.
The R community should talk about data science, not be subjected to constant demands and debates because a single prude is having a fit about it.
[1] https://stat.ethz.ch/R-manual/R-devel/library/utils/html/str...
That said, this is obviously not the way to build a community. Kicking people out for this sort of thing sets a bad precedent. If enough people found this offensive to enough to back a change, then maybe it's better to accept that view as legitimate, even if it's not one you hold.
Of course, we only know one side of the story, so maybe there's more to it.
Was the variable name an accurate description of what it was used for or not? If it was, let it go. If it wasn't suggest a better one.
Opensource software is not the place to enforce your views on society on someone else.
Slippery slope fallacy. Yes, protesting functions whose initials spell out a cuss word in Swahili would be silly and counterproductive. But no one has proposed that, or anything like that. This is an English-language code base, and there is nothing ambiguous about the English meaning of the phrase "I give head."
If we're looking for juvenile innuendo then presumably give.length and give_log are both also objectionable?
[1] https://bugzilla.mozilla.org/show_bug.cgi?id=366559#c147
in some ways, he's the one who brought the sexist tone to the whole conversation.
> our accounts had been banned and locked
also it irks me the wording, as there's a difference between "leaving" and being shown the door
The author could have sent a patch renaming the variable with commit message "oh come on" or "let's be profesional" and it would have probably worked, but instead he wanted to be a hero fighting against (probably not real) sexism.
It seems R foundation has no need for people who want to fell like a hero.
>Opensource software is not the place to enforce your views on society on someone else.
While I completely agree, if you read the article he did suggest an alternative and submitted a patch.
Rather than the patch being rejected, he got banned from the community.
See below. Not a good look, but we only have one side of the story.
=== The second was a set of emails from Duncan Murdoch, President of the R Foundation and an R Core member, in which he dismissed my "bug report" (note the skeptical scare quotes he put on it) "about some variable name that you find offensive is clearly an example of nothing more than shit-disturbing" and stated that myself, and those who had commented in favour of changing it, were no longer welcome to participate in R's bug-tracker.
Just the type of thing that will create drama, debate, and divide the community.
All because someone reads something into a variable name that wasn't intended... for a variable that is well named.
What's next banning unlucky numbers? Rating colors by political correctness? Favoring data structures because of their religious analogies?
How about saving bug reports for things that actually improve the application?
However I think Duncan Murdoch, being the President of the R Foundation acted extremely immaturely by blocking the accounts of all involved.
You cannot not act. Keeping the status quo is acting, too. Neutrality is just impossible and you have to decide how you want to deal with these issues in a graceful and fair way.
I would also be skeptical to contribute when one of the project's leads are so quick to ban and flog a contributor, regardless of their misinformed intentions.
> women do not trend towards [...] an absence of concern for those not of their background. Men (particularly cis, white men) tend to.
> This does not mean "all men suck". This means "society's conditioning and understanding of what 'male' means tend to result in a condition of suck". It's toxic for everyone (including those men. Of who I count myself a member).
[1]: https://github.com/apple/swift/commit/c2b5546512af24e52ed15c...
[2]: https://www.reddit.com/r/ProgrammerHumor/comments/3veu2t/swi...
I mean, I can understand someone not viewing it as particularly important, but you seem to view it as very obviously ridiculous which is an attitude I really struggle to understand.
This seems like a tiny little harmless improvement of the world.
It's like banning Huckleberry Finn for using the word 'nigger', or Der Untergang because it's about Hitler.
What makes it all hilarious is the fact that the PR was merged almost immediately into MASTER without being fully tested first. It's as if not merging it ASAP would have started WW3 or something.
You'll find two arguments against this in the wild – "we've always used that terminology," and "it's the only way to describe the relationship." I don't think either are that convincing.
I used to be pretty clear that I thought this was a stupid thing to complain about, until one day when I was presenting a small distributed software project to a group including non-technical people. I explained about the 'master' and the 'slaves', and at the end someone asked 'why did you use those terms? Isn't there something nicer we can use?'.
I realised that they weren't complaining because they were offended or anything, but because slavery is sort of not a nice thing to talk about – the fact that I was used to those terms in a technical context maybe blinded me a bit to the fact that others might find them distasteful. They were changed, everyone was happier, nothing was lost.
TL;DR I totally agree that commonly used terminology that can be perceived as insensitive to some is best avoided.
If you're black, I think you wouldn't give a damn about using the word in a technical setting that makes sense. Please correct me if I'm wrong; I'm not black but I'm using logic I feel my black friends would use.
If you're white and feel the word is insensitive, you're actually making a big deal out of it when it's really not your place to do so, which is ironic in my opinion. If you think not using the word where its meaning is used properly and in no way is intended to offend will somehow lessen the heinous and repulsive nature of the acts committed by your predecessors, then you're misguided.
Of course, this is the way I see it. Perhaps I'm out of my depth.
You're not, and neither am I - it's not your right to say one way or the other, but it is my right to be prudent. But this isn't just a racial issue - it's one of generally accepted social mores. Language changes and evolves. Nothing is lost in the transition to more eloquent terms.
It's like when visiting Southern Africa a few years ago - whenever I asked for black coffee I was prompted "you mean coffee with hot water?" on a few occasions before I realised it's a politeness thing. As oversensitive as that might sound to my privileged ears it wasn't my place to argue - so from then on it was "coffee without milk please!" - as with leader/follower nothing was lost in the translation but I found myself getting fewer funny looks.
So then the only real issue left is whether on a social/psychological level the words can cause pain. If someone is bothered by it, because they are bothered by it, then it's up for discussion and change. I also doubt that anyone is actually upset by the use of master/slave in these contexts.
So what's left is 1) people who for whatever reason find it necessary to get upset on behalf of a hypothetical other, which leads us toward lots of pointless drama, and 2) people who cannot distinguish symbols from their meaning.
A very similar issue that also seems to be particularly American (although I'm not sure) is 'forbidding' or 'taboo' words. In my culture (Holland) we don't have any words that even remotely carry the weight that a term like 'cunt' carries (I cringe even as I write it, because, well, American culture is big in Holland too). Sure, we have rude words. And using some of them offend people. And we have our practices that are being discussed and rightfully so.
But we have no words that are so bad that even neutral usage is socially punished.
And that strikes me as very sensible. The more weight you give something, the more power it has, and the more it can be abused by various parties.
Instead, consider how the word 'gay' has been, to a degree, actively defanged and as result lessened in negative power.
What bothers me the most is that I cannot help but feel that very real issues are sometimes coopted by people who just want to be righteous about things and pick fights. To me, that's almost worse than accidentally using offensive language, and definitely worse than doing nothing at all.
And then what bothers me is that I write this with the greatest trepidation, because the previous paragraph itself could be coopted and reinterpreted in various ways to prove that I'm a terrible person...
Can't we all just take a breath and remember Vonnegut's words:
"There's only one rule that I know of, babies - God damn it, you've got to be kind."
Can't we be kind and try to work on these issues?
I don't think it's the most accurate term because in many cases the subordinate actor ("Slave") is not "the property of" or entirely subject to, the coordinating actor ("Master"). Usually it is a matter of coordination, or of information flow, signalling path or perhaps merely a question of which process is accountable when a decision needs to be made.
In that light, Boss/Worker is another couplet of terms I've seen used that seems more apt.
But otherwise I agree with everything else you have said.
But then I realized that "primary/replica" is offensive to the replicants out there (think Blade Runner)...
Being offended by words without regard to context, meaning, or idea being communicated isn't really a race-specific thing, its a thing a certain subset of the population independent of race, gender, etc., does.
People in that group who are black or concerned with the black experience in America are likely to be offended by "slave" in any context (except, perhaps, an actual disapproving reference to the historical practice of slavery.)
People who are not in that group, even if they are black or concerned with the black experience in America, are unlikely to be concerned by the use of "slave" in this context.
(Since apparently we need to disclose this in this discussion, I am black. I am actually offended by people making a deal about things like this without reference to context and meaning, because it distracts from and trivializes actual racism, which remains a real and significant problem.)
If only. https://en.wikipedia.org/wiki/Contemporary_slavery
> We need to be making an effort to describe these relationships differently, and to use a set of terms just because "they've always been used" is just laziness.
Using terms that have well-established meanings in a particular context for those established meanings in that context isn't "laziness", and its not something that needs to change because the origin of the terms is an imprecise metaphor.
It might need to change if the origin is a metaphor that incorporates, e.g., blatantly racist or sexist, etc., assumptions -- which master/slave does not, even though the practice of slavery in some times and places was tied to institutional racism -- (though even there maybe not if the use and language is so distant that there is no immediate association with those assumptions despite the origin.)
These are the people you kind of want to exclude from any community.
A "microaggression" not aimed at excluding anyone in particular. Not even an aggression of any kind.
The mind boggles.
We speak about changing the name of a local variable used four times in the whole codebase. Was this that a big deal? Merge it already and be done with it. Easy way to make people happy to contribute.
Instead of that, people had to comment that change and explain why they don't like it, leading to confrontation, frustration and the departure of a team member. This is so typical.
The worst part in code review is that people are convinced they do the right thing. How being aware of changes and trying to do some peer work could be a bad thing? Well, it's basically commenting over and over other people work, leading authors to mistrust themselves and to the feeling of unfairness. Reading other people code is cool. Commenting it... well, you should think you have a very good reason to do that.
Technical excellence in such an environment is impossible. Nobody's stopping you running a project that way, but if you tried to introduce this kind of discrimination, prejudice, and, well, privileged treatment into a project to which I contribute, I'd fork, and everyone who actually wanted to write code would follow me.
It's not being able to comment that is problem, it's feeling that you have to comment.
Your comment sounds to me like it advocates lowering the bar for merging of external patches. That's a sure way to technical inferiority.
I'm with you until there :)
> suggesting that the normal review process not apply to this particular diff
If the normal review process is to feel diff should absolutely be commented, then yes, totally, applying it to such a small and casual diff makes what I feel is the ridiculousness of the process totally shine.
Note that I'm not saying the diff should not be read. I'm not saying either we should not comment other people code if we feel there is a problem with it. I'm challenging the fact that this diff should have generated discussion, and call the fact that it had a problem.
I don't think making teams more efficient lead to technical inferiority. And to me, the abuse of commenting code is all about inefficiency (regarding both productivity and sane relations between team members).
Oh also, I think it should be clarified.
I'm not advocating code review is a bad thing in itself and we should stop doing it. I think it could be done better, by internalizing the impact of a comment and measuring its cost before doing it.
I see doing code review as better than not doing it (because you read other people code). I see being moderate when it comes to decide if something is worth commenting as better than the usual practice of considering comments are cheap and we can just comment anything.
How the hell is this offensive to anyone?
The response from this Duncan guy was probably unnecessarily rude, and while I mostly agree with the content of his response, he certainly came across as a bit of a dick.
That said, I fail to see why we should care. A person was part of a community until they had a snit and left it. Okay.
(Edit: As rightly pointed out below, the author was effectively kicked out of their role after complaining about said variable. So fair enough, I'm upgrading Duncan & co. from 'bit of a dick' to 'complete dick who shouldn't be in charge'. In which case we should definitely care about a project's admin abusing their power in that way.)
This is very obviously not an accurate description of events. In reality – author feels (rightly or wrongly) offended, submits a patch to resolve this, and in response is essentially kicked out of a core position.
That's not just 'unnecessarily rude' – it's a stupid and broken way to run a community.
That said, I fail to see why we should care
Because I think generally we want to encourage reasonably welcoming open source communities, and responses like this seem generally disproportionate.
The project owner was harsh, but I respect his pragmatism. The perpetually aggrieved are never satisfied. Anyone who complains about something as trivial as the variable name in question is someone who lives for attention-seeking and virtue signaling. It's better to immediately and fully separate yourself from that kind of person, even if it involves a short-term reputation hit, than allow that person to gain influence and endanger your project's existence.
Regardless, I don't think he went about it the right way. It would have been more effective to simply reject the patch with a note stating that the variable name was appropriate in context (assuming it was so).
Anyone who complains about something as trivial as the variable name in question is someone who lives for attention-seeking and virtue signaling
As I've pointed out elsewhere, I find the complaint ridiculous. I'm also keenly aware that my view is not the only legitimate one; there appears to have been an number of other people who felt the same way about this particular issue.
It's bad community management to tell participants that their views are not valid, and to unilaterally kick them out. One of the authors points is important – it creates a perception that complaints or suggestions will not be taken seriously. And that's not useful to a community.
No one was feeling excluded by that properly named variable (even if kinda unfortunate, but the most it can extract from someone is a smile), and certainly not the author. Also, filling a bug report was improper as it certainly wasn't a bug, so the quotes around "bug report" in the answer were well justified. The CRAN maintainer chose not to feed the troll by not engaging and cutting contact. It's usually the way to go, as they do it for the attention. This discussion is proof of his talent...
The situation is becoming ridiculous. Get over yourselves. The world does not revolve around you.
EDIT: parent formerly referenced the author of the article as "lady".
Its a bit insidious because usually there is some merit to the complaint (as in this case, the variable name was a bit embarrassing and should have been changed with little more than a self-conscious chuckle) but thanks to the cult of PC, everyone over-reacts.
[1]"exclusionary as all hell" is too religious for my taste. Please change that language.
This strikes me as a bit of a storm in a tea-cup, but there is some background context worth noting. R's academic roots have created some interesting cultural aspects within the community. For example, in academia you spend a fair amount of time critiquing other people's work and trying to find flaws. It's perfectly acceptable to trash someone's argument, even to their face when they give a presentation. Once you accept that it's not personal but necessary for research to progress, it's OK, but to begin with its a horrible experience. Outside of academia, this is mostly just awful impolite behaviour.
That attitude of being allowed to correct people's arguments without bothering with any formalities has been a feature of the many aspects of the R community since its inception. In particular, the R-help mailing list and the R bug tracker can be scary places for new users. As the R community has grown beyond the confines of academia, this has led to tensions within the community. These sorts of cultural issues have long worried a lot of R users, and I can only guess that Oliver's position on the R Foundation Task Force on Women led him to worry about diversity issues more than most.
The other relevant aspect of the R community is that R is developed and managed by the R Core Team (https://www.r-project.org/contributors.html), which consists of 20 guys, about half of whom are actively working on R, and all of whom have day jobs beside being in R Core. They do a great job, but the R community is now several million people, which means that managing the mailing lists and the bug tracker - dreadfully tedious tasks at the best of times - must now be rather overwhelming. I've personally been (mildly) scolded a few times when submitting bugs that I thought were reasonable but members of R Core thought differently. While I think that Duncan's response was a big overreaction, in the context of him trying to optimize not having to spend time dealing with the bug tracker, I can understand why he chose to ban Oliver.
My opinion is that a lot of strife could be avoided if R Core delegated a lot more of the admin work - I'm sure there are plenty of grad students who could be persuaded into acting as first line support on the bug tracker, or moderators on a mailing list.
Just because someone can imagine a hypothetical problem doesn't mean it's an emergency that others need to worry about.
Eventually all code will be reviewed by Beavis and Butthead, and if they can manage to find anything to huhuhuh about, it will have to be changed. "Huhuhuh, that said 'Insert', huhuhuh."
Regardless of how you see the issue with the variable name, the action taken by Murdoch is moronic, abusive, and over the top.
If you contribute to the code, you have a right to comment, else fuck off and go back to leeching.
Start by actually giving to the community rather than finding faults that waste peoples time who are creating things.
How much time will this destroy from the R core community.
I'd point out that this 'anti-men' is not really equivalent to 'feminist' and you might want to reconsider that position.
But in this case the R Foundation has acted as sexists.
It's hard to say this is anything to do with gender at all – the author is a man, the 'accused' is a man…
> I independently confirmed that our accounts had been banned and locked - as had the bug, and replied to Duncan explaining my thinking and motivation and asking in what capacity the ban had been made.
> The variable name is still there. I never got any reply to my email.
This bit needs to be emphasized, because the incident is invariably going to be spun as one over-sensitive prude throwing a temper tantrum because he didn't get his way. We need to keep focus on what actually happened: Keyes pointed out something he perceived as a problem, going out of his way to be polite and non-accusatory; Murdoch punished and censored Keyes and anyone who had publicly agreed with him.
A person who has a long history of creating drama wherever he goes sees a very aptly named argument with siblings which follow the same nomenclature. The person opens a bug report to change the name of said argument because he perceives some grand social injustice with it. This person is rather impatient so he hammers it, effectively spamming with emails the maintainers. But that's not enough, he hammers the mailing lists and contacts directly the (very busy) maintainers just for good measure. He doesn't get what he wants because he is being obtuse and ridiculous, so he decides to elevate this to the head maintainer and emails him directly, insisting actions to be taken to indulge his caprice. Maybe he even posts on twitter to get other people with nothing better to do on his side and exert pressure. Maybe, just maybe, this person feels excited and warm inside as he posts on twitter. He did it again. People will engage in meaningless rhetoric about things that are not really there and he is center of it all. Oh, the hours spent going back and forth and back again and all the ATTENTION.
But the head maintainer sees right through it and will have none of it, so he just blocks this person from stirring drama YET again in the future.
Not saying this happened, just fyi, but it's possible, even probable, one might think. And after all, here we are, creating rhetoric about things of absolutely no significance whatsoever.