Node.js is booming.
Actually, “booming” doesn’t do it justice. Just taking a look at the 2017 data in the annual Node by Numbers report (which includes analysis of Node.js adoption), growth and success metrics indicate continued growth. As in previous years, 2017’s numbers tell a story of evolution and success.
Node.js is the fastest-growing open source project in the world, and powers an incredible range of everyday software—from web and desktop applications to robotics and IoT.
One of the highlights of this annual report is finding new and interesting data points in each year’s analysis. It’s testament to how vibrant the Node.js community is, and why so many people continue to invest their time in its growth and success.
So, on to the numbers…
Comparing Versions: Node.js 4, 6, and 8 LTS
In 2017, Node.js had three supported LTS (Long-Term Support) release lines: Node.js 4.x (“Argon”), Node.js 6.x (“Boron”), and Node.js 8.x (“Carbon”). The newest of these, the Carbon release line, became LTS in October. This made 2017 the first year in which the dynamics of adoption and movement from one Node.js LTS release to another could be observed, giving the project, maintainers and community members better insight into which versions are most supported and most relied upon.
Let’s take a look at the downloads, by version, for each of the three supported LTS release lines:
In this, you can see the the three release lines represented by solid green (Node.js 4 “Argon”), solid blue (Node.js 6 “Boron”), and solid purple (Node.js 8 “Carbon”).
Throughout the year, Node.js 6 reigned supreme — peaking at 388,417 downloads on October 25. Unlike the previous year’s release of Node.js 6, the downloads of the newest LTS release line, Node.js 8, didn’t immediately surpass the downloads of the previous LTS release line (though they have now). As Node.js usage continues to grow (in particular within larger organizations with longer upgrade cycles), adoption of new LTS versions could very well take longer. This extra caution is understandable when Node.js is used in production in mission-critical applications.
More Contributors, Fewer Releases
In 2017, there were 741 new contributors to Node.js, a full 63 percent increase over 2016. Engaging with community members and encouraging them to contribute is critical to maintaining the health of the overall project in the long term. The impressive spike in contributors in October can be attributed, at least in part, to Code and Learn at the Node.js Collaborator Summit at Node Interactive 2017.
With more contributors and more commits flowing in, the average number of releases per month decreased throughout 2017. This is one of the most important but least-understood metrics around Node.js. An overall reduction in the number of releases is evidence that the project has matured. Stricter requirements around LTS releases and more forward planning mean that commits must meet a more rigorous standard in order to be considered stable enough for addition into an LTS branch. Ad-hoc LTS releases are now reserved for security updates exclusively, a policy which balances good security practices with improved stability.
Anomalies of Node’s Numbers in 2017
The survey showed a few interesting anomalies in the numbers that are worth highlighting:
- In 2017, downloads of Node.js in Russia jumped to over three million more than reported in 2016. This jump pushed Russia to the second-highest user of Node.js in the Developing Economy section, leapfrogging Brazil and India.
- Node.js 9 saw a massive spike in downloads in December (when downloads typically drop precipitously) compared to its initial numbers. The data seems to suggest that the increased Node 9 downloads may have been directly cannibalizing Node 8 numbers, at least for a short period.
- Breaking the million downloads/day mark for the first time ever, nodejs.org experienced more than one million downloads of Node.js in a single day in 2017. The one million barrier was breached again seven times in November and four more times in December, the last of which set the record for all of 2017 at 1,121,568 downloads in a single day.
Node.js in 2018
Like all my fellow Node.js project contributors, I’m looking forward to another incredible year of growth and improvement in 2018.