The NodeSource Blog

A First Introduction to the Node.js Community Committee

Recently, there’s was a new community-centric development in the Node.js Foundation called the Community Committee, which is a committee that sits next to the Technical Steering Committee (TSC) in the Node.js Foundation. Where the TSC is the governing body for the technical decisions for the project, the Community Committee’s role is more geared toward non-technical contributions, both inside and outside the project, that help grow and empower the surrounding Node.js community.

Having been aware of it during its early stages of development, I was cautiously optimistic about it - the stated purpose was to take on some of the more community-centric tasks that fall outside the technical scope of the core project.

This stated goal is strikingly similar to what I’d personally seen the Node.js Evangelism Working Group’s aim to be. With that in mind, I’ve got to say that I am extremely excited for the growth and interest in the Community Committee thus far.

What is The Node.js Community Committee So Far?

The Community Committee is still in very early stages of development compared to how the TSC, Core Technical Committee (CTC), and other Working Groups (WGs) under the Node.js Project. This is because it’s beginning to chart the previously unexplored territory of sitting on the same level as the TSC. Previously, other community groups like the WGs and teams have been under the TSC, and flowed back up into it.

As such, there is a lot of foundational building going on right now. Solid processes, documentation, and communication channels are being built out at a rapid pace to enable the community to start taking advantage of the Community Committee. Building out a successful, thriving, and self-sustaining group of members who are working toward growing the Node.js community by enabling developers to go enable developers to discover, learn, and love Node.js the way that many of us already do.

The initial steps to growing the Community Committee have been established. A suite of work has been done:

  • A Community Committee Chairperson has been elected (see the discussion in the issue)

  • Discussion about groups becoming a part of the Community Committee has already begun

  • A definition around the process of becoming a member of the Community Committee is being teased out, with open discussion out the topic

  • Efforts to begin getting the Community Committee more heavily involved with the Node.js Collection have begun

  • Several discussions around a Code of Conduct, Moderation, and other community efforts have begun

  • Meetings for the Community Committee have been taking place every other week - you can find the latest one (as of time of publishing) here

What’s Coming for The Node.js Community Committee?

As with anything that’s still getting it’s legs, this is still up for discussion. The core ideas - that the Community Committee is a group geared toward enabling and growing the surrounding community - are in place. That said, there’s room for definition and action. The community committee will have teams and Working Groups - distinct groups that have a specific purpose - similar to the structure that the TSC has implemented.

Like the TSC, the Community Committee is a Committee that is meant to be the group that enables other groups - where the concept of teams comes in - to arise and works toward the Community Committee’s overarching goal.

These teams have yet to be created, defined, and enabled - at an early stage, the growth and scope of this is being worked on by the people that participate in the Community Committee. There are several Working Groups, Teams, projects, and repos that are likely good candidates to be moved into the Community Committee as teams - the Education project is one of these (and has already been proposed). The Evangelism WG is another good candidate that has some existing discussions with a few members of the Community Committee and the Evangelism WG. Others possibilities include the Code and Learn project, the Help repository, and a few others (some discussion around this has been had in an issue in the Community Committee repo).

How Can I Get Involved with the Node.js Community Committee?

If the Community Committee sounds like an interesting thing to you, there are several ways to become involved with it starting today.

The lowest barrier to entry would be to simply share any ideas you have for building the Node.js community in the repo. Look through the existing issues and see if there are any topics that are interesting to you - if so, go ahead and read the interesting issue and jump in on the discussion with your thoughts and ideas.

If you’ve got a question or idea for the Community Committee that’s not covered already in one of the issues and would like to discuss it, open up a new issue and start a discussion!

If you’re a member of an existing Node.js WG, Team, Project, or repo and think it would be a good fit under the Community Committee, feel free to open an issue to discuss a possible transition and what that would entail. Note that there’s (at time of writing) an issue discussing creating the documentation surrounding this process - help, comments, and thoughts are more than welcome to help thoroughly tease this process out.

If you have an idea for a fresh team under the Community Committee that’s not existed before (how about a Meetups team? What about a resources team? Or maybe a blogging team?), don’t hesitate to create an issue to voice your suggestion and be a part of the group to get the team up and running!

One Last Thing:

If you’d like to stay in the loop about the Node.js Community, we make an active effort to share the latest and greatest with everyone we can on Twitter at @NodeSource and here, on our blog.

I personally do a lot of How To tutorials for Node.js to try and help those new to the Node.js ecosystem get up and running with as little barrier as possible - I’d be interested to know if you have anything you’d like to learn about specifically, be it more about the Community Committee, how to use certain features of Node.js or npm (I’ve already written a guide on using npm and a few similar articles), feel free to reach out and I’d be happy to see if I can help!