#NodeMinds: Care and Feeding of the Node.js Ecosystem

Open source governance is hard.

This theme kept rearing its head throughout Thursday’s #NodeMinds huddle, which capped off an inspiring Node Interactive conference in Vancouver.

When it comes to the care and feeding of the Node.js ecosystem, there are simply no easy answers. No quick fixes. No superpower that can vanquish the complexities that have evolved from the ever-growing army of passionate Node.js developers.

#NodeMinds huddle in Vancouver.

One thing is certain: achieving the level of cooperation required to build Node.js to this point has been an amazing—almost unfathomable—feat. Building something so useful and so successful as Node.js has been the community’s greatest accomplishment. It hasn’t been easy, and neither will the road ahead.

As the Node.js community evolves, it will be critical for certain challenges to be addressed and opportunities to be seized. That’s where we see #NodeMinds helping. In short, we convene with a purpose.

It’s our aim to bring together (and continue to expand) a group of engaged and respected technical minds from across the Node.js community. From our huddle discussions, we hope to turn some of the insights (called out below in bold) and questions into action.

Thursday’s huddle touched on a few main topics, including:

· Front-end (JavaScript) interoperability

· End user engagement, feedback, involvement, onboarding and growth

· Making Node.js governance more effective

· Improving and empowering working groups

· Establishing opportunities for mentorship

· Inclusion across communities

These are just a few of the brilliant insights from our participants. We encourage you to let us know if you agree or disagree — and if you have ideas to push some of these forward. And if you’d like to learn more about what #NodeMinds is, please feel free to reach out to me or Amy Hermes on Twitter.

With that, here’s what we heard at our huddle, which we titled, “Care and Feeding of the Node.js Ecosystem.”

Node.js is no longer an isolated runtime. It’s become clear that it’s increasingly being used in containers and inside orchestrated systems. Its influence is extending beyond its original scope.

There’s a gap between the Node.js ecosystem and the front-end JavaScript community. It’s a problem because it doesn’t just affect developers — it impacts the end user in the form of performance issues. For developers, it leads to over-engineering and duplicative effort. Uniting these communities is critical for the health of the web.

How can we create a cohesive experience that unites those communities?

Without front-end interoperability, there’s going to be a massive waste of energy, effort and time that people have invested in the Node.js ecosystem. It will significantly impact the vitality of the community unless a really good solution for front-end interoperability can be reached.

How can the Node ecosystem become more collaborative in the infrastructure space?

Changes are needed, but change in this space can be complicated and cumbersome within the current Node.js ecosystem constructs.

How can we socialize a vision for change? How can we implement that change?

The Node.js project has faced criticism in the past from end users who believe their requirements aren’t heard. The Node.js User Feedback Initiative, which developed in the Community Committee (CommComm), is one tactic the project is using to shift this perception. The goal is to involve the entire project in understanding the wide variety of users within all of communities and trying to imagine and put heels to the ground in gathering feedback on a regular interval.

What are the smaller, incremental ways (outside of the annual survey) that the project can solicit high-value user feedback?

What else should the User Feedback Initiative leaders consider to help their efforts?

Could we come up with a program where we ask for volunteers to lead initiatives around the world?

A critical piece of soliciting user feedback is understanding the individual communities, identifying the right subject areas to concentrate on, which questions to ask them and how best to engage each individual community. Then, it’s not enough to simply solicit and receive user feedback. Acting on that feedback and tracking that action is also critical.

What’s the most effective way to communicate the community’s priorities?

Studying the Node.js community from a third-party perspective (i.e. via doctoral research) could be a worthwhile venture. The point was made that it’s fascinating that people with such diverse backgrounds and unpersonal connections become personally involved to create something as useful and as wildly successful as Node.js.

What’s the best avenue for such a partnership?

Since the Node.js Foundation launched, there hasn’t been an emphasis on making evidence-based decisions to drive priorities for core contributors.

How can the community take the user feedback and turn it into evidence to help contributors make more informed decisions?

Tension often exists between what end users need, a company that stands up and says it will pay to develop a solution for that need, and a group of contributors or users that has a negative reaction to the change.

Are there resources that we can tap into that would help create more “connective tissue” in these areas?

How can the community ensure that company-backed products are good for core and good for community?

Working groups exist in the Node.js community, but there’s room for improvement. Identifying if and where the dysfunction exists is critical to the overall health of the Node.js community.

What roadblocks can be alleviated so these working groups can be empowered to do the things they were chartered to do?

What can be done to increase engagement and incentivize TSC members?

Could restructuring the TSC help to reestablish trust among working groups?

Mentoring is critical and often overlooked piece of making Node.js successful. Democratizing standards requires that new people be encouraged to become ingrained in the project so that it doesn’t coalesce only around the ideas of an established group of individuals. An opportunity may exist for the Node.js community to establish a mentoring program that eases onboarding and builds trust.

How do you balance the ask of being a mentor with the already heavy ask of being a volunteer contributor?

One way the #NodeMinds can affect change through the broader Node.js ecosystem is to continue these conversations, and to take the problems we identify and the pain points we’re experiencing and communicate those to the right workgroups and contributors.

Join 2,000+ developers in San Francisco Feb. 20–22 for Index conference 2018.