Node.js is moving to an open governance model under the auspices of the newly announced Node.js Foundation.
Cloud infrastructure company Joyent, the corporate steward behind the open-source runtime technology, announced the establishment of an independent Node.js Foundation with Fidelity, IBM, Microsoft, PayPal and The Linux Foundation as founding members. Under the open governance model, the foundation will work to add members from within the Node.js ecosystem and hold open deliberations on new features and directions for Node.js as it moves toward its production-ready 1.0 release.
Joyent is working with the Node.js advisory board, established in October 2014, along with the Linux Foundation to plan out and create the Node.js Foundation. The Linux Foundation is providing input on organizational structure, governance models, fundraising, budgeting and legal aspects of the foundation.
(Related: What to expect from Node.js 1.0)
The advisory board recommended that Node.js move to an open, transparent and consensus-driven governance model. According to Scott Hammond, who took over as Joyent CEO in June 2014, it’s a model Node.js project lead T.J. Fontaine has already begun to implement.
“In the overall model for where the project should reside, we set about creating this foundation allowing us to drive a healthy ecosystem and a vibrant community without snuffing out innovation, and without parts of the community feeling excluded or disenfranchised,” Hammond said. “If we do the right thing for Node, it will continue to attract passionate and capable technical developers to foster a healthy ecosystem of third-party technology and service providers in an energized community to accelerate Node’s growth and adoption.”
Keeping up with V8
The Node.js platform runs atop Google Chrome’s V8 JavaScript engine with an event-driven, non-blocking I/O model. As Joyent and the Node community have concerned themselves more with methodically working out kinks and delivering smooth releases, the rapid release pace of V8 builds often leaves Node.js running a few versions behind.
V8 and Node.js are inextricably linked, and Hammond believed moving to an open governance model through the Node.js Foundation will help it and Google work together to keep the releases more in sync.
“We’ll definitely work with Google to deploy and continue to stay current with V8 and provide upstream contributions back,” he said. “It’s a very important piece of technology inside the platform, and we want to have a healthy, engaged relationship with Google.”
The deal with io.js
Node’s gap between its platform and the current Chrome V8 builds has opened the door for io.js, a fork of Node.js running the current V8 build. The fork has gained a huge open-source following, thanks to its open governance model, but despite its recent 1.0 release, it is still experimental and unstable.
Hammond avoided criticizing io.js and said he’s drawn inspiration from the way the project works. He stopped short of saying the io.js open governance model motivated Node’s own move. Instead he gave credit to the working group within the Node.js advisory board that devised and adopted the model.
“I like a lot of the innovative things the [io.js] group is doing,” Hammond said. “A lot of the guys there work on both projects and have been instrumental in getting Node to where it is. We need to find ways to accommodate early experimentation with early code and technologies inside the Node.js project, which has been so focused on quality and production-grade and stability and scalability that there’s room for us to improve how we experiment with newer technologies.”
Ultimately, the dueling forks may not last. Hammond said both Node.js and the core io.js contributors are interested in coexisting under one open-source project.
“There are opportunities to do that within Node.js,” Hammond said. “We already have two branches, so why not three? One might be doing experimental work, one iterating unstable releases and then the general release. It benefits us all to have one aligned, healthy community.”
Node.js 0.12 and beyond
The long-awaited Node.js 0.12 release is now available for download after months of bug fixes and improvements. Hammond pointed out some of the biggest features developers should look out for in the newly announced stable release.
“We’ve rolled in some round-robin clustering, better distribution for resource utilization, garbage collecting performance optimizations, additional memory management, multiple instances on a single process, and additional debugging capabilities around clustered apps,” he said.
Going forward under the open governance model, the core Node.js team and Node.js Foundation members will work with the community on issues such as ECMAScript 6 features and other issues leading up to version 1.0. Hammond, for his part, believes people should stop focusing on version numbers and look at the bigger picture of a technology with more than 2 million downloads per month.
“I think a lot of people are hung up on version numbers, but what most organizations are concerned with is whether Node.js is production-grade scalable quality,” Hammond said. “Can they go bet on this as a platform to build their next generation of applications? Organizations are running [Node.js] 0.08 in production, they’re running 0.10 in production and even evaluating 0.11. There’s no gaping hole functionally. We need to stay current with V8, but there’s no mythical version number holding back Node.js from being functional, stable and high quality.”