doc/contributing/advocacy-ambassador-program.md
Node.js aims to support and encourage developers and developer advocates to promote Node.js as a project and to help communicate key messages to their constituencies.
The ambassador program does that by:
Any member of the Node.js organization may nominate an ambassador. The Technical Steering Committee (TSC) will review/approve ambassadors.
In the initial phase of the program:
README.md.The TSC may remove an ambassador for any reason, including promoting content misaligned with the project.
Members of the Node.js organization can nominate ambassadors by opening
a discussion issue with the nomination in
nodejs/collaborators
titled Nomination X to be an Ambassador, where X is the name of the person
being nominated.
If there is no objection within 14 days, the nomination is approved.
To onboard an ambassador, a member of the TSC will:
README.md.Ambassadors are asked to share links to new content before asking for the content to be promoted. The goal is to provide the opportunity for collaborators to help improve content as opposed to a detailed nitpick review.
This is done by opening an issue in the nodejs/ambassadors repository, which limits access to members of the Node.js organization. The issue may include the link to existing published content or a draft of the content itself.
Interested members of the Node.js organization may comment in the issue and the ambassadors are expected to consider those suggestions and update the content when they feel it is appropriate.
Explicit approval is not required in the issue (i.e. if there is no input, that's OK), but review comments should be addressed before requesting promotion.
Ambassadors are expected to engage both within the project and externally in a manner that is consistent with the project's Code of Conduct as well as the additional expectations outlined in Member Expectations.
We trust ambassadors to only request promotion of content that lines up with the messages and topics outlined, that this content does not overly market their employer or product/business, and that they have followed the review process. An ambassador can request promotion of content in the following ways:
For accounts managed by foundation staff, the staff will repost the social media post without any need for validation based on the request coming from an ambassador. For accounts managed by the project with an approval process, (for example bluesky) documentation for the approval process will indicate that repost requests from ambassadors should generally be approved. These requests can be made through the existing social channel in the OpenJS Slack. For that reason and for communication purposes and collaboration opportunities, ambassadors should be members of the OpenJS Slack.
Messages or topics that ambassadors are asked to promote are added to this document in the Current messages for promotion section through the standard PR process except that they should be open for 7 days before landing and should include and at mention to the nodejs/TSC for awareness. They should be removed through the same process when no longer relevant.
The goal is to raise awareness of XYZ in the JavaScript ecosystem.
List of links with more information about the topic to provide background or the information to be shared.
Add a list of GitHub handles for those within the project that have volunteered to be contacted when necessary by ambassadors to get more info about the message to be promoted.
Highlight the benefits of choosing Node.js as your backend JavaScript runtime. Focus on what is great about Node.js without drawing comparisons to alternatives. We don't want to say negative things about other options, only highlight what is great about Node.js as a choice.
Some of the things to highlight include:
Help people understand that no people are paid to answer their issues or implement their pull requests. Things get done based on what volunteers work on and the best way to get something fixed/changed is to submit a Pull request.
Some of the things to highlight include:
You can find their contact email in the README.md
The goal is to raise awareness of the Node.js TypeScript Type stripping in the JavaScript ecosystem. Some of the things to highlight include:
tsconfig.json configuration options to use in combination for type checking.Advancements over time in Node.js are improving the out of the box experience. New versions are released all the time across Active LTS and Current development lines. It's easy to miss something between the release notes and our busy work schedules.
Each of these on its own is respectable, but together they make a more cohesive narrative. This also shows a healthy ecosystem at work, with projects learning from one another and their users.
"Recent" new or newish features, ordered by availability:
| Feature | Introduced | Release Status |
|---|---|---|
| testing source code | 16.17.0 | Stable as of 20.0.0 |
| watching source code | 16.19.0 | Stable as of 20.13.0 |
| parsing arguments | 18.3.0 | Stable as of 20.0.0 |
| reading environment | 20.6.0 | Active Development |
| styling output | 20.12.0 | Stable, as of 22.13.0 |
| run scripts | 22.0.0 | Stable, as of 22.0.0 |
| run TypeScript | 22.6.0 | Stable, as of REPLACEME |