Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta: web team and responsibilities #5779

Merged
merged 26 commits into from
Oct 2, 2023
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -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
bmuenzenmeyer marked this conversation as resolved.
Show resolved Hide resolved

# 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
2 changes: 1 addition & 1 deletion COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion CONTENT_VS_CODE.md
Original file line number Diff line number Diff line change
@@ -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).

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down
45 changes: 45 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 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 (such as Vercel and Cloudflare, for the Node.js website)
MattIPv4 marked this conversation as resolved.
Show resolved Hide resolved
ovflowd marked this conversation as resolved.
Show resolved Hide resolved
- 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.
ovflowd marked this conversation as resolved.
Show resolved Hide resolved
ovflowd marked this conversation as resolved.
Show resolved Hide resolved

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.

ovflowd marked this conversation as resolved.
Show resolved Hide resolved
### 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;
bmuenzenmeyer marked this conversation as resolved.
Show resolved Hide resolved

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.