From 4dcc61fb792ee6e0d88887c02482def55c7fc317 Mon Sep 17 00:00:00 2001 From: Claudio W Date: Mon, 2 Oct 2023 10:57:22 +0200 Subject: [PATCH] meta: web team and responsibilities (#5779) * meta: web team and responsibilities * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Claudio W * Update GOVERNANCE.md Signed-off-by: Claudio W * Update CODEOWNERS Signed-off-by: Claudio W * Update CODEOWNERS Signed-off-by: Claudio W * Update CODEOWNERS Signed-off-by: Claudio W * Update GOVERNANCE.md Signed-off-by: Brian Muenzenmeyer * Update CODEOWNERS Signed-off-by: Claudio W * Update GOVERNANCE.md Co-authored-by: Matt Cowley Signed-off-by: Brian Muenzenmeyer * chore(GOVERNANCE): added more ux team examples * Update GOVERNANCE.md Co-authored-by: Michael Esteban Signed-off-by: Brian Muenzenmeyer * Apply suggestions from code review Co-authored-by: Matt Cowley Signed-off-by: Claudio W --------- Signed-off-by: Brian Muenzenmeyer Signed-off-by: Claudio W Co-authored-by: Brian Muenzenmeyer Co-authored-by: Matt Cowley Co-authored-by: Michael Esteban --- CODEOWNERS | 20 +++++++++++++++--- COLLABORATOR_GUIDE.md | 2 +- CONTENT_VS_CODE.md | 2 +- CONTRIBUTING.md | 2 +- GOVERNANCE.md | 47 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 GOVERNANCE.md diff --git a/CODEOWNERS b/CODEOWNERS index 6ef71ee32479d..2e3033bf5be39 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,8 +1,22 @@ -# Default rules +# Website Development +* @nodejs/nodejs-website -* @nodejs/website +# Infrastructure +.github @nodejs/web-infra +.husky @nodejs/web-infra -# Node.js Release Blog Posts +# Framework +next.config.mjs @nodejs/web-infra +next.dynamic.mjs @nodejs/web-infra +# Node.js Release Blog Posts /pages/en/blog/release @nodejs/releasers /pages/en/blog/announcements @nodejs/releasers + +# Node.js Core Guides +/pages/en/guides @nodejs/collaborators + +# Governance +GOVERNANCE.md @nodejs/web +CONTRIBUTING.md @nodejs/web +COLLABORATOR_GUIDE.md @nodejs/web diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index c0e3cfbad8737..154e613a30fd4 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -56,7 +56,7 @@ We recommend collaborators follow the guidelines on the [Contributing Guide](./C ### Involving the Website Team -Collaborators may opt to elevate pull requests or issues to the group for discussion by mentioning `@nodejs/website`. This should be done where a pull request: +Collaborators may opt to elevate pull requests or issues to the group for discussion by mentioning `@nodejs/nodejs-website`. This should be done where a pull request: - has a significant impact on the codebase, - is inherently controversial; or diff --git a/CONTENT_VS_CODE.md b/CONTENT_VS_CODE.md index 3eabb6899beb9..6f95a602ee582 100644 --- a/CONTENT_VS_CODE.md +++ b/CONTENT_VS_CODE.md @@ -1,6 +1,6 @@ ## Content vs. Code -The **Website Team** (@nodejs/website) is primarily concerned with the code and overall structure of the website. +The **Website Team** (@nodejs/nodejs-website) is primarily concerned with the code and overall structure of the website. The content of the website comes from Node.js core collaborators, in particular, from a variety of teams and [working groups](https://github.com/nodejs/TSC/blob/main/WORKING_GROUPS.md#current-working-groups). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2021c8ec31746..9713c25ec792e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -203,7 +203,7 @@ The list below describes some merging and approval rules adopted in this reposit - This rule cannot be used for updates on the `COLLABORATOR_GUIDE.md`, `CONTRIBUTING.md` guide, `CODEOWNERS`, GitHub Actions, or any security-impacting file or document that changes the governing policies of this repository. - Pull requests might be "fast-tracked", meaning they can be merged before the usual 48 hours' notice if a "fast-track" label is added. - The person that is fast-tracking the PR (adding the label) must also comment on the PR that they're requesting the PR to be fast-tracked - - The comment must mention `@nodejs/website` and must have at least one 👍 (or any other sort of approval reaction) if the person fast-tracking the PR is the author of the PR. + - The comment must mention `@nodejs/nodejs-website` and must have at least one 👍 (or any other sort of approval reaction) if the person fast-tracking the PR is the author of the PR. - Fast-tracking is only allowed for small bug fixes, small feature changes, localization changes, or other non-critical/highly-impacting changes not covered by the previous rule that allows PRs to be merged immediately. - Fast-tracking cannot be used for updates on the `COLLABORATOR_GUIDE.md`, `CONTRIBUTING.md` guide, `CODEOWNERS`, GitHub Actions, or any security-impacting file or document that changes the governing policies of this repository. - There must be no objections after forty-eight (48) hours (Or seventy-two (72) hours if the PR was authored on the weekend). diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000000000..837b3716cae9b --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,47 @@ +# Node.js Web Team Governance + +The Node.js Web Team (@nodejs/web) is a team in the Node.js Project that is composed by a set of subteams. Each containing specific responsibilities and goals. + +### Node.js Website Team (`@nodejs/nodejs-website`) + +The Node.js Website Team is responsible for the day-to-day technical development of the Node.js Website. This is primarily the development of the website itself, adding new features, pages and components, but also fixing any security issues in the website code, handling operational maintenance, and so on. + +The maintainers on the Node.js Website Team are responsible for steering the technical direction of the Node.js Website, and reserve the right to make final decisions on any issues or pull requests, in line with the Contribution Guidelines, Collaborator Guidelines, the Code of Conduct and the overall Governance premises of the Node.js project. + +Members of this team are nominated through the guidelines provided in the Collaborator Guidelines within this repository. + +### Node.js Web Infra Team (`@nodejs/web-infra`) + +The Node.js Web Infra Team is responsible for maintaining the Infrastructure relating to Node.js's Web Presence. The Node.js Web Infra team has the responsibilities of: + +- Maintaining CI/CD pipelines related to Web Infrastructure +- Maintaining our Infrastructure Providers\* +- Have technical ownership on best-standards and best-practices for our Web Infrastructure (such as Web Frameworks that we use) + +Web Infra Team members should have access to be able to maintain the services mentioned above. + +Members of this team are nominated either by the Node.js Technical Steering Committee (TSC) or the Node.js Build WG and follow the guidelines provided in the Collaborator Guidelines of the Node.js Build WG. Note that members of the Node.js Web Team might also recommend people for nomination. + +\* This team has access to infrastructure providers directly related to the Website only, such as Vercel. Other providers that are shared beyond the Website may be controlled by other teams (for example, the Node.js Build WG owns Cloudflare). + +### Node.js Web Standards Team (`@nodejs/web-standards`) + +The Node.js Web Standards Team is composed of Node.js Collaborators and External Collaborators that have extensive experience or expertisè on Web Standards, such as Ecma262. The Standards Team is responsible for guiding and serving as points of contact when either Node.js Collaborators, the Node.js Technical Steering Committee (TSC), or the Web Team, requires assistance or guidance regarding Web Standards. + +Members of this team are nominated by the Node.js Technical Steering Committee (TSC). Note that members of the Node.js Web Team might also recommend people for nomination. + +### Node.js UX & Design Team (`@nodejs/ux-and-design`) + +The Node.js UX & Design Team is composed of Node.js Collaborators and External Collaborators that have experience or expertisè with UX & Design. The UX & Design Team is responsible for guiding and serving as points of contact when members of the Node.js Web Team require assistance or guidance regarding UX & Design. + +Often members of this team will collaborate on providing best practices and guidelines for the Node.js Website, on matters of UX & Design. Members of this team are also responsible for providing feedback on the Node.js Website, and providing feedback on the Node.js Website's design. (For example, when a discussion arises regarding best practices on topics such as CSS, accessibility, UX flows and intent, or component design, the UX & Design Team has a say on the matter). + +Members of this team are nominated by the Node.js Technical Steering Committee (TSC). Note that members of the Node.js Web Team might also recommend people for nomination. + +## The Interoperability of the Node.js Web Team + +As seen above, the different teams under the Node.js Web Team umbrella are responsible for having the oversight on different aspects of Node.js's Web-related projects. However, it is important to note that the Node.js Web Team is not a set of siloed teams, but rather a set of teams that work together to achieve the same goal: Providing the best Web Experience for Node.js. + +Following this line of thought, the Web Infra Team is responsible for the technical aspects of the Node.js Website (Infrastructure, Framework, CI/CD, etc); The Website Team is responsible for the day-to-day development of the Node.js Website; The UX and Design Team advise on Design Matters and the Web Standards Team advise on best-practices for Web APIs and Web Technologies/Standards. + +But above all, the Web Team should work together to better the Web Experience for Node.js, aiming to provide the best experience for Node.js users.