
Why I'm leaving the R community - Dawny33
http://ironholds.org/blog/down-and-out-in-statistical-computing/
======
Tiquor
I wrote a reasoned, but critical, response to this guy and he edited my Disqus
response with a childish personal attack before approving it. He justified it
by saying my Disqus post history was about gaming and telling people they were
overreacting. Take from that what you will.

~~~
glogla
Can you tell us more about what you wrote and what was edited? If the author
is lying, it should be brought to light.

~~~
brohee
I suggest you read [http://www.examiner.com/article/wikipedia-s-new-editing-
soft...](http://www.examiner.com/article/wikipedia-s-new-editing-software-
gets-failing-grade) (especially from "His name is Oliver Keyes"). Our herald
of sensitivity was previously known for outburst like

    
    
        [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.

~~~
glogla
Ah, yeah. I understand perfectly why the decision "we're better of without
you, bye" took like ten minutes.

------
Ardren
Code reference:
[https://github.com/wch/r-source/blob/b156e3a711967f58131e23c...](https://github.com/wch/r-source/blob/b156e3a711967f58131e23c1b1dc1ea90e2f0c43/src/library/utils/R/str.R#L57)

Personally It seems a bit of stretch to call that "exclusionary as all hell".

~~~
ricksplat
Crikey seeing this in context really brings home the triviality of this whole
thing. The only reason somebody would be offended by this would be if they
knew what it meant in the first place - it's plausible that it's accidental.
Yes there is a case for making the change but in doing so you're acknowledging
that it was a mistake in the first place (because an observer attributed it as
such) and you're setting a precedent - are you going to have to attend to
every prude that objects to anything? Anybody who is smart enough to read code
should be smart enough to see this for what it is.

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.

------
nkurz
It's worth reading the comments on the article, as the author explains his
position further:

    
    
      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.

~~~
tomp
> And if the immediate response to that argument is unilaterally banning the
> bug tracking privileges of the reporter

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.

~~~
eclipseo
I think you are onto something, he is apparently known to create drama, c.f.:

[http://www.examiner.com/article/wikimedia-foundation-s-
olive...](http://www.examiner.com/article/wikimedia-foundation-s-oliver-keyes-
stripped-of-administrator-status)

~~~
zimpenfish
If that reporting is accurate (I've no idea or any basis for judging) then
yeah, the parent post is amazingly hypocritical.

------
lottin
Here is the function in question [1]; it has arguments named "give.attr",
"give.head", "give.length", among others. It doesn't seem at all a good idea
to rename "give.head" to something else, as it would break the API and it
would be inconsistent with how the other arguments are named. The R team devs
were unnecessarily rude but the bug report was misguided.

[1]
[https://stat.ethz.ch/R-manual/R-devel/library/utils/html/str...](https://stat.ethz.ch/R-manual/R-devel/library/utils/html/str.html)

------
matthewmacleod
I'm struggling to understand why such a term in a codebase would be offensive.
Even if it were intentional (which apparently it's not) I fail to see how it
could be considered 'exclusionary', as claimed. Frankly, the author comes off
with the baffling sort of self-righteous political correctness which _scares_
me a little in it's reductiveness.

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.

~~~
s9w
My guess would be that they wanted to stop this sort of thing before it
becomes a real problem. There have been numerous examples of this kind of
"sjw" behaviour influencing and even targeting big open source projects, and
people become afraid of it (Sarah Sharp is the only name I can remember at the
moment from such an incident). I don't know the people involved though.

------
sliken
Imagine if everyone in every culture, using every language on the planet
reviewed millions of lines of code and then filed bugs for any word that
offended them or could possibly be related to a sexual innuendo.

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.

~~~
lifthrasiir
My primary opinion on this matter is that "let's _not_ create a drama".
Creating a drama is, whether intentional, accidental, unexpected or not, very
consuming and basically a lose-lose game. If not creating a drama has a
serious implication for the project, the project has to think hard about that,
but otherwise (especially like this situation where changing the variable name
has no other effect whatsoever) I would just accept that. I think the
precautionary measure taken by Mozilla [1] on the Brotli Content-Encoding is
an excellent example.

[1]
[https://bugzilla.mozilla.org/show_bug.cgi?id=366559#c147](https://bugzilla.mozilla.org/show_bug.cgi?id=366559#c147)

~~~
glogla
But the people can make you do what they want by threatening drama, basically
using terror tactics.

~~~
moopling
Presumably if the general reaction whenever someone raised an issue involving
bigotry was for everyone to instantly take on board what they were saying, you
might be right. From my experience however, that is definetly not the world we
live in. To be honest, even if it was, I think you need to draw a line between
hypothetically possible and an observation of what actually happens in the
world. The real question is, can you point out any examples of 'terror
tactics' (in the context given I take this to mean people using bigotry as a
reason for change without actually beleiving it is bigoted)? I wouldn't worry
till then

------
soft_dev_person
"exclusionary as all hell" is such an overstatement it's hard to focus on the
rest of the message in this post, but the response they got from Murdoch was
completely out of line.

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.

~~~
slavik81
While I thought the issue was a little silly at first, the project's response
did sound like an overreaction. Though, after reading the comments, I wonder
if they were perhaps already familiar with ironholds. The underlying attitude
behind this change is awful.

> women do not trend towards [...] an absence of concern for those not of
> their background. Men (particularly cis, white men) tend to.

~~~
cellularmitosis
I find it ironic that his complaint was of "exclusionary language", when his
own language looks like this:

> 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).

------
Cyph0n
This reminds me of a PR merged into swift/master [1]. The PR renamed some
"offensive" variables in one of the tests. It was merged almost immediately,
even though it wasn't fully tested. We had a blast laughing at the stupidity
of it all on Reddit [2].

[1]:
[https://github.com/apple/swift/commit/c2b5546512af24e52ed15c...](https://github.com/apple/swift/commit/c2b5546512af24e52ed15c8cd204dc363c5eeeb6)

[2]:
[https://www.reddit.com/r/ProgrammerHumor/comments/3veu2t/swi...](https://www.reddit.com/r/ProgrammerHumor/comments/3veu2t/swiftly_abolishing_code_slavery/)

~~~
arrrg
I don’t really understand what’s wrong with using more inclusionary language.
I’m so very confused by this attitude.

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.

~~~
Oletros
It is ridiculous because the meaning of master-slave in this context has
nothing to do with exclusionary language and leaser-follower doesn't mean the
same.

~~~
mercer
Furthermore, until we start actually running into the thorny issue of computer
AI, it's consciousness and the ethical dilemma's surrounding it, the
relationship actually _is_ that of a MASTER and a SLAVE.

It's like banning Huckleberry Finn for using the word 'nigger', or Der
Untergang because it's about Hitler.

------
tomp
Hm... seems like the author was creating unnecessary drama about a topic
completely orthogonal to programming, and then complained when s/he was
prevented from creating more drama.

These are the people you kind of _want to_ exclude from any community.

------
UVB-76
In the comments the author acknowledges the term is not gender-specific, but
claims the term is "generally exclusionary"

A "microaggression" not aimed at excluding anyone in particular. Not even an
aggression of any kind.

The mind boggles.

~~~
glogla
It's especially confusing because outside the US, sex is usually not
considered wrong per se or sinful or whatever.

~~~
screwedup
It's usually not considered wrong or sinful in the USA either.

------
spikels
Ironholds has a long history of creating drama wherever he goes.

------
oelmekki
To me, the problem this incident is pointing out is the toxicity of code
review.

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.

~~~
rewqfdsa
Are you proposing that the ability to comment on proposed changes is toxic?
How exactly is a group of people supposed to come to a consensus on technical
matters without the ability to communicate? Are you really suggesting that
certain changes proposed by certain people get special treatment, immunity
from discussion, and expedited merging to mainline?

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.

~~~
oelmekki
I don't get how you come to thinking that reading my comment.

It's not being able to comment that is problem, it's feeling that you _have_
to comment.

~~~
rewqfdsa
Your comment calls "code review", the practice, "toxic". You go on to suggest
that project maintainers "merge [the pull request] already and be done with
it", suggesting that the normal review process not apply to this particular
diff. You suggest that there should be a high bar for commenting on other
people's code.

Your comment sounds to me like it advocates lowering the bar for merging of
external patches. That's a sure way to technical inferiority.

~~~
oelmekki
> Your comment calls "code review", the practice, "toxic".

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.

------
golergka
Homo, bi and heterosexual women and men can give head to each other as a happy
adult consensual sexual act.

How the hell is this offensive to anyone?

~~~
becuzIwnatitobi
Because I want it to be an offensive phrase.

------
taneq
If the author feels they can't be part of a community because of some code
containing a suggestively-named (in their particular culture) variable, then
that's their choice and more power to them.

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.)

~~~
matthewmacleod
_If the author feels they can 't be part of a community because of some code
containing a suggestively-named (in their particular culture) variable_

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.

~~~
rewqfdsa
> essentially kicked out of a core position [snip] > That's not just
> 'unnecessarily rude' – it's a stupid and broken way to run a community.

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.

~~~
taneq
I do understand why he behaved this way. Look at the recent attempts to coerce
various high-profile projects into adopting a particular code of conduct.
These attempts invariably introduce identity politics and drama into a
previously purely meritocratic community, and result in a huge amount of
wasted time and lost productivity.

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).

~~~
rewqfdsa
I wish more project maintainers would emulate the good example Duncan set
here. Identity grievance is a terrible disease for an organization to
contract, but the prognosis is good with early and aggressive treatment.

------
chappi42
Very bad reaction from Duncan to revoke access to issue tracker b/c of this.
They could have closed/rejected the 'bug report' and all would be fine imho.
(If one keeps pestering then it's another matter).

------
Oletros
Perhaps because I'm not living in the USA and I'm not part of its culture, but
to me it seems that there is a very big over sensitivity to anything
politically incorrect.

~~~
TheLogothete
I have put a lot of effort in NOT writing a very snarky reply.

The situation is becoming ridiculous. Get over yourselves. The world does not
revolve around you.

~~~
glogla
The author is a man called Oliver, so it's even more ridiculous, because he is
getting offended for someone else.

EDIT: parent formerly referenced the author of the article as "lady".

~~~
TheLogothete
Yeah, I figured it out pretty quickly and edited. Sorry for not mentioning it.
I'm very perplexed by all this sensitivity surrounding us.

~~~
rewqfdsa
Virtue signaling persists only because too few of us are willing to speak out
against it. The good news is that I've noticed an increasing amount of
opposition to political correctness culture in the FOSS world. We're fighting
back, and we're winning, albeit slowly.

------
andreaferretti
Can anyone explain the sexual reference? I am not a native English speaker

~~~
brusch64
I leave you a link to the urban dictionary item for this term:
[http://www.urbandictionary.com/define.php?term=giving+head](http://www.urbandictionary.com/define.php?term=giving+head)

------
kriro
I can fully understand being upset even though I'd probably reject the patch.
It's not the content that is being debated that is sad. I don't mind either
position, personally I lean towards the "don't care about so called
microagressions in codebases"[1]. The way this request was handled would upset
me a great deal though so I can understand why he reacted the way he did. R is
cool, sad to see a good member of the community leave.

[1]"exclusionary as all hell" is too religious for my taste. Please change
that language.

------
richierocks
I've met Oliver (Ironholds), Martin (who wrote the code with the dodgy
variable name), and Duncan (who banned Oliver and others from the bug tracker
for "shit-stirring"). All three of them are smart, delightful people in my
experience.

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](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.

------
justin_vanw
Isn't this entire complaint about the variable name heteronormative? Also, are
we supposed to assume that women are somehow more prudish about things that
remind them of but aren't referring to sex acts than men are?

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."

------
jevgeni
In Germany police (or any governmental authority in fact) has to use the
"mildest effective method" to deal with some contentious situation. For
example, it is illegal to water cannon the shit out of say loud pensioners
petitioning for more public parks.

Regardless of how you see the issue with the variable name, the action taken
by Murdoch is moronic, abusive, and over the top.

~~~
Oletros
We only know one side of the history

------
aaron695
It's really important to kick these people when they behave this way and we
need to start supporting this.

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.

------
hsod
This is going to keep happening. While I respect a project maintainers right
to decide to what extent language should be policed in their own project, the
pragmatic thing to do is probably just quietly merge.

------
Findeton
I am a man, and I don't understand the "microagressions" word, and I usually
protest anti-men ("feminists") politics (like for example the fact that in
Spain, by law, for two exactly equal murders you will be fewer years in prison
if you are a woman). But in this case the R Foundation has acted as sexists.

~~~
matthewmacleod
_I usually protest anti-men ( "feminists") politics_

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…

~~~
Findeton
I know anti-men does not mean feminist. I am a feminist, I'm pro gender
equality. Anti-men are not feminists, they are "feminists", with the quotes.

------
PhasmaFelis
> _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._

> _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.

~~~
TheLogothete
But we don't know what actually happened. Perhaps you can keep your judgement
for AFTER you hear both sides of the story?

~~~
PhasmaFelis
Keyes' story was pretty clear and detailed; I don't see much room for
misinterpretation. I suppose it's possible that he's outright lying and the
locked bug he linked in the article was actually Viagra spam, but I don't
think it's reasonable to suspend all discussion on that basis.

~~~
TheLogothete
Or perhaps it went something like this:

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.

