Hacker News new | past | comments | ask | show | jobs | submit login
Ben Noordhuis's Departure (nodejs.org)
208 points by clloyd on Dec 4, 2013 | hide | past | favorite | 229 comments

For those who don't know what's going on: Joyent made a blogpost calling Ben, (one of _THE_ most prolific contributors to nodjs), an asshole (http://www.joyent.com/blog/the-power-of-a-pronoun) and said they'd fire him if he'd been working for them, because he refused to take a commit making language in some part of the code gender-neutral. Here's Ben's last response to the whole ordeal: https://github.com/joyent/libuv/pull/1015#issuecomment-29568...

A lot of people speculated that this is part of a dance Joyent is doing to assert itself as a big cloud player. I don't know how much truth there is to that, but as a general spectator I feel like wanting to remark that Bryan Cantrill only fanned the fire here in all of this. And so perhaps there should be some weight given to the fact that a worker of a company that's a competitor to Joyent just quit, arguably due to Joyent's rough play -- if Joyent had approached the matter differently, carefully, sensitively, there likely would have been a different conclusion to this. But now it's done, and pretty much every participating party in this whole thing came out looking like a loser, Joycent, Strongloop, the whole nodejs scene. Here's hoping Ben now finds a workplace that appreciates him for his talents and respects him as a person.

Jesus. Take a look at this "patch":


Ousted the guy because he referred to "user" as a "he" in the comments? Are you fucking kidding me?

I'm all for gender equality, but the amount of drama that came out of this is just insane and disturbing for the hacker community. I can not see it as anything more than pure politics and gender issue as a convenient pretext.

Joyent has lost all credibility for me. And Ben has taken the place of the tech drama queen of the year.

Absolutely agree. As a woman in tech, these types of discussions make me sick to my stomach. What an absolute waste of time and energy (except for those using it for political gain, I suppose, but they rarely achieve that through these types of shenanigans.)

No, it was not because the original documentation used "he". It was because of his rejection of a suggested update, followed by his revert of the update when committed by another guy.

As I understand it, Ben was following commit rules.

That was Joyent defending their control over to project, remember that Ben & StrongLoop were a menace for Joyent:


I think that's attributing malice where a simpler explanation is available. You would be amazed how often people misunderstand the relationships between organizations. People blame Apple for poorly designed Mac and iPhone apps. People blame Google for problems with websites. People blame independent website operators for Google ranking algorithm changes. People will call up and chew out the receptionist at a newspaper for positions taken by its competitor.

It is entirely possible that Joyent was getting a lot of blowback along the lines of "Do you guys really have a guy trying to keep gender-neutral language out of this project you control?" from people who didn't understand that Ben was not a Joyent employee, and thus Joyent felt pressured to publicly distance itself.

The way Joyent did this came across as pretty tasteless, but the idea that it was purely political seems to assume more than is really necessary to explain what we've seen. It seems more likely to me that they just wanted to make themselves look good by setting up Ben as the enemy and they did it in a rather ham-fisted way.

That explains a ton, I imagine. It might even explain everything.

...makes Ben's decision to pull out of the project even more interesting though. Where does that leave StrongLoop?

Before of this incident each company (Joyent & StrongLoop) had two core members in the project, now StrongLoop have only one: Bert Belder

Man, corporate political games in an open source project.

I don't feel like I can possibly have an informed opinion on this, but I certainly feel played for having voiced a less informed opinion on the original discussion.

I would not be surprised to see StrongLoop fork node.

That's right, and with their expertise in libuv they could easily target a version to large multicore (32, 64) servers. IBM has also created a PowerPC fork, incidentally.

Not exactly a fork but they do have their own distribution: http://strongloop.com/strongloop-suite/strongnode/

I've read this elsewhere. Joyent appears to be threatened economically by StrongLoop. And there's a suggestion that Bryan Cantrill was annoyed up by Ben Noordhuis in the past.

I think that clears up the question of Bryan's intentions in writing that blog post.

Others have said 'judge Noordhuis by his actions not his intentions'. I don't believe this is a fair way to behave, and this demonstrates why.

> I don't know how much truth there is to that, but as a general spectator I feel like wanting to remark that Bryan Cantrill only fanned the fire here in all of this. Pretty much every participating party in this whole thing came out looking like a loser, Joycent, Strongloop, the whole nodejs scene. Here's hoping Ben now finds a workplace that appreciates him for his talents and respects him as a person.

If he's butthurt over such a tiny change (one that is entirely legitimate, all things considered) in documentation, they're right for calling him an asshole.

Seriously, go look at the diff that he had such an issue with:


He could have just smooshed the big green button and scored one for the "not pointlessly defaulting to masculine terms" team, but instead he had to turn it into an "omfg no this is stupid" debate.

Inequality doesn't change by embracing the status quo simply because that's how we've always done things. As much as Joyent look like turds here, they did the right thing.

If he'd worked for me, I'd have fired him for such assholery too. We're talking about a one-line documentation change of "him" to "they", for fuck's sake.

> He could have just smooshed the big green button and scored one for the "not pointlessly defaulting to masculine terms" team

No specific change should be considered to be above the rules, and especially not those that have some sort of political agenda behind them.

I don't contribute to Node, but if I did, I would expect to follow all their procedures for accepting diffs, and Alex Gaynor's diff should have also been processed according to the same procedure. Why should his diff be more "special" than a one-line change I make in some code?

He gave a perfectly reasonable explanation why he did what he did: https://github.com/joyent/libuv/pull/1015#issuecomment-29568...

You're forgetting two key points:

1) Ben is not a native English speaker, so as stated by Ben, he didn't realize it was a big deal.

2) The committer didn't sign a CLA yet.

As a fellow Dutch native speaker, let me shed some light on this. Here is how Ben explained stuff:

" To me as a non-native speaker, the difference between 'him' and 'them' seems academic but hey (...)"

The difference here is not so much in language as in culture. The Dutch language has similar gender distinctions as English. Subtle differences are that: - Our nouns are male/neutral or female, similar to French 'le' or 'la' - We cannot make neutral possessive ('its') and are limited to 'his' or 'her'

For the rest it is pretty much like English, including 'him', 'her', 'they' and 'them'. Also Ben should have good knowledge of English as any young and educated dutchman.

The difference is more likely cultural. Americans seem much to be much more easily triggered by signs of potential gender inequality or racism. The Dutch are more tolerant/rude and the humor often flirts with political incorrectness. In short Ben (and I) would not have sensed this as a potential agitator.

> Ben is not a native English speaker, so as stated by Ben, he didn't realize it was a big deal.

But is it an actually big deal for native speakers? I realize that some people think it's important, but then some people also think that you can't swear in comments and can't use "retard" as a summary opinion about someone else. In live, non-corporate language would any native speaker in fact routinely use "they" instead of "he" when referring to a user?

Yup, it was 100% bikeshedding, plain and simple. It's almost like we need to amend Wadler's Law to include a 4th level, "4. Politically correctness of pronouns in comments" [0]

The entire time that nerd rage battle was occurring I wanted nothing more than to be able to magically erase both the original commit and reversion from history, since it had nothing to do with the project, wasn't productive and was a distraction of many people's valuable time from things that actually matter for Node.js.

Seriously, if you want to bikeshed over pronouns instead of contribute working code, GTFO and go blag about it somewhere else.

[0] http://www.haskell.org/haskellwiki/Wadler's_Law

I routinely use singular they [1] when referring to someone where gender isn't relevant. E.g., "I want to find a new doctor; they should be smarter than the fool I'm using now."

What got me going on this was Douglas Hofstadter's "A Person Paper on the Purity of Language" [2], which I read long ago in college. For me it's been a very gradual change; I don't like language forcing me in directions I don't want. Similarly, I've experimented with E-Prime [3] over the years.

[1] http://en.wikipedia.org/wiki/Singular_they

[2] http://www.cs.virginia.edu/~evans/cs655/readings/purity.html

[3] http://en.wikipedia.org/wiki/E-Prime

A friend once patched an ircd so that it would not accept messages not written in e-prime.

I thought it a brilliant hack.

> In live, non-corporate language would any native speaker in fact routinely use "they" instead of "he" when referring to a user?

Yes, lots of people choose to use words like "the user" rather than "he". Or they use "he" and "she" throughout the documentation. Or they'll use singular "they".

> But is it an actually big deal for native speakers?

For some people it is a big deal because they are that type of person. For other people it's not a big deal but they do it anyway, just because.

If you're male (or anyone else reading this), consider this cognitive frame: instead of thinking about "they" vs. "he", ask yourself if you would prefer "they" over "she". Do you feel any sort of preference for one over the other? (Honestly don't know what your answer will be, I just think it's a good way to approach the issue.)

Also: not passing any judgement on Ben's actions here, just talking about the gender politics.

I routinely read "she" in documentation to refer to the developer/user. I notice it the first time it appears in a text and then I don't anymore, it doesn't bother me in the least.

Well, I found if offensive that 9:10 examples in a sexism sensitivity training video I saw were men offending, or deriding, or otherwise abusive towards women, with only one example of the reverse.

In terms of comments in a source code or even documentation, I've read plenty of times where it's "she" or "he" and honestly don't care too much... "they" imho is a bit too generic and would rather see "the user" or just "user" as the generic.

I think it's mostly bullshit. Even more so given that some words in many languages have a gender leaning... is it "le user" or "la user"? Given that, one would probably be more appropriate.

I'm male, and I will choose he or she or they pretty much arbitrarily. Usually it's "they". I believe that at some point in the recent past, people preferred "she" for an anonymous pronoun for some kinds of writing.

Yes, every day. It would feel unnatural to use 'he' as a generic pronoun in that context.

Each person makes his own decision about this, but some prefer to use "they". To each his own.

Everyone has his own reason for choosing a particular pronoun. Some people do it because they think it is less sexist. Some people do it because they want to be part of the in-group, and they see others doing it. Some people are personally offended by the generic "he" and want to refer to both genders so they use the singular "they" or the awkward "he/she".

1) Non-native speakers should know better than to pass judgement on linguistic issues without consulting others.

2) Ben rejected the change over 40 minutes after the submitter stated he had submitted a CLA.

I have issues with 1. Native speakers of English already enjoys tremendous privilege in open source world -- see antirez of Redis, another non-native speaker's take on this: http://antirez.com/news/61 -- and it should be native speakers who should be understanding of failings of non-native speakers, not the other way around. Check your privilege!

You are not addressing the subject I am addressing at all.

I am the only full-time monolingual employee of the company I work for, the only one who does not speak Mandarin, the only one whose mother tongue is English, the only one who grew up in a primarily English-speaking country, and one of maybe four who would be classified as fluent in English (and that count is probably high).

You can't imagine the things that pass through my inbox every day. I've worked for this company for years. This would be impossible were I not understanding of the failings of non-native speakers.

But when I need to correct their formal English (not often, because it only occasionally matters, since our target market is mostly Chinese), not one of my co-workers dismisses it out-of-hand. They know their limits, and immediately seek to understand what is going on, rather than ignoring the issue.

This has been my (much more limited) experience with non-native speakers from other parts of Asia and Europe, as well. Encountering a non-native speaker who does not behave this way is rare, I can think of only twice that I've personally run into it, and both times it involved people who had severe interpersonal issues well beyond language.

I can easily imagine things that pass through such inbox :) I am in a similar situation (a few who is considered good at English in a large group). In addition, I myself am a non-native speaker.

I imagine when you correct your co-workers' English, you don't assume malice instead of ignorance. I think you especially don't assume bad intentions when it has to do with tones, nuances, and cultural backgrounds. I am just requesting to extend similar consideration to people who are not your co-workers.

I am quite surprised to learn that you imply non-native speakers have "severe interpersonal issues" if they don't "know their limits". While I agree knowing one's limit is a good thing, when one doesn't you tell them, carefully, in non-condescending manner, not in the manner of "Non-native speakers should know better than to pass judgement on linguistic issues".

You are mixing contexts. I am not speaking to Ben. When this change was rejected, nobody had said a word against Ben, or anything to or about him at all. And at this point I have no reason to be charitable, he hasn't even apologized, and decided to run away instead.

> I am quite surprised to learn that you imply non-native speakers have "severe interpersonal issues" if they don't "know their limits".

I am relaying my own experience. The only two non-native speakers I encountered who were outright dismissive of linguistic tweaks did have severe interpersonal issues, and as I said, they went well beyond issues of language. We are talking about workplace violence-level issues.

If the reality of my experience makes you uncomfortable, so be it. That alters nothing.

Noordhuis is considerably more privileged in the context of an open-source project than the people he's chosen to behave poorly towards.

True, but I was commenting on English privilege in general. (nknighthb's comment was also general.)

"butthurt" is slang for rape.

I suggest you edit your comment to remove the offensive language and make it more inclusive to the Hacker News community.

Evidence? Know Your Meme documents it as related to spanking:


That matches my understanding of butthurt as an overreaction to being chastised or shamed.

"butthurt" is the pain you feel in your anus after being anally raped.

If you scroll down on that knowyourmeme page that you linked, you will see a set of memes in the "Buttfrustrated" category. The Brony meme has a set of insults that reference the anal rape: "Im sur thers sumpony who can help fill ur ass with semen laced hrut".

The percentage of cases in which a person is referencing "butthurt" to indicate a spanking is vanishingly small. Play the game "League of Legends" and complain when you lose. Ask people what they mean when they claim you must be "butthurt".

Did I just type those words?

I could believe some people use it that way; I just disagree that's the primary meaning.

Yep, you just said that!

No, it's not. It references rape, but is not synonymous.

Its current definition is roughly synonymous with "unreasonably upset".

I see, I've suggested a very simple change to a single word of your comment which would make it more inclusive to the community, but you have refused to change it and instead taken a stand of principle.

I now have the choice of respecting your decision, or pressing the big red button to incite an internet mob upon you and score one for radical feminism.

I'll let you know my decision shortly.

You should found a company and then not hire that guy but then write a blog post about how you would totally fire that guy.

I think it's a bit ironical that you seem to be acting "butthurt", threatening with internet mobs and such (and the gloomy prospects of someone losing their job if they don't bow down to your pressure).

Unless you are a rape victim you have no right to determine what is and isn't acceptable usage of the term.

Please respect the triggers of other people and check your privilege.

butthurt isn't slang for rape, and you don't get to decide what the community understanding of the meaning is. Which is someone unreasonably upset.

source: my understanding, peer understandings, and every post on urbandictionary

+1 for defending women's rights while using the term 'butthurt'.

You're missing one very important detail: the person issuing the pull request didn't sign a CLA.

Yes he did. After the PR, before the initial close.

I don't subscribe to the idea of property rights for information, so that detail is irrelevant to me.

It is irrelevant to you, but not to libuv. All committers must sign a CLA, otherwise, pull requests issued by those that haven't signed the CLA will be rejected.

Edit: I might point out all pull requests that only have two lines of grammar change in documentation. Those lines which really don't mean anything to someone who speaks a language with gendered pronouns applied to inanimate objects.

> I feel like wanting to remark that Bryan Cantrill only fanned the fire here in all of this.

You've expressed a thought, not an emotion. Please use "think" instead of "feel".


Just a note:


These are the guys in control of nodejs. They appear to be both immature and highly profit driven with far more interest in themselves than the platform. If this isn't a red flag for investing time in nodejs, I don't know what is.

You say "profit driven" like it's a bad thing.

I thought this was a forum about startups.

It's a good thing for the startup, sure. But it's definitely a very bad thing for a third party choosing to use nodejs as a critical part of their infrastructure. You guys might take nodejs off on a direction that is beneficial to you and not to me, and I'm not in a position to fork the project myself if that happens.

> and I'm not in a position to fork the project myself if that happens

You don't have a github account?

> Let's say that we don't/can't do that, we'd have to create a new foundation. That's not cheap. Conservative estimates put it at around 1-2 million a year for legal, marketing, hiring a few developers to work on Node.js.

BTW, I think the Apache Software Foundation gets by with much less than that.

I agree that 'profit driven' is not a bad thing, though, in any event!

Yes, it highly depends on what your foundation "does".

The ASF does not hire developers to work on projects -- it just provides the infrastructure for development to happen. Once you start hiring developers, budgets for foundations go up way too quickly, and once you do that you get into the whole fundraising trap. (Need to raise 2m? Better pay an ED $250,000 to do that, and then they are motivated to get it to $3m, etc)

Ok, but why does this hypothetical Node.js foundation need to hire developers? Joyent won't shell out the money for it any more if they are not see as "owning" an MIT-licensed open source project?

Their call, I guess, I am more of an Erlang guy than a Node.js guy, so I don't have a horse in this race.

the post you link to seems quite sensible, I don't see what's the problem with it

Is it really?

Does Joyent care about the future of node more than about it being its cash cow?

If so, why aren't Joyent willing to collaborate with other companies in a sensible way?

Why are they willing to throw collaborators that work for competitors into the fire as soon as shit hits the fan?

If collaborators know that Joyent will issue a press release to discredit them and protect their asses as soon as that collaborator makes a PR mistake, do you think that anyone would be actually willing to join the node project and work as a collaborator?

Is the answer to the previous question good for node.js?

These are just some of the fears that I'm having for the future of node.

I think that Joyent should apologize. Not for standing up for gender equality, but for betraying the community's trust. The trust that collaboration will consist of good will and support; that all issues will be resolved with reasonable discourse, no matter what company you happen to work for. Or at the very least, for handling things poorly by adding fuel to the fire.

Ben's a good person. The community bears responsibility for this loss

I'd never heard of Ben before this whole ordeal, but he unfortunately projected like an asshole, with zero damage control instincts and no apparent sense of urgency for reconciliation. If you can't contribute to a positive space, you should probably find a less public project where you're free to exercise your lack of emotional intelligence.

Having said that, he didn't deserve a public shaming by the sponsoring organization. Unfortunately, that seems like it was political :/

A lot of people across the various forums that discuss this stuff seem to be missing this. It is politics, pure and simple. Joyent and Ben had... an interesting relationship, as far as I'm aware.

Do you realize the gravity of losing someone like Ben on a project like Node? I know you'd never get around to improving/contributing to Node but how does what you said get us closing to anything?

I know. I think my answer was simplistic. I said I'd never heard of Ben, but I was actually primed by reading this article right before stumbling upon the debacle: http://venturebeat.com/2013/09/18/can-this-startup-steal-nod...

Having only ever had positive experiences with Isaacs in non-node-core capacities, I suppose I immediately jumped on "their side". So I guess I came to the conversation on biased terms.

Could it be that he's just not someone to be a project lead? Someone can be a prolific contributor (and a good person -- not demonizing him), but still not be the right folks to lead a project, right?

I think most of the biggest core contributors are unable to project that kind of emotional intelligence.

Because, well, they are programming, not working PR

Ben didn't handle it well, and certainly could have explained himself a bit better. And I disagree with him on the commit; minor language improvements that make the language more inclusive are still valuable, and rejecting them means you're rejecting part of the community.

But the amount of crap he got was totally out of proportion. The commiters should have been able to simply discuss this and decide to handle this better next time.

Maybe this fairly minor incident was blown way out of proportion because of the Joyent-Strongloop friction.

Ben isn't a native English speaker and was following the repo's rules. Joyent publicly shaming him and saying they'd fire him over a gendered pronoun in the documentation is an absurdity. There is prior history between these folks as rivals that explains Joyent's animosity toward Ben.

    >Here's hoping Ben now finds a workplace that appreciates him for his talents and respects him as a person.
Did Ben leave strongloop as well? Reading between the lines regarding stepping away form Node.js vs just the responsibilities that come with being a core contributor looks ambiguous.

That was the impression I got from some idle IRC chat, but after checking for myself I can find no concrete evidence verifying if he's parted ways with Strongloop or not.

> because he refused to take a commit making language in some part of the code gender-neutral

He didn't only refuse such a commit. He actively reverted it.

On procedural grounds.

It hadn't been accepted, as far as Ben knew, by someone with the authority to make that decision, it didn't follow project guidelines, and the contributor hadn't signed a CLA. The revert had nothing to do with grammar and language.

AFAIK this is not the case. The contributor had not signed a CLA when he first submitted the pull request, but evidently did sign it well before Isaac merged in the change (he claimed to have done so very early in the original PR thread). As far as I can tell, procedure was followed.

It seems pretty clear that Ben acted somewhat inappropriately — maybe not with his initial rejection, but when he reverted Isaac's merge and "chided" him. The important thing to remember, though, is that one bit of prickly behavior shouldn't be enough to brand someone "an asshole." Heaven knows I've gotten annoyed and said things I've regretted on more than one occasion.

Well, I admit to not being 100% clear on the CLA. I was going of comments in one of the other threads from someone who seemed to know what they're talking about, but didn't show proof.

Still though, I would make the reverse point: I think the initial rejection was a bit dodgy, but the reversion was clearly justified.

Really, the reversion had nothing to do with the CLA; rather it was made by Isaac, who did NOT have authority to make that commit, and as far as Ben knew, it was unauthorized. Reverting it was justified. (In fact it was authorized by Bert, but Ben didn't know that. Yeah, Ben could have checked with Bert first, but I doubt I'd have done that in his shoes. If I was making a commit to a project I didn't have authority to, I'd probably make a public note who had told me it was okay. Isaac didn't.)

...still, either way, I agree with your conclusion.

I thought Isaac accepted the Pull Request and merged it in? Doesn't he have the authority?

No. Not on the libuv project.

At the time of the controversy, the core developers of libuv were Ben Noordhuis (bnoordhuis), and Bert Belder (piscisaureus), both working for StrongLoop. Nothing is meant to be committed to the libuv tree without one of them signing off on it. To quote Ben's commit message: "@isaacs may have his commit bit but that does not mean he is at liberty to land patches at will. All patches have to be signed off by either me or Bert. Isaac, consider yourself chided."

But the very first comment on Ben's revert is from Bart: "I signed off on it. Just leave it as-is, no need to revert."

In short: Isaac did accept the pull request. He did not have the authority. Someone with authority (Bert) did accept it, however it was reverted (by Ben) under the mistaken belief that no one with authority had accepted it. A simple communication breakdown; why Bert didn't commit it himself (or why Isaac didn't note that he was committing it with Bert's authorisation) I'll never know.

He claims he reverted it because the commit was pushed through without going through the required process. My guess is the whole affair was the boiling over of tensions that existed long before the pull request.

Can you explain why you are ignoring the fact that he was following the procedure (i.e. had no choice, the committer wasn't in the Committers file) and clearly didn't realise that the commit had been accepted by someone else?

So many people seem to be wilfully ignoring the facts and I can't understand why.

Can you explain?

Semantics. It's the same as saying "no", and then saying "no" again.

Really, if there's one thing I thought feminists had taken to heart it's "no means no".

if there's one thing I thought feminists had taken to heart it's "no means no".

I'm a dude, and this comment seriously offends me.

I'm sure you thought you were being funny or something, but I dare you to make that kind of quip to a woman's face, and see if you don't begin realize why by the way her expression changes.

I am quite serious.

"No" is a powerful word, and the "no means no" slogan is about enforcing the power of that word and the expectations our society place on it no matter the context.

Women and sexuality do not have an exclusive claim to protection from having someone force their ideals or their actions upon you or, as in this case, your repository.

"No means no" specifically refers to a campaign against rape. It is not some general defense of the right to refuse anything and the sanctity of the word "no". The word "no" in itself isn't some kind of sacred word, and it should not have general power in all contexts that's enforced, as you seem to be proposing.

Apart from the analogy seeming silly and over-dramatic when applied to a... pull request to a software repository... it doesn't even make sense based on how open-source projects I've worked on in the past operate. There is nothing particularly out-of-bounds about making a suggestion a second time, even if it was rejected the first time. Situations and personnel change, and discussions recur. Linus even actively encourages it himself, and many pull requests are accepted after three or four "nos" from Linus. This does not mean that Linus encourages you to initiate sexual advances with people who've asked you to stop, though, because that situation is not at all similar!

This may fly as rhetoric on /r/MensRights (and yeah I mention that because I went and looked) but it doesn't hold true in...like...reality. "No means no" as popular phrasing most specifically does refer to unwanted sexual contact, originating specifically in the context of date rape--and no, to forestall the tired MRA argument, male- or female-initiated sexual contact. And it was not Noordhuis's repository at all, as can be evidenced by the whole "/Joyent/" part of the URL.

I don't know Mr. Noordhuis. I think his behavior was stupid and Joyent's moreso. I think your behavior, and your motives, are appalling.

To be fair here, the only reason that /joyent/ is in the name is because Ryan Dahl entrusted the project to Isaac Schleuter, who works at Joyent (and was working at Joyent at the time of the bequeathment).

TBH, I was always bothered by having the project move from Ryan's account to Joyent. Ideally it would have moved to Isaac's or another, new organizational account "nodejs" should have been made, where all the core Node.js projects could have lived.

I'm quite frankly appalled at Joyent, the company, having made a statement via a spokesman about an extremely valuable contributor of the project. Joyent is a guest in the open source community. It is a sponsor and it enjoys brand benefits. But it is not a member of the community. It's engineers are and if anyone from Joyent (or anywhere else) was going to call out Ben, then they should have done so speaking for themselves on their own personal blog. This is the kind of stuff that makes me want to keep companies at an arms length of any open source project. There are only two entities in an open source project, the individuals and the group. Any entity beyond those two can only serve to split the community or inject more politically charged discourse into conflicts.

AFAIK, engineers from both Joyent, Strongloop (Ben's company) and Nodejitsu have all been core contributes of Node.js, but that Joyent has gotten most of the name recognition.


Agreed almost entirely (I think that many companies have shown themselves capable of being very responsible stewards of open-source projects, it's only in a couple of communities that I see this sort of thing happening), but what-should-be doesn't really change anything. It probably should be under its own project--but it's not, it's under Joyent's and the actions on the project reflect on them. I think Joyent overreacted terribly and did themselves more damage than the tempest in a teapot otherwise would have caused, but I get the motives behind it.

The only reason I replied is because the tenor of Zikes's posts throughout this discussion have been consistently of the "I'm not touching you I'm not touching you we both know I'm being a dick but I'm not touching you!" variety and this straight-up mistruth about something rather important ground my gears.

You should downvote or ignore trolls, especially if they're that obvious.

The fact his comment isn't grey says something about the HN community.

  > this comment seriously offends me
"So fucking what?" © Stephen Fry http://www.youtube.com/watch?v=zqPcjm-X5GQ

Did Ben actually confirm he was leaving? If you read hist post on the subject he says:

"I'm probably going to step back from libuv and node.js core development."

Did I miss something?

Joyent looks better to me honestly.

> Here's hoping Ben now finds a workplace that appreciates him for his talents and respects him as a person.

He'd better find one that respects him more than he appears to respect women.

What's oddest about this is the amazing volte-face Bryan Cantrill appears to have performed. It wasn't that long ago he was adressing gross deficiencies in Solaris' performance compared to Linux on SPARC hardware with snarky, personal, and rather sexist jokes: http://www.cryptnet.net/mirrors/texts/kissedagirl.html

(On edit: added more about Cantrill's own background in this area...)

"He'd better find one that respects him more than he appears to respect women."

I've read his responses twice now, and i don't see, in either case, anything that makes me think he doesn't respect women. Can you please point it out? I'm genuinely interested. The guy said like 7 sentences none of which said anything like "i think what is being done here is wrong" (instead, he said "i generally reject trivial doc fixes for X reasons") and is being crucified.

From where I sit, you have to add a lot of implications and subtext to what he said to get anything like that.

IE Do you not take him at his word for why he rejected the changes?

Or do you believe the very act of not being interested in these types of trivial doc fixes, when some of them change gender pronouns, makes him disrespectful of women?

(I've belonged to plenty of open source projects that would reject trivial comment/doc fixes like this when done en-masse, regardless of whether they were to fix spelling or gender pronouns or whatever, so i'm willing to take him at his word)

What am I missing?

> he said "i generally reject trivial doc fixes for X reasons"

But for people who do not consider the related gender issues trivial, it was not a trivial doc fix.

That's it? That's the reason to crucify someone? That seems insanely short sighted and stupid.

Without inserting any personal views here, crucifying people who appear completely ignorant of a cause, or don't understand the level of concern you feel about something, is not an effective method of advocacy. It's exactly the opposite.

If you don't understand how to be an effective advocate, you tend to hurt rather than help your cause.

Example: This whole thing.

Well, for a person who doesn't consider the fix "trivial", it's kind of easy to see some other (more sinister) motives behind the rejection of the fix. And then even more suspicious motives behind the act of labelling a clearly non-trivial fix as "trivial".

In my opinion, both sides of the debate overreacted, but I am just trying to explain you the viewpoint that apparently feels quite alien to you. Well, if you don't even want to understand that way of thinking, that's fine, too.

"In my opinion, both sides of the debate overreacted, but I am just trying to explain you the viewpoint that apparently feels quite alien to you."

Sure, but your description seems to kinda imply that everyone assumes everyone else are passive aggressive assholes :P. Maybe that's the case here, but i would hope not in general :)

Here [1] is a wonderful (rather long) essay on whether balrogs have wings in Tolkien's books, or not. The point of the essay is that if your prior belief is that balrogs have/don't have wings, it's very easy to interpret the evidence (whatever Tolkien wrote concerning balrogs) in a light that supports your original stand.

So in the same manner, if you don't consider the fix trivial, then everything else Ben did afterwards, seems quite suspicious really. Or if you do consider the fix trivial, then everything than ensued, seems seriously out of proportion.

[1] http://www.glyphweb.com/arda/b/balrogs.html under ‘...And Whether Balrogs Have Wings’

I don't think he appears to really disrespect women. I would say that he is, as are most guys in tech, ignorant of issues around sexism and arrogant enough to believe that if he is not aware of an issue it does not exist. Having read his responses, I think he seems like a reasonable guy who could stand to understand the world better.

edit: it wasn't that long ago? 16 years ago I was in elementary school. That's like 3 tech aeons ago.

I think we're allowed to be ignorant of the politically correct gender issues surrounding grammatical usage in a codebase. To do otherwise is to bikeshed. On the internet no one knows you're a dog. 99% of the time I have no idea if the person I'm talking to on Github is a man, woman or has a different gender identity, nor do I care. It'd simply doesn't matter. [0]

All that original commit did is set off a giant clusterfuck of nerd rage and bikeshedding. No one should ever submit a commit like that. If you want to edit executable code and make those pronoun changes in productive commits, fine. But to make those changes to the pronouns of comments and nothing else is pure unadulterated bikeshedding and shouldn't be in any project.

[0] http://programming-motherfucker.com/

This isn't about political correctness. It's about a practical consideration of the impact of language usage supported both by anecdotes from community members and academic studies. The defining quality of the "color of the bikeshed" discussion is that it makes no practical difference — but there is a difference here. When you say "bikeshedding," what you really seem to mean is "something I don't feel the impact of."

You should consider that just because something isn't important to you doesn't mean it isn't important to someone. A commit like that doesn't measurably hurt you or me, so even if it only helps someone else moderately and in a way we don't entirely understand, it is still net-good. This isn't political correctness; it's objective practicality.

Likewise... you should consider that just because something is important to you doesn't mean it has to be important to someone else. It does go both ways.

I do consider that. I am baffled that people are willing to go to the mattresses over something that they don't object to, but which they argue is unimportant to them. That they spend time arguing not 'this is something I think is bad' but 'how dare you spend time on this thing I find unimportant!'

I believe people are going to the mattresses over the rage being directed at him. They are arguing more "how dare you be so enraged at him simply for not finding the issue as important as you do!" This is why I said what I said.

Hm, that's true for a significant amount of the argument since the Joyent blog post, and that's a fair argument. But in my judgment another significant part, and most of the noise in the original commit thread before Ben even reverted the commit, is about the change itself, and featured a lot of 'why are you even touching this, this isn't important, go and teach high school girls to code if you care so much'.

That is true... some people are angry about that. I don't understand those people too.

Indeed, and I am not asking malandrew to act like this is important to him. My point is that we should not oppose it, not that you personally need to take action of some sort.

In other words, I'm fine if you don't want to go through and revise your docs to be more gender-neutral — it would be nice, but you should spend your time on what's near and dear to you. But to say that such a change "shouldn't be in any project" is a very different thing. It has practical benefits, even if they don't personally affect you, so opposing it is purely harmful.

I totally respect that this is an issue that is important to people. I'm not opposed to these changes in the docs. I'm opposed to these being the only changes in the pull requests. You want to crusade on this agenda? Earn it. Submit a non-trivial pull request with a bugfix or feature and bundle these changes that matter to you in with them.

This is a perfect example of a group being it's own worst enemy. Alex Gaynor is not the group. The community is the group. If this matters to Alex then he should have bundled it with something that matters to the community like a pull request with changes of utility like a bugfix or feature.

If and only if Alex had contributed something of universal value to the community in the pull request and was still called out by people for that comment change in the pull request would he actually be correct in his accusation of misogyny and gender discrimination. Instead he led an unjustified lynch mob against someone who has contributed far more than him to libuv.

I'm staunchly opposed to the use of pull requests as a soapbox and unjustly crucifying someone who did not deserve it, and judging by the upvotes, I know I'm not alone in this opposition and support of an unjustly persecuted person.

This attitude is silly. Lots of volunteer contributors start out making trivial changes because they're trivial. We take lots of trivial documentation and comment fixes at Mozilla as people's first patches. They help contributors learn how the contribution process works, such as the ins and outs of posting patches, navigating the bug tracker, etc. Rejecting trivial changes because the contributor hasn't "earned it" is a great way to raise the barrier to entry on your project. (Also, bundling unrelated changes seems like a terrible practice to promote. We like to have separate issues addressed separately.)

Do you feel that way about doc changes in general?

If the doc change is trivial, yes. If it's a significant change in the meaning of the text and how it relates to the code it accompanies, then it should be a separate pull request.

A good litmus test is, "Is there value to the community in having this as a separate pull request when someone is browsing the commit history?"

In other words, if this only matters to me and is part of my own crusade (but one that the larger community is likely to actively object to), then I should keep it to myself.

The change in question here could have been part of a larger commit of changes to documentation and comments, where the overwhelming majority of changes would be considered valuable by the majority of the community.

My point is that we should not oppose it, not that you personally need to take action of some sort.

Hmm... but isn't a lot of the rage toward Ben because he didn't take action on something that some people feel is a big deal while others feel it is not such a big deal?

I don't think so. People are mad at Ben because he reverted Isaac's commit and they thought it was because he had an ideological axe to grind. They think that Ben wasn't indifferent on this matter.

Then they should take great comfort that Ben reversed it based on his thought that proper procedure was not followed. Awesome! We can all calm down now and... oh wait... seems we still have rage. shucks.

Everyone is allowed to be ignorant, the problem is people who are not ignorant but simply dismiss issues as "unimportant" because they are unaffected. It is not the original committers fault that you and so many other people don't care about (or in some cases object to) gender neutral language, and bikeshedding is best stopped not by leaving the bikeshed unpainted but by you and others who fjnd it unimportant shutting up and not objecting to the damn color if you don't care about it. Be the reduction in trivial arguments you want to see in the world.

I'm not bikeshedding on the topic of gender. I couldn't care less about that topic. That's not my battle[0], which is why I keep focusing on other aspects of all this that are important to libuv and open-source. I'm defending an unjustly persecuted person of great value to the community and the antisocial open source behavior of using pull requests as a soap box. If debating those two issues are bikeshedding, then I'm happy to bikeshed about them.

[0] but people seem to think it is and that I'm opposed. I don't know what I've said to contribute to that illusion.

I think we're allowed to be ignorant of the politically correct gender issues surrounding grammatical usage in a codebase. To do otherwise is to bikeshed

I read this (from your grandparent comment) as meaning 'discussion of gender/grammatical issues is bikeshedding' - and that to me sounds like you think it shouldn't happen because you don't care about it, which is effectively opposing the idea. If that's not what you meant, I'm sorry for the misinterpretation.

> I would say that he is, as are most guys in tech, ignorant of issues around sexism

He's also speaking English as a second language.

I am speaking English as a second language, and my native language does not have gendered pronouns, and the gendered pronouns bother me every day, I cannot make myself blind to them.

Then again, if his native tongue also has gendered pronouns (as it appears to do), he should be aware of the issue, not because of English, but because of his native language has the same issue. Well, perhaps his native language user community has not yet started the same discussion, though.

Tbh I'm a native speaker and I've messed up gendered pronouns more then once in my life. So don't feel too bad ;)

You have to admit, that responding to a very informative message comparing and contracting Solaris's networking stack with Linux's with

  Have you ever kissed a girl?
  - Bryan
is incredibly tasteless.

But of course that was long ago.

I don't think it at all appropriate to criticize what was clearly an honest mistake with a call for his employer to fire him. I would expect that of the masses on Twitter and commenting on the PR, but not of Joyent or Cantrill.

People who want to ruthlessly enforce their personal version of political correctness (Bryan Cantrill in particular, and Ben's employer Issac Roth, who seems to have competed with Bryan in a no-I-am-the-bigger-asshole contest) forced an important core committer out because he tried to enforce accepted commit policy. This is a particularly aggressive brand of feminism, one that I have mostly seen in the USA. It seems to be mostly dictated by people pushing through their changes based on their ideology at any cost, by branding anyone who opposes them as discriminatory oppressors.

The number of people I have heard saying stuff like "It was a politically sensitive PR, of course it should have been merged" is surprising. In fact, I would strongly recommend rejecting all such politically sensitive PRs on the basis that they are deliberately controversial, and asking the submitter politely to put their changes in a PR with more significant contributions that they submit to the project.

Relevant links:

[1] Original pull request: https://github.com/joyent/libuv/pull/1015

[2] Bryan's "I am going to fire Ben, even though he isn't my employee. Fired. Did I say fired yet?" blog post: http://www.joyent.com/blog/the-power-of-a-pronoun

[3] Issac Roth's "We'll fire Ben if he doesn't learn grammar. Haha, j/k." blog post: http://strongloop.com/strongblog/collaboration-not-derision-...

Was the strongloop blog post modified since you linked to it? It really doesn't match your characterization of Issac Roth at all. Quite the opposite, actually.

These are the lines that make me think he is an asshole.

> Ben made a mistake by not understanding how important the gender pronoun change was in the pull request. But he was trying to interpret the commit rules...

WTF? Any commit should be according to commit rules. And changes which do not actually affect how the code runs are actually unimportant from a core committer's point of view. Couldn't Issac Roth have empathized with that worldview a little more?

> But people deserve a chance to correct their mistakes and improve.

"You enforced standard commit policy, but because the extreme feminists didn't like it, I am going to give you a chance before firing you."


> If Ben can’t learn, we’ll fire him. [Edit: See comment below. This is not meant literally.]

"If Ben can't learn, we will fire him. Don't worry, only figuratively fire him. Work out how we can figuratively fire him, good day!"

"Any commit should be according to commit rules. And changes which do not actually affect how the code runs are actually unimportant from a core committer's point of view."

While it's actually hard to believe, I think the (very trivial) commit that was rejected broke the build for two reasons:

1) The project in question has a CLA requirement. https://github.com/joyent/libuv/blob/master/CONTRIBUTING.md#...

2) The project in question has a commit message policy that is CI-enforced. https://github.com/joyent/libuv/blob/master/CONTRIBUTING.md#...

Can anyone else confirm? I haven't seen this fact discussed publicly (although knowledgable people seem to allude to it).

Issac Roth is not an asshole. The quote about firing Ben was a joke that didn't translate well.

This is so sad on many different levels. A guy who clearly liked working on this module has to make a choice to walk (which is his choice) because people get offended by pronouns. I seriously don't like where all this is headed: where he, she, they are all NEEDED so people don't get offended. This is the whole christmas thing all over again, and it needs to be enforced by society that just because you don't like something and it "offends" you then it doesn't mean that people can't/won't do it. in this case, a very popular project loses a great contributor but how long before other things like this starts happening because people are "offended" by little things. Good job on Ben for standing on for whats right, and hope more people take his route and say enough is enough.

No, this is trivial and his stand was just him being pointlessly argumentative. It's entirely unproductive from both an equal rights standpoint as well as a technical one.

Drama for drama's sake is and should remain a firing offense.

If you read the github thread, you'd see that Ben actually never participated in the drama/discussion until it blew up. Ben essentially rejected the pull request, then a giant PR nightmare blew up overnight with blog posts from Joyent & Strongloop. He decided to leave because of the whole ordeal from the companies.

I read the github thread.

Ben closed the sincere and well-meant patch, saying, "Sorry, not interested in trivial changes like that." He didn't just participate in the drama; he started it.

Non-drama options would be things like: asking the contributor more, asking a colleague to look it over, asking a native speaker why it mattered, and just moving past the pull request and leaving it for somebody who cared.

It was a trivial change. It didn't help me nor anyone else understand the code being commented on any better, nor did it change any executable code. That's about as close to the definition of a trivial[0] change that I can think of. Pronoun choice is of little value of importance since this is a open source project, not a college gender studies class. If you think that's not trivial, then take it somewhere where it's not considered trivial and spare everyone else the bikeshedding.

[0] definition of trivial: of little value or importance.

I understand you believe it was trivial. Maybe Ben Noordhuis still does too. Others disagree.

Using power to force one's own view because one can is a problematic behavior in open source projects. It needlessly costs contributors. And respect.

Please explain to me what view you think Ben was forcing upon the community, because I do not think the view you and others nerd-raging here is aligned with reality.

Ben was forcing the view that the commit policy had not been followed, which is a view that the rest of the community agrees with. This all got blown out of control when someone misinterpreted Ben's actions and started a bikeshedding tempest in a teacup instead of figuring out why Ben considered it a trivial change.

I don't know about you, but everyone who went off the deep end in that thread basically joined a lynch mob based on misunderstanding and failure to seek clarification for the commit reversion. The burden was on those who were upset to seek clarification instead of brandishing pitchforks and torches.

I don't think anyone who has contributed to the NodeJS repo joined because they wanted to bikeshed over gender issues. I'd be surprised if anyone (other than the author of the commit that started all this) joined to commit with that as a primary intent (or secondary, tertiary, etc.).

The view forced was that the change was trivial.

That's the same view you're trying to force here. But at least Noordhuis has the virtue of possibly believing that. You clearly don't; you've got 9 dismissive, rage-y comments on this article. That's not how people react to trivia, which you were helpful enough to define as of little importance.

I think you correctly recognize the topic, which is the politics of gender inclusion, as important. It's just that you disagree with the people who proposed and support this change. I'd rather you were honest enough to say that, rather than trying to get us to swallow the notion that this this totally unimportant thing is totally important.

I agree gender issues are important. Pull requests are the wrong place to begin that debate. NodeJS was not started as a asynchronous framework for server side javascript with gender inclusive comments.

The project was never gender exclusive. The comments could have easily used the pronouns she instead of he. Whoever wrote the comment chose he for whatever reason. Had someone else who has a different gender pronoun preference written the code being commented on, then it would have been different. It doesn't really matter because it's irrelevant to the purpose of the project.

Yes, I disagree with people wasting the committer's time with something that simply does not matter. Pronouns don't matter. He, she, it, user, dog, cat, lamp. If it's not code or comments that further clarify the code in question who cares because it simply does not matter. Knowing or not knowing the gender of the example user in the comment doesn't change anything about the code. Were we really supposed to believe that it was only going to send the nsent flag is the user is male and that we are not sending the flag if the user is female.

People should either code or not code, but they should not pretend to contribute with trivial pull requests that have been one huge net negative addition to the project due to the shitstorm kicked up. That's all the original pull request has accomplished ... one big massive net negative addition to the community. What an excellent way to make your point and endear people with your cause. I hope they are happy with the turd they left in the pool.

You know what statistic I would love to see. Lines of code contributed by those who think the change is trivial versus those that think it is not trivial. That's the only worthwhile objective measure of "important" that really matters. I bet you that the conversation on that PR is actually really really short once you eliminate everyone who has never contributed a pull request.

> Pronouns don't matter.

You keep turning your opinions into supposed statements of fact. Given how little you know about this topic, you're just embarrassing yourself.

Pronouns matter. The politics of it may not matter to you, but they matter to a lot of other people. They also matter in terms of reader perception. E.g.: http://www.jstor.org/discover/10.2307/27784423?uid=3739560&u...

We are coming out of centuries of systemic gender discrimination. The tech industry still has substantial problems in this regard, and is under intense scrutiny, internal and external. Arguing to ignore improvements in favor of the status quo is arguing to support gender discrimination. Arguments like that are especially suspicious from somebody on the good side of gender privilege. Especially double-talk arguments about how vitally important it is to resist this one specific trivial patch.

Also, you can't blame the shitstorm on the person submitting the pull request. After all, you keep asserting that it's trivial, the very smallest of things. The shitstorm started with the rude, dismissive rejection of the pull request. If you'd like to blame something, blame that.

    "Also, you can't blame the shitstorm on the person 
    submitting the pull request."
Why not? You can't unilaterally decide that that person cannot be to blame here.

They could have made a contribution of utility (bugfix or feature for example) and included that minor comment change within that pull request, instead of using a pull request as their own personal soapbox. Github issues and pull requests are not forums for debating the politics of gender issues. As someone who had never once submitted a prior pull request with utility to libuv, Alex Gaynor should have made his change silently as part of a bugfix or feature and moved along. His behavior was antisocial.

Or as an alternative, he could have privately emailed an existing contributor, discussed the change, and got support. If it had come from Isaac or Bert to start with, it would have sailed through without objection.

I really feel like a pull request was the wrong vehicle for what the original submitter was trying to accomplish.

I see what you're saying, but I disagree.

If open-source projects adopt an "email first before pull request" approach, I think that's a big mistake. That will mean a lot of dialog with people who aren't actually going to do the work, and a lot of missed patch opportunities from people who have done or will do the work but are put off by the uncertainty of a policy like that.

Regardless, if a pull request is the wrong vehicle, then the correct response isn't, "Request rejected! Go away." It's "Let's talk about this more." It was a two-line change that made the project better. (At least, nobody has so far claimed that the gender-exclusive language was better.) I think that's enough of a positive signal to be worth following up on, and certainly not the dire insult that some believe it to be.

I see your point, but I'm not suggesting a general "email first before pull request" policy, which I agree would be a big mistake.

I feel like this was actually a very unusual situation.

Ok. If it's not a policy, then I don't think there's any way you can expect a potential contributor to know that a particular pull request must be preceded by discussion. In which case, I think the burden falls on the person reviewing the requests. In this case, Noordhuis. The submitter did their bit by making a positive change and offering the patch.


The change was not "let's make libuv comments gender neutral," but "here's this one thing I noticed in this one place." A one-off change like that has a trivial impact on the overall gender-inclusiveness of the project, and that's the case no matter what importance you attach to it.

If gender-inclusive language in comments is deemed important, then it ought to be treated as important from the contributor side. For example, "comments must all be gender neutral" should have been incorporated into the coding standard for the project, along with a rationale, and the existing code should have been vetted for all uses of gendered pronouns. That would have made for a more serious contribution, and I bet Noordhuis would have treated it differently.

Well, technically, it was two places.

Your theory about Noordhuis is interesting, but there's no evidence for it, and some against. If he had thought it was a good change that just needed more in that direction, he could have easily said that rather than closing the pull request with a discouraging comment.

I think that's true for any change, really. If somebody had fixed a spelling mistake, would any reasonable project leader just have closed the pull request dismissively? I doubt it. Would have they refused to accept the patch until spelling was put in the coding standard and all spelling mistakes were fixed in one go? That'd be crazy.

I guess I'm extrapolating from my own experiences. I review and merge pull requests on a semi-notable project, and I am often tasked with evaluating changes in unfamiliar areas, which means I am liable to misunderstand the significance of a change (as Noordhuis acknowledged he did, not being a native speaker). I appreciate PRs that clearly explain the issues and lay out their case, and I defer many one-offs that I deem not worth the trouble.

So I sympathize with the guy. All I see is someone donating his precious free time acting in what he believes to be the interests of the project, doing his best to handle issues that he poorly understands, because someone has to do it.

I have actually encountered your spelling mistake example. I dealt with it by asking the contributor to vet the code for other instances of the same mistake. The results were fantastic: the contributor was inspired to find all sorts of spelling mistakes, and include them in the PR, resulting in one big commit fixing dozens of errors.

So you are correct to criticize his dismissive comment, and choice to close the PR. That attitude drives away potential contributors, and also invites misunderstanding (in this case, accusations of misogyny).

Wow, great example. That's exactly what I wish had happened here.

    "he could have easily said that rather than closing the 
    pull request with a discouraging comment"
There are 129 open issues[0] and 25 open pull requests[1] for libuv right now on Github. That one didn't deserve his extremely valuable time that is better spent on considering contributions that matter, like the the 25 open pull requests.

You don't have a right to Ben's time and attention. He gives to the project out of his own volition out of a sense of duty to the community. The community here are people who have help build node.js and libuv to what it is today. Someone showing up in Nov/Dec 2013 issuing their first pull request and making it a trivial one isn't deserving of Ben's time. Ben doesn't owe anyone an explanation here. Had the PR request submitter made several prior code commits that had been accepted, maybe it would be fair to expect an explanation, but not for a trivial first PR.

[0] https://github.com/joyent/libuv/issues [1] https://github.com/joyent/libuv/pulls

That I don't have a right to Ben's time and attention is true, but irrelevant. I'm not demanding anything of him.

I do have the right to criticize him for his public actions, which is what I'm doing. I think he behaved poorly in relation to two topics I care about: leading open source projects, and ending sexism. He doesn't owe me an explanation, but I would read it with interest.

I also think people on the project have a right to criticize him. They have. He does owe them an explanation; any action taken in the project's name is subject to review by the project community.

I think the rest of your argument is more smokescreen for your true agenda, which is tiresome. I'm glad to discuss the actual issue, but I'm not interested in knocking down straw men until you get tired of making them. It seems like you've run out of new things to say, and I don't think either of us is learning anything here. If you want to discuss this further, feel free to email me.

   "I think he behaved poorly in relation to two topics I care 
   about: leading open source projects, and ending sexism."
I would think that the best way to do that is to lead by example by leading and open source project and combatting sexism in the project(s) you lead instead of knocking down my strawmen.

If you lead an open source project and fight to end sexism, then great. If not, you are in no position to criticize Ben.

   "I also think people [who have contributed to] the project have 
   a right to criticize him. [Everyone else can GTFO]. He does owe 
   them an explanation; any action taken in the project's name is 
   subject to review by the project community."
FTFY. This entire ordeal would have been a non-issue if you could mute non-contributors.

My true agenda? Establishing a culture where non-contributors don't waste the time of contributors with their bikeshedding.

What excludes someone from the category of non-contributor? They submit test cases. They clarify documentation to make it clearer how to use the code or understand the algorithms in the code. They implement features. They participate in design discussions. They contribute use cases and elaborate on why those use cases are important. They fix bugs in the open source code instead of simply hacking around it in their own code. They write blog posts on how to use the open source code. They publish examples of the open source code in use. They give talks on how to use the open-source code.

Yes, I believe that's more smokescreen. As I said, I'm done engaging with you in this forum about this.

> "Please explain to me what view you think Ben was forcing upon the community

The view that the improvement to the documentation text was trivial.

Nope. At best that's a partial explanation of the view.

In Ben's own words:

    "... Us maintainers tend to reject tiny doc changes 
    because they're often more trouble than they're worth. You 
    have to collect and check the CLA, it makes git blame less 
    effective, etc."
Put yourself in Ben's shoes. You come across a commit that clearly doesn't fix a bug, add a feature or clarify some confusing comments (it's may not have been PC, but it certainly wasn't confusing). Next you check who is submitting the PR. It's from some user you don't recognize because they've never submitted a pull request before. Well before you can accept the commit, you need to check if they have signed a CLA. Well that's a pain in the ass to do. So you ask yourself, "Is it really worth my time to go look all this stuff up or should I just close it and move on to a pull request that actually contributes something valuable to the project?".

I would expect the overwhelming majority of people who have been committers of a large active open-source project to have done what Ben did. It's called triaging and it is in the overall best interest of the community.

"Tiny changes" are his words. It was tiny in the amount of characters, but apparently some people consider it not so tiny in meaning, otherwise this whole storm would not have ensued.

Some people consider it tiny, other don't. There is no consensus.

Also, I don't think anyone can claim copyright over the change of 2 words (so in the intellectual property sense it was tiny), so if there was CLA- and other process-related complications, he could have done the same edits himself. Takes one minute, problem solved, shitstorm avoided. Would also have saved a lot of his and everyone's time.

Exactly. Well said.

The way I saw it, there was one blowup when bnoordhuis rejected the initial PR, but it magnified hugely when he then reverted isaacs's commit applying the patch from the PR, "chiding" him in the process. According to the IRC log, isaacs made the commit "acting fast to prevent it from blowing up further into a whole big thing."

Looking at the IRC log, here's a weirdery: The initial patch (47d98b6) and the merge commit isaacs made (5812e19) both appear in the IRC log. bnoordhuis' revert (804d40e) doesn't. In fact, the revert isn't discussed at all.

I guess in big corporations general rules like this may be useful to consistently deal with several such incidents per month. But in the context we're talking about, language like "firing offense" is itself needlessly dramatizing.

If someone creates drama about something all the time I may not want to continue to work with that person. But if after years of working well together, mistakes are made in one particular conflict that gets out of hand, I'm not going to delegate the matter to Catbert's office right away.

Yes, documentation should be gender neutral. But no, one argument about this should not lead to a core developer leaving.

Wow. Joyent certainly came out looking childish and pedantic to go so far as publishing a blog posturing and name calling[1]. I am at a loss to even comprehend why this amount of feminist alliance was even required by Bryan Cantrill, or why even such a public naming and shaming is being advocated by Joyent as a company. I'm not on the Joyent hate wagon but they certainly come out of this looking hilariously immature.

@bnoordhuis if you're reading this, I've never used libuv as a developer, but you obviously worked hard on the project. I'm sorry you had to felt forced to give it up over some blog post from a company I once believed to be reputable.

[1]: http://www.joyent.com/blog/the-power-of-a-pronoun [1a]: mirror: https://gist.github.com/anonymous/3051faface454d516929/raw/3...

Joyent was clearly trying to harm the reputation of Ben and of his employeer StrongLoop

Which is why this project should have been transferred from Ryan Dahl's github account to Isaac's github account or to a new NodeJS organizational github account.

Personally, I would love to see Joyent reliquish control over the project over their pettyness in this whole fiasco. They have proven themselves to be a poor steward of the project.

The last time this was discussed the story was buried pretty quickly.

My comment was pertinent to drama and the community, it sort of got reinforced a bit more now so I'll just repost. Sorry for anyone who already read it already.


My understanding of Node.JS and libuv community is as an outsider. I don't follow what's going on unless it is on the front page of HN once in a while and other forums.

But one impression I get from Node.JS and its surrounding community is arrogance and immaturity. This is from top to down -- companies sponsoring it (Joyent) and many of its vocal proponents. I see plenty of energy, enthusiasm, but mixed with immaturity. "We don't know what are doing, but darn it! we will be very vocal and do it with lots of enthusiasm".

One guy doesn't want to commit a trivial change. It blows up into a media shitstorm. Reverted commits. Joyent's reaction is what surprised me -- "While we would fire Ben over this". This guy doesn't even work for them. Hypothetically firing people, hmm, so committed to Women's Rights, they are hypothetically hiring, and firing this person on the spot. Have they talked to him in private? StrongLoop, a company I never heard of until this point, is a bit more mature, that's good to see, but even they couldn't resist the veiled threat.

What is sad, as a whole this episode just reinforced the (hopefully wrong) stereotype I have of the community. Joyent instead of helping the community (which I think they thought they did by writing that blog post), are hurting it. Buying into and spending time and money learning a platform/language is also an implicit buy in/participation in the community. So far it screams to me "stay away". Hopefully it will grow up at some point.


> But one impression I get from Node.JS and its surrounding community is arrogance and immaturity.


That's not true at all. There are a number of prominent members of the Javascript community - John Resig, Erik Arvidsson, Glen Murphy, Paul Irish, Alex Russell, etc. - that are very mature and a pleasure to work with. The problem is that Javascript is a very large language and has spawned a number of subcommunities, and as is common with communities, the ones with the most drama attract the most attention.

Joyent's decision to publicly shame one of Node's largest contributors with a passive-aggressive blog post instead of approaching him privately speaks volumes about their maturity.


I just don't understand how a company the size of Joyent would waste time writing blog posts about pronouns in a code comment. This would be the equivalent of Microsoft blogging about some engineer's code comment in the Windows source code. Nobody cares about that stuff.

As others have pointed out in different comments, Joyent's participation in the whole affair looks like strategic maneuvering against a direct competitor. And if Ben is out at Strongloop (a co-founder of the company as well as being a Node/libuv contributor) then it worked like a charm.

To paraphrase the saying: "don't let a perfectly good crisis go to waste."

There was a lot of activity on Twitter around the commit.

The issue wasn't the pronouns; they were there for a long time without a problem. The issue was that somebody trying to fix them got their pull request closed with "Sorry, not interested in trivial changes like that." It was a jerky move, and a lot of people brought it to Joyent's attention since their name was at the top of the page.

It wasn't a jerky move at all. Ben simply struck down a 100% bikeshed commit that didn't even follow the commit policy.

Making that trivial bikeshed commit in the first place is a jerk move.

I don't think that's verging, as they aren't referring directly to him.

I dunno, I'd label it more as outright, actively aggressive.

It does speak volumes, and personally I will be staying the hell away from Joyent in the future. Their management seem to be more willing to make political points than technical assets.

How do you know that no one approached him privately?

Joyent called Ben an asshole and said they wanted to fire him over a minor grammatical preference. [1]

But let's "please respect [their] wishes to let this issue rest", because it's not like we need an apology or any sort of reassurance from the company that owns a rising star of technology that we're supposed to invest our time and money in.

Good luck finding a replacement.

[1] http://www.joyent.com/blog/the-power-of-a-pronoun

Holy crap, what a read. You have to wonder... What feminist muff is he puffing? I can't stand white knighting especially when it befalls other men in armor. Ben, you've got my sympathies and support, sorry you have to hear this immature politico-feminist-fascluckery from Joyent

Agreed. Perhaps injudicious to fan the flames with a word like "muff" but I also 100% support this guy Ben Nordhuuis's response. Gender inequality is a real and important issue, but that does not mean that people writing code have to accept pull requests from busybodies piddling around with pronouns in comments.

What feminist muff is he puffing?

Seriously, what does this contribute to the discussion?

I can't stand white knighting especially when it befalls other men in armor what does that even mean?

Personally, I'm wondering about "fascluckery".

I think Ben is being poorly served by his defenders, who are gleefully bringing in their MRA hobbyhorses.

HN has been invaded by MRAs from a certain subreddit ever since the "dongle" issue a few months ago. They very quickly latched on to this community because they realized all they had to do was make their comment verbose and it would appeal to the affluent, college-aged men here.

Apparently they stuck around.

ceol, if you disagree with me, fine. But calling me a "massively wrong asshole" and claiming I came from a sewer-pipe on reddit, is just downright dirty.

My point about the white knighting, was that Cantrill from Joyent is pretty much taking an apologetic stance as if Ben committed a chauvinistic crime against women in programming. He's taking a steaming dump on Ben, in order to look 'politically correct', and defender of woman's rights, for him and his company. That's when white knighting is sick..when it stomps on the ideal of being a decent person in order to appeal to the hounds thirsty for banter and apologies and discourse about an issue that doesn't even exist.

First of all, Ben didn't have any intent, second of all, this whole fuss is just..politics..and purely distressing circumspection for those with too much time on their hands. Go back to coding...at least there's output...

Oh and have you seen this? http://venturebeat.com/2013/09/18/can-this-startup-steal-nod...

Could be why Cantrill has it out for Ben.

I find myself quite saddened by the whole affair.

I am a big fan of Node.js (though I spend as much time or more with Clojure/JVM these days). Over the past year+, I've been very impressed with the tech coming out of Joyent and the engineering team/s led by Bryan Cantrill.

Without intending to be inflammatory, I must say that I found Bryan's blog post regarding pronouns and assholes to be unprofessional and disturbing.

I asked Mikeal Rogers[1] about his thoughts regarding the ethical limits of "unacceptance" policies/campaigns within developer communities and workplaces[2], and I would be interested to read the HN crowd's feedback as well.

[1] https://github.com/mikeal

[2] https://gist.github.com/mikeal/7724521

That happens when you publicly shame and demonize your core contributors.

Joyent has royally fucked up there, and if I was buying services from them, I'd have stopped now.

They didn't have to like his opinions, but this could have been handled much more amicably (maybe some "agree to disagree" and "we overrule you on this specific issue, no hard feelings").

Instead they chose the nuclear option, not only publicly blogging about how wrong they think Ben was, but actually fantasizing about firing him.

This is what happens when you're flat-out denying the Holocaust here in Germany. But for standing on the "wrong side" of how to handle gernder pronouns? Please...

This is the same thing I'd do if I've faced something like this.

All I have to say is Node community is fool enough to lose a talent like Ben.

I've got $250 credits from Joyent as a gift for Node Knockout. I will never it and never suggest any of my clients to choose Joyent.

Although Ben could have handled this better, it's quite obvious that this is just a strategically motivated witch hunt by Joyent. Their actions are vicious and completely out of proportion.

Sidenote: In Ben's native language, using gender neutral pronouns is considerably more contrived and artificial, and therefor not a regular subject of debate when it comes to gender equality.

Yep. Joyent's new corporate strategy: hunting witches. Nailed it.

Which would indeed explain the sheer violence of the blog post.

I can't imagine ever wanting to work for Bryan Cantrill or Joyent or even contribute to node.js in any capacity.

I encourage Cantrill and Joyent to think about their obligations as founder and employer to their own employees. Ben was not one of their employees, but the callous remarks, the callout culture, the threat of immediate firing over something so trivial speaks to a deep misunderstanding of the modern role of employer and employee.

Cantrill's remarks were shameful. That Joyent didn't walk them back egregious.

I still admire some of the work he has done, but I have to also count myself among those who would not want to work with someone so willing to grand stand and just generally so hostile to another human.

One phrase I remember from Cantrill re: Oracle & Solaris was that "People Innovate, not companies". Commits contribute, blog posts rarely do.

In the recent weeks I've seend a few businesses make stupid statements on their websites and on social media. As a business owner I just don't understand why they're doing that. What do you achieve when you call your customer/associate/employee a(n) asshole/liar on your website?

I haven't heard of Joyent before this whole thing started. And to be honest, I still don't know what they do, but I'm pretty sure I don't want to do any business with them.

Agreed. From a business perspective Joylent's actions in this matter make no sense. Do they hope to gain sales from people impressed with their extreme name-calling?

I for one will not be recommending them or using their services in the future.

To everyone who felt polarized by this issue, I want you to take a second and feel shame.

This was such of little consequence, honestly. This wasn't some massive, elaborately planned, misogynistic plot. This was a matter of few pronouns in a random software project.

Stupid crusades like this do damage. We all need to pick our battles carefully. And not doing as much should collectively be viewed as a bad thing.

If you were mounting up on a crusade about this little issue, let me be clear: you should feel bad.

I love tech's progressive thoughts on individual rights and respect and firm adherence to equality, but sometimes the tech industry loses sight of the forest for the trees, and we should collectively rally against that habit.

Now, we lost an amazing Node contributor.

Because of this incident (and Joyent response on it), Isaac Roth from StrongLoop and others are asking for a neutral home for project:


This is the kind of thing that helps me understand why people don’t want to contribute to open source:

You can get flamed just for making code public [1]. Contributing to someone else’s project and missing the bar for quality is one thing, but this person _shared some potentially useful code_ and several Internet-famous people took a dump on her project. Wrapping your head around software is already hard enough without having to worry about getting trolled or potentially destroying future opportunities.

Or the case we have here: a couple of actions get taken out of context and have meaning read into them where there wasn’t any, and now people think you’re a misogynist.

Why contribute and deal with all of that potential noise, when you can do _just about anything else_ and not have to worry?

[1]: https://news.ycombinator.com/item?id=5106767

Inevitable, but a real injustice.

I guess Joyent got what they wanted. Hope it was worth the bad taste it leaves in people's mouths.

I'm in support Ben's decision 100%.

Indeed on Ben's side in this but personally, I don't think Ben should of stepped aside/left.

Me too

For those who don't know the background of the story:

[1] http://werd.io/2013/gendered-pronouns-in-software-a-quick-pr...

[2] http://strongloop.com/strongblog/collaboration-not-derision-...

As said in [2]:

   If Ben can’t learn, we’ll fire him. [Edit: See comment
   below. This is not meant literally.]
that seems like the result.

Ben wasn't "fired" — he voluntarily resigned from the Node and libuv projects because he was so put off by the treatment he was receiving.

Distinctions like that are meaningful to the unemployment office and in a court of law. They actually said they were firing him, publicly, and he left the project. The fact (of law) is probably that he resigned, voluntarily. I actually came to say "I don't care" but after critical analysis, I think you're wrong. He was fired.

StrongLoop did not say they were firing him. They actually said they opposite — that they wanted to keep him on because they benefit from his contributions to the Node and libuv projects. They explicitly noted that the "we will fire him" was a far-future hypothetical situation that they didn't believe would happen.

The reason they mentioned firing was because they were responding to Joyent's suggestion that he should be fired. It seemed to me that the overall thrust of StrongLoop's post was, "We think Joyent are quite hasty if they would fire a great guy and great contributor like Ben over a misunderstanding."

I understand that StrongLoop did not fire him, but the project has more stake-holding companies than just his employer.

Hopefully you can understand how even if Joyent was not his direct employer, their publicly stating that he "should be fired" was the main impetus leading up to his departure.

This is why I said that legally he was not fired. You can't be fired by some random collaborator or Joe off the street. It's your employer's job to pay your salary, and to fire you if that's what's needed too. That is not what I'm talking about.

Consider that you can be "fired" from an open source project where you don't receive a salary and like your coworkers, you are providing labor on a volunteer basis. That's not what happened here, but if you take the StrongLoop and the salary out of the picture, it's exactly what happened. Joyent (and the rest of us who are not part owners of StrongLoop) are not getting his labor on an unpaid basis anymore.

Sure, he voluntarily resigned after of being called an asshole and sexist by the project owner (Joyent), seems totally expected in my opinion.

Did actually any women complain? Cause all I saw was bunch of guys arguing about how awful it is to use gender pronouns. I wouldn't care if all examples were written with "her". Cause that's absolutely unimportant. As I understand there's more serious, real issues with gender equality, like: salary difference, not promoting women, entering barrier, etc. Not damn "he" in doc examples. And as Ben mentioned he actually do some real things: 'I volunteer in a mentorship program that gets young people - especially young women - involved in technology.' Too bad they all didn't talked it over privately in the very beginning and resolved the issue. That retaliation post by Bryan Cantrill only hurts Joyent's reputation in my eyes.

Sadly this is the exact behaviour I have come to expect from these types of people.

Rather than actively work towards fixing the big issues in gender inequality (which requires society as a whole to change, and consequently will take decades of slow improvement), they choose to take the easy route and fill themselves with self-righteous indignation over an open source maintainer who reverted a commit for a trivial documentation change that he thought violated commit procedures. Obviously he is a rampant misogynist and needs to be crucified.

The real irony here is that the people with the pitchforks are generally more sexist than those they choose to lambast, seeing as they feel so compelled to defend poor defenseless women from all aggressors (real and imagined).

To answer your question: Yes. https://github.com/joyent/libuv/commit/804d40ee14dc0f82c482d... (please scroll).

However, that's not a necessary criteria. Substitute "he" for some other term, say "white person", and I doubt you'll see the need for a specific member of the excluded segment to speak up.

The real argument is around the second part of your comment. Which can be recast as whether male as the default gender, when used in texts, is a matter of concern for the development/opportunities of women. I think so. Along with salary differences, etc. We do not have to reach to Simone de Beauvoir to make that point... here is a link to a current analysis/view: http://writingcenter.unc.edu/handouts/gender-sensitive-langu....


> Moreover, these issues are important for people concerned about issues of social inequality. There is a relationship between our language use and our social reality. If we “erase” women from language, that makes it easier to maintain gender inequality. As Professor Sherryl Kleinman (2000:6) has argued, > > [M]ale-based generics are another indicator—and, more importantly, a reinforcer—of a system in which “man” in the abstract and men in the flesh are privileged over women. > > Words matter, and our language choices have consequences. If we believe that women and men deserve social equality, then we should think seriously about how to reflect that belief in our language use.

'Donglegate' 2.0. Also this submission will not be on the front page in less than 30 minutes.

Because threads like these are tainted by hateful mra idiots who joined HN in droves about 8 months ago.

> hateful mra idiots

They're just the expected outcome of Jezebel/Tumblr Internet feminism. I'm not agreeing with them, but I can see how they may feel like they've been backed into a corner.


Please do the classy thing and have Isaac create a NodeJS organization on Github and move the project to that organization under his stewardship.

With great power came great responsibility and using the Joyent corporate blog to excoriate one of the community's most valuable contributors is the path to the dark side.


When Ryan originally announced the transition to Joyent, someone asked if node would be moved to Joyent's github repo. Isaac replied: "I hope not". But now he asserts that Joyent owns node, and considers it a "cash cow".

I think this was between ry/node and joyent/node, not nodejs/node and joyent/node.

Who owns the trademark?

Joyend. I mean Joyent.

"Many of you already have expressed your opinion regarding recent drama, and I'd like to ask that you please respect our wishes to let this issue rest, so that we can all focus on the road forward."

Sure, please don't talk about this anymore since it can harm to Joyent's reputation and business.

Gender inequality is the world's greatest human rights challenge, but Ben Noordhuis is not the problem. This was idiotic politically correct micromanaging that deserved the response initially given to the PR: "not interested in trivial changes like that".

Don't you think genocide or human trafficking trumps that?

You might be right, but the reason I tend to think it's gender inequality is, obviously, because every person has a 50% chance of being affected. And probably every woman on the planet is affected to some degree. Whereas the pan-global, per-person probability of being affected by genocide or human trafficking is extremely small in comparison. My guess is that the average amount of suffering per person ends up being much higher for gender inequality. I.e. for genocide it's a sum over a few million people of a very large amount of suffering each, whereas for gender inequality it is a sum over say 40% of the world's population of smaller amounts of suffering each, plus a sum over, say, 10% of the world's population of a large amount of suffering (e.g. women who are denied access to education, denied personal freedom of movement outside their homes, etc).

I already had done so, but it makes me feel even better about dropping node for go. Not just because of the increased sanity go brings to my codebase (no more callback hell, which frankly was a mess even with node addon libraries). Now I can also feel good about not tacitly supporting Joyent, way to make good people leave.

Ridiculous. First Ryan Dahl, now Ben.

Why does the guy who wrote the blog post still have a job? That is the most unprofessional post I've read on a company blog.

What a disaster. This company @joyent totally fucked up the whole situation.

Using gender-neutral pronouns in English is the right thing to do...but this guy is a native Dutch speaker. Seems really insensitive and hegemonic to have jumped down his throat like that, considering.

That's it, I'm out. I'm dropping node for dart.

I think from now on I am going to use "him" sometimes and "her" sometimes in my code. I'll flip a coin on which one to use.

I think each of the people who comment on github should have to do it in Dutch (and try to get the pronouns correct).

Oh my GOD I can't believe this is actually a thing.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact