Node.js has been forked over Terms of Conduct violations forming Ayo.JS project

By: ( +David Herron; Date: Tue Aug 22 2017 17:00:00 GMT-0700 (Pacific Daylight Time)

Tags: Node.JS »»»» Open Source Governance »»»» Ayo.JS

Over the last couple days, a group of Node.js project members who'd worked in the Technical Steering Committee resigned, and at the same time Node.js was forked to create the Ayo.js project. The name was chosen because it's pronounced similarly to IO, in other words this seems to be an attempt to resurrect the IO.JS fork. According to Twitter and Medium postings I've found, there are allegations of repeated Code of Conduct violations by one TSC member, and an unwillingness of other committee members to take action. Bottom line, the people involved are questioning whether the leadership of the Node.js project are properly committed to "community" and "inclusivity".

An open source software project is about much more than the code. A successful project is comprised of a community of people successfully working together. Often such projects are volunteer driven, and membership is on merit and contributions. Bottom line is that community dynamics often drive decisions about who is "in" the project and who isn't. By contrast contributing to a traditional commercial software project simply means having been hired by a company to do the work.

For background on Code of Conduct decision: Node.js team adopts the Contributor Code of Conduct, fostering a welcoming environment for contributors

Bryan Hughes: In, ( Why I’m leaving the Node.js project , Hughes says Rod Vagg had repeatedly resisted efforts to get an Inclusivity Working Group functioning. Hughes had been part of the io.js fork back in 2014/2015. He says the Inclusivity WG was formed because of "systemic culture problems in the Node.js project". The Inclusivity WG eventually collapsed, with some members feeling burned out.

During the time, Hughes says Rod Vagg "had repeatedly shown a lack of judgement in how he acts within the project and with the broader community" and that he had repeatedly violated the Code of Conduct. According to Hughes, it's not that Vag is a bad person, but that he is ignorant and unwilling to learn how to deal with a community.

The real issue, according to Hughes, is "Node.js leadership’s tacit endorsement of his [Vagg's] behavior through their unwillingness to take appropriate action".

That tweet links to ( documenting Rod Vagg's "interactions in the Github tracker and Twitter". The full list of issues were removed from this post and instead listed in a private "moderation" repository. The tweet includes an image showing a likely list of issues in Vagg's behavior. A vote was taken on whether to eject Vagg from the TSC, which failed to do so at a 60% margin.

Here is an example of the problem with Rod Vagg -- the following tweet was deleted:


The tweet points to an article, ( The Neurodiversity Case for Free Speech, which makes a case against "speech codes" like the one at Harvard University. The author's thought experiment is a time-traveling Isaac Newton trying to teach a course at Harvard in 2017. Newton would apparently be quickly hauled before Harvard's Inquisition (a.k.a. "Office for Equity, Diversity, and Inclusion") for violating some kind of "disrespect for the dignity of others".

The bottom line is that article seems to claim Code's of Conduct are really a way of punishing people for behaviors that were traditionally accepted. In reality, Code's of Conduct are meant to encourage society away from traditional behaviors that were discriminatory (or even violent) against genders or racial divisions.

That Vagg promoted such an article in the middle of a conflict over his conduct within the Node.js community implies something about his mind-set. But, I don't know him, have never met him, have not been party to any of the conversation, and therefore it's impossible for me to do more than speculate and I should instead focus on reporting the facts that can be found. Such as this statement by Vagg following up to his earlier post -- also deleted:


And others complaining that Vagg's behavior made them leery of participating in the Node.js community.

Hacker News on YCombinator ( ( has a good rundown of the issues, and many relevant links.

One thing to draw out of that is the term "Social Justice Warrior". That's another way of describing those who seek to establish Code's of Conduct, and are attempting to steer society towards healthier conduct between groups of people.

Some, though, see SJW's as a threat to the "Hacker Culture". A blog post by Eric Raymond ( ( is referenced in which he describes an incident in the Django community several years ago. In that post, Raymond describes another incident where a group of "Women in Tech" activists supposedly tried to set up Linus Torvalds with a sexual assault accusation.

Torvalds is well known to have a virulent personality, and routinely writing violently bashing messages to Linux-oriented mailing lists. That would be an example of a caustic environment within which to do work, yet somehow the Linux operating system is extremely successful.

That raises a question --- are Code's of Conduct required? If the goal is to get useful software written, perhaps a Code of Conduct is not necessary. On the other hand, isn't it desirable for members of a project team to have healthy relationships with each other?

Going back to the YCombinator thread -- another thing to draw out of it is the feeling that the Ayo.js fork is much ado about nothing. Many of the YCombinator commenters discuss along these lines: "They're flipping out because of a tweet, and all it had was a link to an article against codes of conduct." In other words, the action to which Ayo.js is the response seems to be small potato's and "what's the big deal"?

It may be that Ayo.js will not develop sufficient following to keep going, and will fizzle on its own accord.

There's no indication that Ayo.js launched because of a disagreement on technical issues, or to achieve some technological goal. Instead it was launched over a political/conduct argument.

This is unlike the cause of the io.js fork 3 years ago. In that case, the dispute was largely over the speed with which Node.js adopted new ECMAScript features and kept up with the latest V8 engine improvements. Today the Node.js team is doing a great job adopting V8 engine updates, and they are working with Microsoft on supporting Microsoft's JavaScript engine.