Skip to content

The state of nomination process and the meaning of being a core collaborator. #1702

Open
@ovflowd

Description

@ovflowd

Distinguishing Contributions & Refining Node.js Core Contributor Titles

Hi folks 👋,

I’m opening this issue to address ongoing discussions around core contributor nominations and the potential for improving clarity within our group. I’ve recently observed—and participated in—some recurring friction during the nomination process, and I want to collaboratively discuss how we might refine things for the benefit of the entire project. I believe the root of the matter is a varying understanding of what being a "Core Collaborator" means, leading to disagreements on nominations, and even some unintentional miscommunication.

As was expressed during the recent nomination discussion, “We also have a problem with how this came to a head, and that’s where shit really hit the fan”. I want to ensure future nominations are productive and respectful, and I believe that a little refinement to how we define contributor groups can go a long way.

Currently, the term “Core Collaborator” seems to be used somewhat interchangeably. Sometimes it refers to fundamental individuals working within the Node.js organization, while at others it's used to indicate having write access to nodejs/node. I think this ambiguity creates confusion. As one of us noted, “…the one just clarified in the previous nomination (I requested clarification to ensure I was aligned with the group), and that’s what I based everything in this nomination upon, and that clarification is specifically what started the discourse here.” This shows we're all eager to align on clear definitions!

I propose we formally separate "Core Collaborator” into two distinct categories – acknowledging that different contributions deserve different forms of recognition and responsibility. This isn't to diminish anyone's contributions; it's to ensure each role is appropriately defined. I feel this directly addresses the concern that “…which is it?”.

Here's how I envision it:

  1. Long-Term Node.js Stewards (Proposed Title: “Node.js Collaborators”) - This group would consist of trustworthy contributors dedicated to the long-term health and direction of the Node.js project. These are individuals who’ve demonstrably contributed in significant ways—through issue resolution, documentation, RFC creation/review, WG participation, triaging, etc.—making them invaluable to the organization. These individuals have a commitment to the broader Node.js mission, demonstrating “…consistent interest in moving the goals of the project forward”. We have a need for recognizing this tireless, and sometimes unseen work, as these individuals are “…closest to being the maintainers of the Node.js project.”
  2. Node.js Core Committer (Proposed Title: “Node.js Committers”) – This would encompass individuals actively working on the nodejs/node repository – reviewing and merging pull requests, directly implementing features, and addressing critical bugs. This group is responsible for day-to-day maintenance and development on the core runtime.

The "Node.js Stewards" group would empower members to nominate individuals to become "Node.js Committers" (or whatever title we settle on), and also empower others within that group to also nominate. It’s a shift to recognizing that dedicated organizational support and active code maintenance have distinct focuses.

I believe this distinction would be a win-win. Both groups can be highly inclusive, offering recognition commensurate with contribution. Long-term commitment and broader project involvement are equally valuable as direct runtime contributions. These distinctions, I believe, are “essential for reducing the friction we currently face and creating a more harmonious environment”.

My goal is for everyone to feel empowered to confidently voice concerns, nominate or block others, and engage in discussions, knowing we've collectively agreed on clear definitions. Ultimately, I believe this adjustment, which some have already suggested, is what's best for the long-term health of the project, ensuring we can recognize and celebrate contributions effectively and transparently.

Let’s discuss this openly and see if we can reach a broad consensus. What thoughts do you all have?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions