-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
feat(meta): document TSC oversight #7882
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,12 +2,68 @@ | |
|
|
||
| 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. | ||
|
|
||
| ### TSC Oversight | ||
| ## Relationship with the TSC | ||
|
|
||
| Any website change that expresses a position about a global event or group of people requires explicit | ||
| [TSC](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md#section-4-responsibilities-of-the-tsc) | ||
| approval. This can be obtained by pinging `@nodejs/tsc` and receive no objections after seven days, | ||
| or by sending an email to `tsc@iojs.org` and receive at least one approval and no objections after seven days. | ||
| The Website Team operates with significant autonomy for most website decisions, but must recognize the TSC's ultimate authority on matters affecting Node.js project representation, branding, and strategic partnerships. | ||
|
|
||
| ### Decision Authority Hierarchy | ||
|
|
||
| 1. **Website Team Authority** | ||
|
|
||
| - Technical implementation details | ||
| - User interface and experience design | ||
| - Content organization and information architecture | ||
| - Day-to-day maintenance and updates | ||
|
|
||
| 2. **TSC Authority** | ||
| - Project-wide policies and governance | ||
| - Strategic partnerships and representation | ||
| - Major structural or navigational changes | ||
| - Content that affects Node.js project positioning | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You should add example here like position tech wise or something else |
||
|
|
||
| ### Content Requiring TSC Approval | ||
|
|
||
| - **Statements on Sociopolitical Issues**: Any content expressing positions on political, social, cultural, or humanitarian matters | ||
| - **Commercial Relationships and Endorsements**: Any content establishing or promoting commercial partnerships, vendor preferences, or paid services related to Node.js | ||
|
|
||
| Website changes falling under these categories require **formal TSC endorsement** as outlined in the [TSC Charter](https://github.com/nodejs/TSC/blob/main/TSC-Charter.md#section-4-responsibilities-of-the-tsc). Valid approval consists of at least one TSC member's explicit approval with no objections from any TSC members. This endorsement may be secured through either: | ||
|
|
||
| - Pinging `@nodejs/tsc` OR | ||
| - Sending an email to `tsc@iojs.org` | ||
|
|
||
| ### Handling TSC Feedback and Concerns | ||
|
|
||
| When TSC members express concerns about proposed changes: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IMO it's weird to treat feedback from TSC members as special, any project member is entitled to an opinion. |
||
|
|
||
| 1. **Documentation Requirement**: Document all TSC feedback in the relevant issue or PR | ||
| 2. **Hold Period**: Pause implementation until concerns are addressed | ||
| 3. **Resolution Process**: | ||
| - Seek clarification on specific concerns | ||
| - Propose compromise solutions | ||
| - Document resolution attempts and outcomes | ||
|
|
||
| ### Dispute Resolution Process | ||
|
|
||
| If disagreements arise between the Website Team and TSC regarding website changes: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There's no such thing as a disagreement between two teams, it's always a disagreement between project members. You could phrase it as "a disagreement between a majority of the Website Team and a majority of the TSC voting members", but IMO it'd be more useful to define a strategy for a disagreement between any project member. |
||
|
|
||
| 1. **Escalation Path**: | ||
|
|
||
| - First attempt: Direct discussion on the PR/issue | ||
| - Second attempt: Scheduled discussion in TSC meeting | ||
| - Final resolution: Formal TSC vote if needed | ||
|
|
||
| 2. **Implementation Requirements**: | ||
|
|
||
| - Changes with unresolved TSC objections must not proceed without formal TSC approval | ||
| - When in doubt about approval status, seek explicit confirmation | ||
| - Document the resolution and approval in the PR before merging | ||
|
|
||
| 3. **Documentation Standard**: | ||
| - All significant disagreements and their resolutions must be documented | ||
| - TSC approvals should be explicit and documented in writing | ||
| - Approval pathways should be clear to all current and future contributors | ||
|
|
||
| ## Website Teams | ||
|
|
||
| ### Node.js Website Team (`@nodejs/nodejs-website`) | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO it'd be more productive to keep a consensus-seeking (I guess we need to define among what group, IMO it should include Node.js Collaborators) process for all those topics, and have "The TSC serves as the final arbiter where required." for the case where consensus cannot be reached.