Proposal: Core subsystem Code Owner teams
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- github, nodejs
- Domínio
- developer-experience
Direção de pesquisa
Comece pelas seções Collaborator → Maintainer, Team Member e Core; em seguida, revise a discussão vinculada do summit do Node.js e os repositórios mencionados nodejs/admin e nodejs/node. Para considerar a tarefa concluída, é necessário que o TSC concorde com o modelo de governança e que as regras de equipe, ownership, nomeação e proteção de branches estejam documentadas. A issue não nomeia arquivos de implementação nem testes.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- JavaScript
- Estrelas
- 693
- Forks
- 142
- Merge médio
- 8d 7h
- PRs com merge (30d)
- 3
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de nodejs/TSC
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 1/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 20/100
-
tsc-agenda
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 8/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 3/100
-
build-agenda tsc-agenda
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 5/100
Issues semelhantes
-
Add: OnTime Sports SD LogoAbertacheck:failed logos:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
iptv-org/database#38874 · 1 comentário ·
Mantenedores costumam responder em até 4 dias
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
githubnext/gh-aw-workshop#5193 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
agent/quality stage/040-covered-by-pr testing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
cncf/endusers#2031 · 2 comentários ·
Mantenedores costumam responder em até 1 dia