Próximo: Tomando decisões, Anterior: Rastreando Bugs e Mudanças, Acima: Contribuindo [Conteúdo][Índice]
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]