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.
As an individual, and especially as a leader, you are responsible for the predictable results of your actions. Your motivations, whatever they might be, are mostly irrelevant because you are still responsible for the predictable result of your actions. The result of his action, twice, was that gendered pronouns were maintained in the code base against he overwhelming will of those engaged in the issue. Everyone involved made it clear how important this was to them and Ben decided that their feelings didn't matter as much as whatever opinion he had about the specifics of the change and process at the time and didn't bother to do so much as explain that to those involved.
I still read Bryan's post differently than you. If you think someone is sexist you say so plainly, you don't bother to accuse them of a lack of empathy. Bryan iterates why this issue is important, and why the change is not trivial, and why people would be upset by it. Others did the same in the PR prior to Ben closing it, so upsetting these people and perpetuating this issue was a predictable consequence of Ben's action which he holds responsibility for.
I never thought Ben's motivations were sexist, only that he felt his motivations, whatever they were, were more important than the feelings of others involved and more important than encouraging additional people and contributors to the community. I think that we should expect more from our leaders and I hope that Ben will realize that he doesn't need to treat people and their contributions this way. However effective this approach is in triaging issues it as effective at creating an environment that is at best difficult to contribute to and at worse hostile to contributions.