Share:

Today, Joyent and several members of the Node.js community announced a proposal for a Node.js Advisory Board as a next step towards a fully open governance model for the Node.js open source project.

The Node.js Advisory Board will provide input to the Node.js project leadership on a broad range of topics, including the project roadmap, policies and procedures around contribution, membership and governance of the core team, and the long-term governance structure of the Node.js project. Membership on the Node.js Advisory Board will be open to individuals, corporations and users alike, and will be determined transparently by code contribution and other objective factors based on merit. No sponsorship or fee will be required to join the Node.js Advisory Board. Node.js Advisory Board membership criteria and selection, and all output from its meetings, will be made available publicly.

The full text of our proposal is available at nodejs.org/about/advisory-board. We will be taking feedback and comments on the proposal, as well as nominations for membership, over the next few weeks. However, I’d like to explain a little bit about what we are hoping to accomplish with the Node.js Advisory Board.

Why We are Forming the Board

In the four years since Joyent has been the steward of the Node.js project, Node.js has experienced phenomenal growth. Node.js is the language of choice for high performance, low latency applications and has been powering everything from robots to API engines to cloud stacks to mobile web sites. Node.js is used by tens of thousands of organizations in over 200 countries and we see over 2 million downloads a month from the Nodejs.org web site.

Along with the growth of the project, the community has become more complex. Over the last two years, more and more large enterprises have made a big bet on Node.js as part of their enterprise fabric. We have also seen a significant number of vendors enter the ecosystem and deliver products and services that are based on Node.js or include Node.js in their offering.

As the community becomes more complex, it is important that we find ways to balance the needs of all constituents and provide a platform for these organizations to come together and to provide input into the project.

What Will The Node.js Advisory Board Do?

The primary purpose of the Node.js Advisory Board is to advise Joyent and the Node.js project leadership on matters related to supporting the long-term governance, structure, and roadmap of the Node.js project.

The following main areas are included in its charter:

Provide a forum for individuals, users, and companies to raise and discuss the issues and formulate recommendations for those issues.

Provide guidance and input to the project’s leadership, and where possible, present a consistent and consolidated opinion from the broader Node.js community and stakeholders.

Some Guiding Principles For the Design of the Node.js Advisory Board

In designing the Node.js Advisory Board, we looked at several models. We want to learn from others and make adjustments to fit the Node.js project. Here are some of the considerations:

1) Balanced Membership

The Node.js Advisory Board has seats reserved for the various constituencies who are making long-term investments in Node.js, this including:

Individuals who are investing time and effort to contribute to the project.

Users who are deploying Node.js.

Companies that are incorporating Node.js into their products and services.

Outside expertise from other open source projects.

2) Do things in the open

The proposal and documentation behind the Node.js Advisory Board, the selection criteria and process, and the output of meetings will be public and available for comment.

3) Contribution-based model

There is no fee to join the board. Membership on the Node.js Advisory Board is open to companies and individuals who contribute to the overall success and health of the Node.js project. The top contributors (and maintainers) are automatically given a seat on the board. Companies can only get on the board if they are both current top contributors and agree to implement Node.js-based solutions in a manner consistent with the project as a whole.

4) Create a trusted playing field

As more vendors are building products and services based on Node.js, it is important that customers can trust their applications will behave in a predictable manner. These vendors also want guidelines, standard API’s, and roadmap visibility so they can plan their product roadmaps and release schedules. We want the Node.js Advisory Board and the community as a whole to help define the specifics of these criteria. General items that we think are important to discuss include: use of standard APIs, repositories, quality guidelines, upstream contribution models, and alternative distributions.

5) Ensure an energized community of contributors and maintainers

The Node.js project was started by Ryan Dahl in 2009 and run with a BDFL model. The BDFL model was continued by Isaac Schlueter in 2012 and handed to TJ Fontaine this year. We believe the BDFL model was effective in the early days but should be modified going forward to ensure the entire core team agrees on the direction of the project. By letting the direction be driven by the community, we will future-proof the project and eliminate the perception that the project direction is dictated by or for a single person or entity. We would like the Node.js Advisory Board to provide input on this to ensure there is a clear model for contribution, a meritocracy-based path for joining the core contributor team, and a well-defined model for making decisions within the core contributor team and for maintaining a high level of quality on the project.

Bootstrapping the Node.js Advisory Board

We held numerous conversations about the Advisory Board with members of the Node.js community, including DigitalOcean, Emerging Technology Advisors, F5 Networks, IBM, The Linux Foundation, Microsoft Open Technologies, Inc., nearForm, Netflix, Nodejitsu, NodeSource, npm, Oracle, PayPal, SAP, StrongLoop, Inc., Walmart, Yahoo, YLD, and others. There was strong consensus to build an advisory board and we want to act quickly. To do this, we worked with these organizations to pick an initial set of individuals and companies to populate the advisory board while we finalize the criteria for the elected seats and take the necessary steps for the community to elect members. The list of the temporary advisory board members can be found here. It will take time to work through the community-driven process and we hope to have community-elected members join the Node.js Advisory Board over the next few months.

In Conclusion

We’d really like to thank the members of the community who have made Node.js a huge success and provided guidance and support throughout this process. We would also like to thank Docker and OSS Watch for providing a great framework for the structure and governance principles of an open source advisory board. As a reminder, we are looking for comments on the proposal itself, as well as nominations for membership. Please send us your comments and feedback to governance@joyent.com. For more detail, please go to nodejs.org/about/advisory-board.