Grupos de interesse especial do Bazel

O Bazel hospeda grupos de interesse especial (SIGs, na sigla em inglês) para concentrar a colaboração em áreas específicas e apoiar a comunicação e a coordenação entre proprietários, mantidares e colaboradores do Bazel. Essa política se aplica ao bazelbuild.

Os SIGs fazem seu trabalho em público. O escopo ideal de uma SIG abrange um domínio bem definido, em que a maioria da participação é da comunidade. As SIGs podem se concentrar em repositórios mantidos pela comunidade em bazelbuild (como regras de linguagem) ou em áreas de código no repositório do Bazel (como execução remota).

Embora nem todas as SIGs tenham o mesmo nível de energia, amplitude de escopo ou modelos de governança, é preciso haver evidências suficientes de que há membros da comunidade dispostos a se envolver e contribuir, caso o grupo de interesse seja estabelecido. Antes de entrar, revise o trabalho do grupo e entre em contato com o líder do SIG. As políticas de associação variam de acordo com o SIG.

Veja a lista completa de SIGs do Bazel.

Sem metas: o que não é um SIG

As SIGs têm como objetivo facilitar a colaboração no trabalho compartilhado. Portanto, um SIG é:

  • Não é um fórum de suporte: uma lista de e-mails e um SIG não é a mesma coisa
  • Não é imediatamente necessário: no início de um projeto, você pode não saber se tem trabalhos ou colaboradores compartilhados.
  • Trabalho não livre:energia é necessária para crescer e coordenar o trabalho de forma colaborativa.

Os proprietários do Bazel adotam uma abordagem conservadora para a criação de SIG. Graças à facilidade de iniciar projetos no GitHub, há muitos caminhos em que a colaboração pode acontecer sem a necessidade de um SIG.

Ciclo de vida da SIG

Esta seção aborda como criar um SIG.

Pesquisa e consultoria

Para propor um novo grupo SIG, primeiro reúna evidências para aprovação, conforme especificado abaixo. Alguns possíveis caminhos a considerar são:

  • Um problema bem definido ou conjunto de problemas que o grupo resolveria
  • Consulta com membros da comunidade que se beneficiariam, avaliando o benefício e a disposição deles em se comprometer
  • Para projetos atuais, evidências de problemas e RPs que os colaboradores se importam com o tópico
  • Possíveis metas a serem alcançadas pelo grupo
  • Requisitos de recursos para executar o grupo

Mesmo que a necessidade de um SIG pareça evidente, a pesquisa e a consulta ainda são importantes para o sucesso do grupo.

Criar o novo grupo

O novo grupo deve seguir o processo de abertura abaixo. Especificamente, ele precisa demonstrar:

  • um propósito e benefício claros para o Bazel (em relação a um subprojeto ou área de aplicação);
  • Dois ou mais colaboradores dispostos a atuar como líderes de grupo, existência de outros colaboradores e evidências de demanda do grupo
  • Cada grupo precisa usar pelo menos uma lista de e-mails acessível publicamente. Um SIG pode reutilizar uma das listas públicas, como bazel-discuss, solicitar uma lista para @bazel.build ou criar a própria lista
  • Recursos que o SIG exige inicialmente (geralmente, lista de e-mails e videochamada comum).
  • As SIGs podem exibir documentos e arquivos dos respectivos diretórios em bazelbuild/community ou do próprio repositório na organização bazelbuild do GitHub. Os SIGs podem criar links para recursos externos se optarem por organizar o trabalho fora da organização bazelbuild do GitHub.
  • Os proprietários do Bazel aprovam ou rejeitam aplicativos SIG e consultam outras partes interessadas conforme necessário.

Antes de entrar nas partes formais do processo, consulte a equipe de produtos do Bazel em product@bazel.build. A maioria dos SIGs exige conversa e iteração antes da aprovação.

A solicitação formal para o novo grupo é feita enviando um termo de abertura como RP para bazelbuild/community e incluindo a solicitação nos comentários do RP seguindo o modelo abaixo. Após a aprovação, o PR do grupo é mesclado e os recursos necessários são criados.

Solicitação de modelo para novo SIG

Para solicitar um novo SIG, use o modelo no repositório da comunidade: SIG-request-template.md.

Fretamento

Para estabelecer um grupo, você precisa de um termo de abertura e seguir o código de conduta (em inglês) do Bazel. Os arquivos do grupo serão públicos. A associação pode estar aberta a todos sem aprovação ou disponível mediante solicitação, com aprovação pendente do administrador do grupo.

O termo de abertura deve indicar um administrador. Além de um administrador, o grupo precisa incluir pelo menos uma pessoa como líder (pode ser a mesma pessoa), que atua como ponto de contato para coordenação, conforme exigido com a equipe de produtos do Bazel.

Os criadores do grupo precisam postar o termo de abertura na lista de e-mails do grupo. O repositório da comunidade na organização do Bazel no GitHub arquiva esses documentos e políticas. À medida que os grupos evoluem suas práticas e convenções, eles precisam atualizar os termos de abertura dentro da parte relevante do repositório da comunidade.

Colaboração e inclusão

Embora isso não seja obrigatório, o grupo deve optar por usar a colaboração por chamadas de conferência agendadas ou canais de bate-papo para conduzir reuniões. Todas as reuniões desse tipo devem ser anunciadas na lista de e-mails, e observações postadas na lista posteriormente. Reuniões regulares ajudam a promover a responsabilização e o progresso em um SIG.

Os membros da equipe de produto do Bazel podem monitorar e incentivar proativamente o grupo a discutir e agir conforme apropriado.

Iniciar uma SIG

Atividades necessárias:

Atividades opcionais:

  • Crie uma postagem para o blog do Bazel

Integridade e encerramento de SIGs

Os proprietários do Bazel fazem o possível para garantir a integridade das SIGs. Às vezes, os proprietários do Bazel solicitam que o lead do SIG informe o trabalho do SIG para informar a comunidade mais ampla do Bazel sobre a atividade do grupo.

Se um SIG não tiver mais um propósito útil ou comunidade interessada, ele poderá ser arquivado e cessar a operação. A equipe de produto do Bazel reserva o direito de arquivar essas SIGs inativas para manter a integridade geral do projeto, embora seja um resultado menos preferível. Um SIG também pode optar por se desfazer se reconhecer que chegou ao fim de sua vida útil.

Observação

Este conteúdo foi adotado do manual de SIG (em inglês) do Tensorflow com modificações.