Node.js forks again, this time over a political dispute

A dispute involving a technical committee member leads to the Ayo,js fork, whose directions and goals remain vague

Thinkstock

New dissension in the Node.js community, driven by objections to the conduct of a Node.js technical committee member, have led to another fork of the JavaScript runtime engine.

Ayo.js describes itself as  built on the Google Chrome V8 JavaScript engine. It features an event-driven, non-blocking I/O model to make it lightweight and efficient. That’s exactly how Node.js describes itself. A note on the Ayo,js GitHub repo even states a lot of the Ayo.js documentation still points at the Node.js repo.

Two years ago, the IO.js fork resulted from a dispute over technical directions in Node.js (IO.js was later merged back into Node.js), but the new Ayo.js fork seems to be the result of community infighting more than any arguments over technology. Node.js technical steering committee member Rod Vagg, chief Node officer at Node.js provider NodeSource, raised ire over his tweet supporting a code of conduct article that Node.js community members described as inflammatory. They also claimed he had interfered with the Node.js moderation process.

In a close vote, the Node.js technical steering committee (TSC) declined to ask Vagg to resign, but four TSC members resigned: Anna Henningsen, Bryan Hughes, Myles Borins, and Jeremiah Senkpiel. Meanwhile, the Node.js board of directors is encouraging the TSC “to revisit this issue and suspend the individual involved from active TSC participation until this matter is resolved, hopefully with consensus, including support from those who recently resigned, if they would be willing to help,” said foundation Executive Director Mark Hinkle.

The recent dispute involving Vagg may have been the trigger for the Ayo.js fork, but documentation at the Ayo.js repo indicates there may be more going on than just objections to Vagg. A statement on values of Ayo.js says the platform “will explore new structures and framings for corporate relationships in such a way that its individual humans, not the corporations that employ them, are ultimately still the ones determining the direction of the project.”

Ayo.js will have an open governance model. Ayo.js policies on security and verifying binaries, as well as a list of current project team members, don’t yet exist. Just like Node.js, Ayo.js plans both current and long-term support releases.

However, the Ayo.js fork may not be long-lived, especially if the internal politics are resolved and a desire for unity in the Node.js community wins out. That’s what happened with IO.js, whose diagreements were more technical yet featured many of the same people working on Node.js. In the end, despite their technical disagreements, those factions made up and moved forward.