Technology /

io.js and Node.js Have United and That’s a Good Thing

20 May 2015 11:17am, by

It’s been a little over a year since io.js was forked from Node.js. Many have been wondering what the long term implications of this fork would be. Will io.js become the new standard for server side Javascript? Will io.js divide and fragment the growing community? Will the two projects settle their differences and one day reunite as a whole? While some are a little reluctant about the merge, a reuniting of io.js and Node.js has officially been announced, and many regard this as a great step forward for both projects.

A Little History Lesson

For those of you haven’t been watching the action unfold over the last year, you might be wondering why the io.js fork came about in the first place. The primary reason: many of the core Node.js contributors wanted a more open governance model. The Node.js project was initially ran under a benevolent-dictator-for-life (BDFL) model, where a small group of people were given final say about any project commits. As stated in a blog by Joyent’s Scott Hammond:

“Historically, leadership ran the project fairly tightly, with a small core of developers working in a BDFL model. It was difficult for new people to join the project, and there wasn’t enough transparency for such a diverse, passionate community to have a sense of ownership. Consequently, a group of developers who wanted to operate under a more open governance model created the io.js fork.”

The tight BDFL model became a hot topic as it hampered getting out new Node.js features and improvements. The added issues with getting people involved in developing Node.js created a double effect that forced a need for change.

Io.js has been living up to the idea of getting more features into developers’ hands. A key example of this: io.js places high priority on keeping up to date with the latest version of Google V8. (Google V8 is the Javascript engine that powers Google’s popular Chrome web browser; Node.js uses V8 to execute code.) Node.js has shipped with versions of V8 that are no longer supported. Given that V8 is such a crucial component of Node.js, keeping V8 up to date allows Node.js to utilize all the latest performance and security benefits engineered by Google for V8. This is a pretty major win, as Google invests quite a bit into making V8 a very robust Javascript runtime.

The Node Foundation

The Node.js Foundation is an independent foundation meant to govern the Node.js project. Previously, Joyent governed it. While Joyent will no longer be the official owners of the Node.js project, they are committed to actively contributing towards the project’s development. For the folks at io.js, this is exactly what they wanted. As Node.js now runs on open governance, the initial motivator for creating the io.js fork is gone. And with that, on io.js’ May 13th meeting, io.js officially decided to merge back into Node.js

The Path Forward

Much of the discussion and nitty-gritty about how implementation of the merge can be found on io.js’ Github repo, specifically issue 978 and issue 1664. To make a long story short: As part of the merge, the Node.js name will be used but the io.js code repo will serve as the base.

I’m glad to see that the io.js and Node.js communities have reunited as one.This puts aside many developers’ fears about building technical debt by not making the right choice between the two, and no one has to choose a side in the battle any longer. Congratulations to the respective members of both the Node.js and io.js communities for being able to come together for the greater good of the Javascript community.

Feature image via Flickr Creative Commons.


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.