Próximo: Making Decisions, Anterior: Rastreando Bugs e Mudanças, Acima: Contribuindo [Conteúdo][Índice]
To organize work on Guix, including but not just development efforts, the project has a set of teams. Each team has its own focus and interests and is the primary contact point for questions and contributions in those areas. A team’s primary mission is to coordinate and review the work of individuals in its scope (veja Revendo o trabalho de outros); it can make decisions within its scope, in agreement with other teams whenever there is overlap or a close connection, and in accordance with other project rules such as seeking consensus (veja Making Decisions).
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: Making Decisions, Anterior: Rastreando Bugs e Mudanças, Acima: Contribuindo [Conteúdo][Índice]