O Google está empenhado em promover a igualdade racial para as comunidades negras. Veja como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

O processo RFC do TensorFlow

Todo novo recurso do TensorFlow começa a vida como uma solicitação de comentário (RFC).

Um RFC é um documento que descreve um requisito e as alterações propostas que o resolverão. Especificamente, a RFC:

  • Ser formatado de acordo com o modelo RFC .
  • Seja enviado como uma solicitação pull ao diretório community / rfcs .
  • Seja sujeito a discussão e reunião de revisão antes da aceitação.

O objetivo de uma solicitação de comentários do TensorFlow (RFC) é envolver a comunidade do TensorFlow no desenvolvimento, obtendo feedback de partes interessadas e especialistas e comunicando amplamente as alterações no projeto.

Como enviar uma RFC

  1. Antes de enviar uma RFC, discuta seus objetivos com os colaboradores e mantenedores do projeto e obtenha feedback antecipado. Use a lista de discussão do desenvolvedor do projeto em questão (developers@tensorflow.org ou a lista do SIG relevante).

  2. Rascunhe sua RFC.

    • Siga o modelo RFC .
    • Nomeie seu arquivo RFC YYYYMMDD-descriptive-name.md , onde YYYYMMDD é a data de envio e descriptive-name se refere ao título da sua RFC. (Por exemplo, se o seu RFC for intitulado Parallel Widgets API , você poderá usar o nome de arquivo 20180531-parallel-widgets.md .
    • Se você tiver imagens ou outros arquivos auxiliares, crie um diretório com o formato YYYYMMDD-descriptive-name no qual armazenar esses arquivos.

    Depois de escrever o rascunho da RFC, obtenha feedback dos mantenedores e colaboradores antes de enviá-lo.

    Escrever código de implementação não é um requisito, mas pode ajudar a projetar discussões.

  3. Recrute um patrocinador.

    • Um patrocinador deve ser um mantenedor do projeto.
    • Identifique o patrocinador na RFC, antes de publicar o PR.

    Você pode postar uma RFC sem um patrocinador, mas se dentro de um mês após a publicação do PR ainda não houver patrocinador, ele será fechado.

  4. Envie seu RFC como uma solicitação pull para tensorflow / community / rfcs .

    Inclua a tabela de cabeçalho e o conteúdo da seção Objective no comentário da sua solicitação pull, usando Markdown. Por exemplo, veja este exemplo RFC . Inclua os identificadores do GitHub de coautores, revisores e patrocinadores.

    No topo do PR, identifique quanto tempo será o período para comentários. Isso deve levar no mínimo duas semanas após a publicação do PR.

  5. Envie um email para a lista de discussão do desenvolvedor com uma breve descrição, um link para o PR e um pedido de revisão. Siga o formato das correspondências anteriores, como você pode ver neste exemplo .

  6. O patrocinador solicitará uma reunião do comitê de revisão, no máximo duas semanas após a publicação do RFC PR. Se a discussão for animada, aguarde até que ela se estabilize antes de revisar. O objetivo da reunião de revisão é resolver problemas menores; deve-se chegar a um consenso sobre questões importantes de antemão.

  7. A reunião pode aprovar a RFC, rejeitá-la ou exigir alterações antes que possa ser considerada novamente. Os RFCs aprovados serão mesclados em community / rfcs , e os RFCs rejeitados terão seus PRs fechados.

Participantes da RFC

Muitas pessoas estão envolvidas no processo de RFC:

  • Autor da RFC - um ou mais membros da comunidade que escrevem uma RFC e estão comprometidos em defendê-la através do processo

  • Patrocinador da RFC - um mantenedor que patrocina a RFC e a orienta através do processo de revisão da RFC

  • comitê de revisão - um grupo de mantenedores que tem a responsabilidade de recomendar a adoção da RFC

  • Qualquer membro da comunidade pode ajudar, fornecendo feedback sobre se o RFC atenderá às suas necessidades.

Patrocinadores da RFC

Um patrocinador é um mantenedor do projeto responsável por garantir o melhor resultado possível do processo de RFC. Isso inclui:

  • Defendendo o design proposto.
  • Orientando o RFC a aderir às convenções de design e estilo existentes.
  • Orientar o comitê de revisão a chegar a um consenso produtivo.
  • Se as alterações forem solicitadas pelo comitê de revisão, verifique se elas foram feitas e busque a aprovação subsequente dos membros do comitê.
  • Se o RFC passar para a implementação:
    • Garantir a implementação proposta adere ao design.
    • Coordenar com as partes apropriadas para implementar a terra com sucesso.

Comitês de revisão da RFC

O comitê de revisão decide, por consenso, se aprova, rejeita ou solicita alterações. Eles são responsáveis ​​por:

  • Garantir que itens substantivos do feedback do público tenham sido contabilizados.
  • Adicionando suas anotações de reunião como comentários ao PR.
  • Fornecendo razões para suas decisões.

A constituição de um comitê de revisão pode mudar de acordo com o estilo particular de governança e liderança de cada projeto. Para o TensorFlow principal, o comitê será composto por colaboradores do projeto TensorFlow que tenham experiência na área de domínio em questão.

Membros da comunidade e o processo RFC

O objetivo das RFCs é garantir que a comunidade esteja bem representada e atendida por novas alterações no TensorFlow. É de responsabilidade dos membros da comunidade participar da revisão das RFCs onde eles têm interesse no resultado.

Os membros da comunidade interessados ​​em uma RFC devem:

  • Forneça feedback o mais rápido possível para permitir tempo suficiente para consideração.
  • Leia as RFCs cuidadosamente antes de fornecer feedback.
  • Seja civil e construtivo .

Implementando novos recursos

Depois que uma RFC for aprovada, a implementação poderá começar.

Se você estiver trabalhando em um novo código para implementar uma RFC:

  • Certifique-se de entender o recurso e o design aprovados na RFC. Faça perguntas e discuta a abordagem antes de começar o trabalho.
  • Novos recursos devem incluir novos testes de unidade para verificar se o recurso funciona conforme o esperado. É uma boa ideia escrever esses testes antes de escrever o código.
  • Siga o Guia de estilo do código TensorFlow
  • Adicione ou atualize a documentação relevante da API. Consulte o RFC na nova documentação.
  • Siga quaisquer outras diretrizes estabelecidas no arquivo CONTRIBUTING.md no CONTRIBUTING.md do projeto para o qual você está contribuindo.
  • Execute testes de unidade antes de enviar seu código.
  • Trabalhe com o patrocinador da RFC para obter com êxito o novo código.

Mantendo a barra alta

Embora incentivemos e comemoremos todos os colaboradores, o nível de aceitação da RFC é mantido intencionalmente alto. Um novo recurso pode ser rejeitado ou precisar de revisão significativa em qualquer um destes estágios:

  • Conversas iniciais de design na lista de discussão relevante.
  • Falha ao recrutar um patrocinador.
  • Objeções críticas durante a fase de feedback.
  • Falha em obter consenso durante a revisão do projeto.
  • Preocupações levantadas durante a implementação (por exemplo: incapacidade de obter compatibilidade com versões anteriores, preocupações com a manutenção).

Se esse processo estiver funcionando bem, espera-se que as RFCs falhem nos estágios anteriores, e não posteriores. Uma RFC aprovada não garante o compromisso de implementar, e a aceitação de uma implementação proposta da RFC ainda está sujeita ao processo usual de revisão de código.

Se você tiver alguma dúvida sobre esse processo, não hesite em perguntar na lista de discussão dos desenvolvedores ou registrar um problema no tensorflow / community .