Skip to content

Instantly share code, notes, and snippets.

@trevnorris
Last active December 29, 2015 21:19
Show Gist options
  • Save trevnorris/7729322 to your computer and use it in GitHub Desktop.
Save trevnorris/7729322 to your computer and use it in GitHub Desktop.

Disclaimer: I work for Mozilla and am a Node.js core maintainer. The opinions expressed here do not reflect those of Mozilla or the Node.js project.

After watching the events unfold the last 2 days I decided to sit down, with my two cartons of Trader Joe's eggnog, and simply express with all humility and confidence what libuv@47d98b6 definitely was not.

Over the last year I have had the pleasure of being mentored by Ben. He is largely responsible for my initial major involvement writing performance improvements for Node, and has easily surpassed triple digit hours guiding my ridiculous ideas to fruition. My obsession with performance has even become somewhat an ongoing community joke. Because of his time and training I'm now in a position of being able to speak to many of you about the crazy and awesome new things happening in Node.

At the same time I've learned a lot about Ben as a programmer. Mostly that he is very precise with his code. Commits have always had to fill one of two criterion. 1) They are an acceptable code change (with accompanying documentation, tests, etc). 2) Documentation specific changes must clarify a technically incorrect point. So while his wording may have been a bit terse, I wasn't surprised the PR was closed. As for the revert of the initial merge, my only comment is that it wasn't for the reasons the majority of the community very clearly believes.

To clarify and demonstrate my previous point I would like to make an exhibit of his commit history. First we'll examine Ben's use of male specific gender pronouns in libuv:

for i in `git log --author="Ben Noordhuis" --oneline | cut -d' ' -f1`
do
  git show $i | grep -i '\<he\>\|\<him\>\|\<his\>'
done

This grep is meant to be as loose as possible to also catch any gender inclusive pronouns in the use of commit messages. So there is some actual code we need to filter through. Once this is done we can see only three results. The first two are from when Ben merged libuv stable branch to master. So, of his 1062 commits there is only once case of using a gender specific pronoun that dates back to Oct 2012.

Moving to Node core. This proves to be more difficult because of the large number of dependencies. But if we trudge through every commit message, searching every code comment, we find one case. From libuv. The same comment that we had just previously seen. So, if Ben's 1342 commits in Node core he doesn't have a single case of using a gender specific pronoun.

Based on this I would like to ask the community one favor. Please stop treating this as a case of sexism and gender preference. It absolutely is not. Those who have engaged in this discourse without empirical evidence are an equal threat to the community's health. This type of angry outcry and incessant flogging via social media only ingrains fear. Tweets stating they wish to have had the pleasure to fire Ben, or a stream of cleaver quibs stating what a leader is and isn't, aren't helpful to community growth.

So, one last humble time, please stop.

@jmar777
Copy link

jmar777 commented Dec 2, 2013

@trevnorris - Thank you for your post. I'll do my best to respect your moderating efforts, and keep this as on-point as possible.

@bcantrill - Reading through your responses, I feel the need to comment on the idea that the intentions can be rendered irrelevant here. Intentions do matter. So much so, that I would argue that it is common sense. The difference between vandalism and accidental destruction of property, murder and involuntary manslaughter, a roughhousing injury and domestic abuse, etc., are all intent. This is not to say that good intentions (or lack of bad intentions) get you off the hook for the consequences of your actions. But we do, however, treat someone who accidentally dropped their kid differently than we would treat someone who intentionally beats their child (for the sake of hyperbole).

I would also like to suggest that even using your own reasoning, Joyent has an obligation to clarify their initial message. Specifically, while it may not have been your intent to label Ben as a misogynist, that is indeed the result of your actions. Regarding your response to @trevnorris...

Finally, as for Joyent clarifying the intent of Ben's actions: I don't really feel it's on us to do that, because we were much more focused on the actions than the intent. (That is, Ben denied being a misogynist, but he was never accused of being one.)

... this appears to be an appeal to your intentions (or lack thereof with regards to mislabeling Ben). Your intent may have been to focus on his actions, but your comments exceeded those actions in scope. For example,

[...] to reject a pull request that eliminates a gendered pronoun on the principle that pronouns should in fact be gendered would constitute a fireable offense [...]

... speaks to the why of his actions, not merely the actions themselves.

I've been engrained in the Node community for a long time now. I may not be a core maintainer, but I have been a contributor over the years and spend a great deal of time working in and for the Node community. That is to say, I care deeply for it, and that is why I am chiming in at all. Community aside, however, it also pains me to see Ben personally chased out of the community. I can't defend his actions, and quite frankly I shouldn't have to in order to assert that Joyent crossed a line here, and needs to own up on their side as well. We do indeed need unequivocal responses to sexism, and I cheer Joyent's proactive position on this. I think we could also use a little "benefit of the doubt" in some situations as well. Ben's mistakes could very easily have been a learning situation, where everyone came out better on the other side. Joyent could have clarified that they don't endorse gender bias without any public shaming or labeling. And I could have just kept my nose out of this :)

I don't necessarily know how to put a ribbon on this, but I would urge you to give special consideration to what a reader could reasonably assume based on your words, and clarify where you may have implied more than you intended. Inasmuch as Joyent's corporate blog was used as the platform for this message, I believe Joyent has a responsibility in this regard.

@bcantrill
Copy link

@jmar777, I appreciate the thoughtful discourse here -- but what I can't get past is Ben's attempt to revert the commit. That, to me, is the moment that this crosses into an area where intentions no longer matter. And I didn't, in fact, label Ben -- but I do believe that his actions are indistinguishable from someone who is acting on the principle that pronouns should be masculine, and so did a lot of other people...

@yeroc
Copy link

yeroc commented Dec 2, 2013

@bcantrill, Ben's reaction and response in reverting the commit seem quite consistent with the reaction of someone angry over someone not getting sign-off on a commit and quite unrelated to the content of the commit itself? Especially, after he had himself denied the commit. Is that not the most logical explanation? People tend to be territorial and such reactions are common. In any event, it seems that the best thing would have been for you to reach out to Ben personally first to get clarification on intent.

@jmar777
Copy link

jmar777 commented Dec 2, 2013

@bcantrill, thank you for the reply.

That, to me, is the moment that this crosses into an area where intentions no longer matter.

I have to admit that I am struggling to understand this. It seems to imply that, prior to that moment, Ben's intentions did matter. Additionally, his actions in reverting the commit (regardless of intent) resulted in things being in their initial state, and the state they remained in after he initially closed the PR. The only real difference at this point, as far as I can tell, is not the action itself, but the fact that he was now in a position of insistence against the PR.

At this point, IMO, it was quite reasonable to imagine that came from a bad place. This seems to be the same conclusion that you made yourself:

To me, that insistence can only come from one place: that gender—specifically, masculinity—is inextricably linked to software [...]

In truth, I have a hard time not seeing intentions being implicit in that statement, though. It does not refer to the action itself, but where it came from.

I can't help but see this in your most recent comment as well:

but I do believe that his actions are indistinguishable from someone who is acting on the principle that pronouns should be masculine

This seems to imply that the actions themselves (regardless of intentions) are condemnable for their resemblance to actions performed with bad intentions.

Further, tying the issue back to a lack of empathy (in the original post) further elevates the importance of the why, which is in large part synonymous with the intent behind the actions.

Here's the crux of my concern, then:

  • I see several assertions that, at some point, intentions should cease to matter.
  • I don't see a compelling argument for why that is the case.
  • I have a hard time reconciling the actual statements that have been made with that view altogether.
  • However, if indeed intentions do cease to matter, that seems to happen only after a very fuzzy line has been crossed.
  • On the other hand, if intentions do matter (which is clearly where I stand), it seems they were not sufficiently considered.

@bcantrill
Copy link

@jmar777: I hear you, and we might be just getting to the point where it's a judgement call on which reasonable people can differ. It's obviously blurry: I assume that we agree there is some point where it's reasonable to ask "why are you doing this?" and some point where one changes to "I don't care why you're doing this -- it's unacceptable." To the degree that we disagree, it might just be about where those points are. Reverting the commit of the project lead to resolve an issue that goes to inclusiveness -- to me -- crosses into the realm of unacceptability. To you, however, it merits follow-up questions. (But surely there is a point where you too would not stop to understand intent and assume that the actions spoke for themselves.) I think that's fine -- we just have a slight disagreement here, and I'm probably a victim of some additional information here (like what exactly Ben said privately to Isaac when he did this, which was very, very nasty).

As to why there's this distinction, I don't know what to tell you other than human behavior is nuanced and complicated, and not all things are equal. I can certainly understand if you don't find that sufficiently compelling (as a software engineer, I'm not wild on nuance myself and definitely prefer things to be right or wrong), but that's what it is. I think it's okay that we disagree here, BTW -- and I think it speaks highly of you that you're willing to engage in an earnest discussion on such a charged issue...

@jmar777
Copy link

jmar777 commented Dec 3, 2013

@bcantrill, thank you again for taking the time to reply. I think you are correct on all counts there, regarding both where we do and where we don't agree. And as you said, that's okay. I don't doubt at all that there is a point at which I would concede that actions speak for themselves, and as hardly needs to be stated at this point, that simply wasn't the case for me in this scenario.

Human behavior is indeed nuanced, and while I may wish things were handled differently, I certainly don't envy the position you were in. And, perhaps if I had full knowledge of what was said less publicly, that would impact my thinking as well. As it stands, I really do appreciate your time and persistence in addressing the concerns that have been raised. Thanks again. :)

@trevnorris
Copy link
Author

Sorry to everyone whose comments I've removed. Forgot to mention this earlier: I consider this thread closed, and any additional comments will be deleted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment