Proposal: Core subsystem Code Owner teams
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- github, nodejs
- Bereich
- developer-experience
Rechercherichtung
Beginne mit den Abschnitten Collaborator → Maintainer, Team Member und Core, prüfe anschließend die verlinkte Node.js-summit-Diskussion sowie die erwähnten Repositories nodejs/admin und nodejs/node. Als abgeschlossen gilt die Aufgabe, wenn der TSC dem Governance-Modell zugestimmt hat und Regeln für Teams, Zuständigkeiten, Nominierungen und Branch-Schutz dokumentiert sind. Im Issue werden keine Implementierungsdateien oder Tests genannt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I've tried to distill the great feedback from the node summit session a couple weeks ago. It does end up being somewhat surprisingly long because of what-ifs and what-abouts; the TLDR is found #Core at the bottom.
Motivations
- un/de-value non-Core contribution
- lower barriers to entry
- increase agility (more reviewers, more landers, etc)
- increase engagement
Proposal
Collaborator
- Expected to exercise caution when operating outside their teams
Nominations
Inherits the current Collaborator nomination policy with some notable points of clarification (on things that are currently vague):
- unchanged: via existing Collaborator (or TSC—who are Collaborators)
- barrier to entry should be high
- contributions across multiple teams (may be waived for extensive, multi-year tenure with the project)
Explicit criteria punted to a subsequent proposal
minimum of 1 year of consistent contributionsupport minimum: 10% of Collaboratorsmust be explicit, eg 👍 or+1in a comment
(Team) Member
- approve or block PRs to their subsystem (eg
node:test) and votes within their team (eg a nomination)
Context on teams (not new)
- Largely self-managing
- Can establish own policies extending general policy
- Handle own membership:
- requests to join
- nominating new members
- expelling members
- pruning inactive members (assisted/informed by an automation such as https://github.com/nodejs/admin/issues/1030)
- Administered by lead(s)/chair(s) (
adminrole on team repo,maintainerof the GH team, etc)
- Initial block resolution starts within the team; recommended approach:
- Team votes
- Overturned
- Escalate to TSC
- Team votes
Nominations
- barrier to entry should be moderately low
- demonstrates (to a lesser extent) qualities of a Collaborator
- managed by the team
- existing team members may vote on both team member and team maintainer nominations
Explicit criteria punted to a subsequent proposal
minimum of 3 months of consistent contributionSupport minimum: simple majority
Quorum: ⅔
Team member onboarding is handled by a team maintainer.
Organisation member onboarding is handled by a TSC member.
Empty teams
An empty team can be resurrected by posting in nodejs/admin:
- a non-Collaborator
- TSC approves a request by an aspiring organisation member to join
- A TSC member acts as team maintainer to oversee until the team is sufficiently populated
- TSC approves a request by an aspiring organisation member to join
- a Collaborator
- (after 1 week) adds themselves to the GH team (no approval required as there's no-one to vote)
- A TSC member adds them to the team's
maintainersubteam andadminto team's repo.
Core
The nodejs/node repository
- Subsystems are code-owned by a respective team (eg
node:testis code-owned by the@nodejs/core/test-runnerteam). @nodejs/core/collaboratorshas codebase-wide code-ownership- At least 1 code owner approval is required to land a relevant PR
- When there is no owning team, a Collaborator (exercising the aforementioned caution) or TSC member provides the code-owner approval
mainbranch is protected againstwrite(a PR is required) except for TSC &@nodejs/core/releasers- includes manually landing a PR
cc @nodejs/collaborators @nodejs/tsc
- Vorherrschende Sprache
- JavaScript
- Sterne
- 693
- Forks
- 142
- Ø Merge
- 8 T. 7 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nodejs/TSC
-
GSoC 2027Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 1/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 20/100
-
tsc-agenda
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 8/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 3/100
Ähnliche Issues
-
[metro-file-map] An error a watcher backend reports ends the server, since nothing listens for itOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 2 Tagen
-
post-merge-followup
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
code-yeongyu/senpi#5262 ·
Maintainer antworten meist innerhalb von 1 Tag
-
status: needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
mastra-ai/mastra#29108 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
fix(scripts): UnicodeEncodeError in test_run_training_pipeline on non-UTF-8 default encoding environmentsEvtl. vergeben @hardikkaurani hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag