Próximo: , Anterior: , Acima: Contribuindo   [Conteúdo][Índice]


22.12 Equipes

Para organizar o trabalho no Guix, incluindo, mas não apenas, os esforços de desenvolvimento, o projeto tem um conjunto de equipes. Cada equipe tem seu próprio foco e interesses e é o principal ponto de contato para perguntas e contribuições nessas áreas. A principal missão de uma equipe é coordenar e revisar o trabalho de indivíduos em seu escopo (veja Revendo o trabalho de outros); ela pode tomar decisões dentro de seu escopo, em acordo com outras equipes sempre que houver sobreposição ou uma conexão próxima, e de acordo com outras regras do projeto, como buscar consenso (veja Tomando decisões).

Como exemplo, a equipe Python é responsável por questões de empacotamento do núcleo Python; ela pode decidir atualizar os pacotes principais do Python em uma ramificação dedicada python-team, em colaboração com qualquer equipe cujo escopo seja diretamente dependente do Python — por exemplo, a equipe Science — e seguindo regras de ramificação (veja Gerenciando Patches e Branches). A equipe Documentation ajuda a revisar as alterações na documentação e pode iniciar alterações abrangentes na documentação. A equipe Translations organiza a tradução do Guix e seu manual e coordena os esforços nessa área. A equipe Core é responsável pelo desenvolvimento da funcionalidade principal e das interfaces do Guix; devido à sua natureza central, parte de seu trabalho pode exigir a solicitação de contribuições da comunidade em geral e a busca de consenso antes de promulgar decisões que afetariam toda a comunidade.

As equipes são definidas no arquivo etc/teams.scm no repositório Guix. O escopo de cada equipe é definido, quando aplicável, como um conjunto de arquivos ou como uma expressão regular que corresponde a nomes de arquivos.

Qualquer pessoa interessada no domínio de uma equipe e disposta a contribuir com seu trabalho pode se candidatar para se tornar um membro entrando em contato com os membros atuais por e-mail; acesso de commit não é uma pré-condição. A filiação é formalizada adicionando o nome e endereço de e-mail da pessoa em etc/teams.scm. Membros que não participam do trabalho da equipe por um ano ou mais podem ser removidos; eles são livres para se candidatar novamente para filiação mais tarde.

Uma ou mais pessoas podem propor a criação de uma nova equipe entrando em contato com a comunidade por e-mail em guix-devel@gnu.org, esclarecendo o escopo e o propósito pretendidos. Quando o consenso é alcançado sobre a criação desta equipe, alguém com acesso de commit formaliza sua criação adicionando-a e seus membros iniciais a etc/teams.scm.

Para listar as equipes existentes, execute o seguinte comando em um checkout do Guix:

$ ./etc/teams.scm list-teams
id: mentors
name: Mentors
description: A group of mentors who chaperone contributions by newcomers.
members:
+ Charlie Smith <charlie@example.org>
…

You can run the following command to have the Mentors team put in CC of a patch series:

$ git send-email --to=NÚMERO_DE_ISSÃO@debbugs.gnu.org \
  --header-cmd='etc/teams.scm cc-mentors-header-cmd' *.patch

A equipe ou equipes apropriadas também podem ser inferidas a partir dos arquivos modificados. Por exemplo, se você quiser enviar os dois últimos commits do repositório Git atual para revisão, você pode executar:

$ guix shell -D guix
[env]$ git send-email --to=NÚMERO_DE_ISSÃO@debbugs.gnu.org -2

Próximo: Tomando decisões, Anterior: Rastreando Bugs e Mudanças, Acima: Contribuindo   [Conteúdo][Índice]