TL;DR The Node.js project recently created a Triage Role to help with the backlog of issues. This is a great way to start contributing to the project. This article shares some of the background about the role and describes the best way to get involved.
Hurdles to getting started in open source
Most software innovations happen in the open source space — and the share of open source technologies is expected to increase over time. While the increased use of open source alone might be a good reason to start contributing, other benefits of open source contribution include:
- Improving your technical skills
- Expanding your network
- Taking part in large-scale collaboration
- Building a strong open source portfolio over time
Making your first contribution to an open source project can feel daunting. If you’re new to open source — and to the Node.js project, specifically — you might be wondering how to get started. Often, the initial ramp-up phase can be slow, apprehensive, and confusing.
What if I don’t know how to interpret some part of Node.js concepts? What if I am unable to comprehend the design of the large and complex Node.js platform? What if I make mistakes? These are all common questions for first-time contributors, but the good news is that we’ve created a new role to give you an easy on-ramp to contributing to the Node.js project.
In this blog post, I introduce the newly created Node.js Triage Role that was created to help with the backlog of issues. I share my experience in a similar role with the Express.js project, introduce the role, and discuss the best way for you to get involved.
Increasing committers at Express, fixing issues along the way
The idea for a new Triage Role in Node.js started because of my experience with the Express community. Express.js is one of the most popular web server frameworks. The main driving force was that the project had a large number (90+) of critical project repositories while having only a handful of members to maintain those — and none of those members were paid to do the work.
I was asked, with a few other Node.js contributors, to help tackle this problem. We didn’t have a comprehensive understanding about web server internals, so we started small. As a first step, we worked with the lead maintainers to define the “top 10” problem statements for the project. We developed a statusboard for this purpose, with clearly marked challenges (gaps) and oportunities (needs).
Next, we defined a triage process that was custom-made to address the top 10 issues of the project. By looking at the project backlog, I first worked on the multer module, then the session module, and started triaging the main Express module as well as the web site module.
Soon, I started helping with the Express 5.0 release, by developing missing features or missing documentation. These contributions were, of course, all made possible through the collaboration and cooperation of the project maintainers!
Now we have a well-defined process for triaging Express issues. Plus, many of us who worked to triage issues have become active members in the project, so contributions are being committed on a daily basis.
Extending our Express lessons to Node.js
I believe that we can extend what we learned working on the Express project to the Node.js project. Node.js has a large issue backlog. There are 800+ issues in the core repo and 500+ issues in the help repo.
Triaging these issues in a timely manner can improve the end-users’ satisfaction and, thereby, the overall health of the project. A new contributor with an average skill in Node.js technology and the project area can contribute to this triage exercise by performing one or more of:
- labelling new issues
- collecting the relevant information in the problem report
- performing a minimal problem determination
- notifying the pertinent sub-teams
- following-up on stale issues
- closing inactive issues
The best way to get involved in open source is to offer value to the community. Taking on this triage role would give you constant interaction and activity in the community and raise your profile as a solid contributor, possibly leading to a collaborator role. With triaging, you can not only advance your eminence in the community, but also provide immense value to the Node.js users and ecosystem!
Check out the criteria outlines in the Node.js documentation and apply to become a triager. We’d love your help improving Node.js for users and contributors, alike.