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.

« Loading jQuery and Bootstrap in Electron app has a curious bug Message send from Electron Main process not received by Renderer »
2016 Election 2018 Elections Acer C720 Ad block Affiliate marketing Air Filters Air Quality Air Quality Monitoring AkashaCMS Amazon Amazon Kindle Amazon Web Services America Amiga and Jon Pertwee Android Anti-Fascism AntiVirus Software Apple Apple Flexgate Apple Hardware History Apple Hardware Mistakes Apple iPhone Apple iPhone Hardware April 1st Arduino ARM Compilation Artificial Intelligence Astronomy Astrophotography Asynchronous Programming Authoritarianism Automated Social Posting AWS DynamoDB AWS Lambda Ayo.JS Bells Law Big Brother Big Data Big Finish Big Science Bitcoin Mining Black Holes Blade Runner Blockchain Blogger Blogging Books Botnets Cassette Tapes Cellphones China China Manufacturing Christopher Eccleston Chrome Chrome Apps Chromebook Chromebox ChromeOS CIA CitiCards Citizen Journalism Civil Liberties Climate Change Clinton Cluster Computing Command Line Tools Comment Systems Computer Accessories Computer Hardware Computer Repair Computers Conservatives Cross Compilation Crouton Cryptocurrency Curiosity Rover Currencies Cyber Security Cybermen Cybersecurity Daleks Darth Vader Data backup Data Formats Data Storage Database Database Backup Databases David Tenant DDoS Botnet Department of Defense Department of Justice Detect Adblocker Developers Editors Digital audio Digital Nomad Digital Photography Direct Attach Storage Diskless Booting Disqus DIY DIY Repair DNP3 Do it yourself Docker Docker MAMP Docker Swarm Doctor Who Doctor Who Paradox Doctor Who Review Drobo Drupal Drupal Themes DuckDuckGo DVD E-Books E-Readers Early Computers eGPU Election Hacks Electric Bicycles Electric Vehicles Electron Eliminating Jobs for Human Emdebian Encabulators Energy Efficiency Enterprise Node EPUB ESP8266 Ethical Curation Eurovision Event Driven Asynchronous Express Face Recognition Facebook Fake Advertising Fake News Fedora VirtualBox Fifth Doctor File transfer without iTunes FireFly Flash Flickr Fraud Freedom of Speech Front-end Development G Suite Gallifrey Gig Economy git Github GitKraken Gitlab GMAIL Google Google Adsense Google Chrome Google Gnome Google+ Government Spying Great Britain Green Transportation Hate Speech Heat Loss Hibernate High Technology Hoax Science Home Automation HTTP Security HTTPS Human ID I2C Protocol Image Analysis Image Conversion Image Processing ImageMagick In-memory Computing Incognito Mode InfluxDB Infrared Thermometers Insulation Internet Internet Advertising Internet Law Internet of Things Internet Policy Internet Privacy iOS iOS Devices iPad iPhone iPhone hacking Iron Man iShowU Audio Capture iTunes Janet Fielding Java JavaFX JavaScript JavaScript Injection JDBC John Simms Journalism Joyent jQuery Kaspersky Labs Kext Kindle Kindle Marketplace Large Hadron Collider Lets Encrypt LibreOffice Linux Linux Hints Linux Single Board Computers Logging Mac Mini Mac OS Mac OS X Mac Pro MacBook Pro Machine Learning Machine Readable ID Macintosh macOS macOS High Sierra macOS Kext MacOS X setup Make Money Online Make Money with Gigs March For Our Lives MariaDB Mars Mass Violence Matt Lucas MEADS Anti-Missile Mercurial MERN Stack Michele Gomez Micro Apartments Microsoft Military AI Military Hardware Minification Minimized CSS Minimized HTML Minimized JavaScript Missy Mobile Applications Mobile Computers MODBUS Mondas Monetary System MongoDB Mongoose Monty Python MQTT Music Player Music Streaming MySQL NanoPi Nardole NASA Net Neutrality Network Attached Storage Node Web Development Node.js Node.js Database Node.js Performance Node.js Testing Node.JS Web Development Node.x North Korea npm NSA NVIDIA NY Times Online advertising Online Community Online Fraud Online Journalism Online News Online Photography Online Video Open Media Vault Open Source Open Source and Patents Open Source Governance Open Source Licenses Open Source Software OpenAPI OpenJDK OpenVPN Palmtop PDA Patrick Troughton PayPal Paywalls Personal Flight Peter Capaldi Peter Davison Phishing Photography PHP Plex Plex Media Server Political Protest Politics Postal Service Power Control President Trump Privacy Private E-mail server Production use Public Violence Raspberry Pi Raspberry Pi 3 Raspberry Pi Zero ReactJS Recaptcha Recycling Refurbished Computers Remote Desktop Removable Storage Renewable Energy Republicans Retro Computing Retro-Technology Reviews RFID Rich Internet Applications Right to Repair River Song Robotics Robots Rocket Ships RSS News Readers rsync Russia Russia Troll Factory Russian Hacking Rust SCADA Scheme Science Fiction SD Cards Search Engine Ranking Search Engines Season 1 Season 10 Season 11 Security Security Cameras Server-side JavaScript Serverless Framework Servers Shell Scripts Silence Simsimi Skype SmugMug Social Media Social Media Networks Social Media Warfare Social Network Management Social Networks Software Development Software Patents Space Flight Space Ship Reuse Space Ships SpaceX Spear Phishing Spring Spring Boot Spy Satellites SQLite3 SSD Drives SSD upgrade SSH SSH Key SSL Stand For Truth Strange Parts Swagger Synchronizing Files Tegan Jovanka Telescopes Terrorism The Cybermen The Daleks The Master Time-Series Database Tom Baker Torchwood Total Information Awareness Trump Trump Administration Trump Campaign Twitter Ubuntu Udemy UDOO US Department of Defense Video editing Virtual Private Networks VirtualBox VLC VNC VOIP Vue.js Walmart Weapons Systems Web Applications Web Developer Resources Web Development Web Development Tools Web Marketing Webpack Website Advertising Website Business Models Weeping Angels WhatsApp William Hartnell Window Insulation Windows Windows Alternatives Wordpress World Wide Web Yahoo YouTube YouTube Adpocalypse YouTube Monetization