Goodbye Joyent, Hello Node.js Foundation
To help you get the most complete overview on the success of io.js, in this article I will discuss what sparked the creation of the new platform, the key individuals behind it, and the governance model which I believe made this project so unbelievably successful.
What Sparked io.js
Oddly enough, many of the core developers at Joyent were behind the creation of io.js as a result of a bit of discord between the development team building the platform, and the administration in charge of implementing new builds. To help solve this problem, the developers at Joyent worked to craft a new model as background to develop the platform. However, their conversations with the administration went nowhere. Often, developers working on the Node.js platform would have to watch the code to which they dedicated a great deal of time sit on a shelf which was disheartening. As time continued, tension continued to grow. Things changed when Fedor Idutny, a core developer at Node, took the liberty to fork Node.js, thus marking the creation of io.js. Idutny knew that he had the support of colleagues, and was confident that the project would be successful in providing a platform which supplied the latest support for ES6 on the server-side.
The Immediate Impact of io.js
If you visit iojs.org, you will notice the quote “Bringing ES6 to the Node.js Community,” and that is precisely what the new platform did. Additionally, providing ES6 functionality is not the only area in which io.js has excelled. Since the release of io.js, Raygun.io has conducted two series of tests comparing the platforms; the most recent experiment io.js v2.0.0 was compared to version 0.12.2, and 0.10.38 of Node. During both tests io.js proved to be the faster framework, and the platform even showed an increase in performance from an earlier series of tests which had compared io.js v1.2.0. Although this is just one series of tests, io.js outperformed Node.js when using the http, express, and Koa modules. As stated in Raygun.io’s article:
the charts do provide some interesting food for thought, and may provide a springboard for you to perform your own real-world tests, and potentially gain a significant speedup.
In my opinion, they are indeed interesting pieces of information regarding the raw power of the platform.
Open Source Prevails with the Open Governance Model
It would be hard to imagine this success without the support io.js received from open-source community. In order to generate such a response, there had to be an extremely solid model in place that could govern an open-source project of this magnitude. Luckily, many of the core individuals at io.js had first-hand experience with the problems that arose at Joyent, and this experience has had an extremely positive influence on the creation of the open-governance model under which io.js would ultimately succeed.
At the top of this governance models sits the technical committee (TC) – a group of six to twelve people in charge of ensuring the proper technical direction for the platform, modifying project guidelines, and more. The TC was put in place to ensure the io.js team stayed on course. There are strict guidelines for TC membership. For instance, no more than one-third of the TC may work for the same employer to help ensure a balance of power between members. Below the TC sits a team of collaborators appointed by the committee after they make significant contributions to the project. These collaborators are in charge of reviewing pull-requests made by contributors and implementing changes in the project.
As the project progressed, the io.js TC met each week to discuss the current state of the art. The constant communication between the TC, collaborators, and contributors ensured that this project consistently moved forward. Moreover, general public is not only kept informed of new things features, but deeply involved in the discussion. In this way, the group quickly achieved a great deal of success as a result. They implemented things such as a weekly newsletter on io.js’ medium page. which recaps any change in the platform, and keeps people informed of the latest updates. We can say that comparing io.js’ constant influx of information and growth to that of Node’s throughout the past year is like comparing night and day.
As io.js continued to grow larger, a significant amount of time and resources were poured into a project that lacked any commercial resources. In the article titled Growing Up – io.js needs a foundation, Mikael Rodgers discusses why the time for the merge must be now, before the projects grows too large. I highly suggest you to take a quick look at it. The author explains that although the open-source community has been doing a great job controlling io.js, a project of such substance needs more than just an open-source community to thrive.
In conclusion we have to admit that even if Joyent was not the best administration when handling Node, they provided the necessary assets for financing, marketing, legal matters, and all other resources necessary for a project of this size. That being said, io.js, which will now be referred to as Node.js, had an unbelievably successful run.