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.

@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