<html devsite><head>
    <title>Funções do projeto</title>
    <meta name="project_path" value="/_project.yaml"/>
    <meta name="book_path" value="/_book.yaml"/>
  </head>
  <body>
  <!--
      Copyright 2017 The Android Open Source Project

      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
  -->

<p>
  O Android Open Source Project (AOSP) inclui pessoas que trabalham em várias funções. O Google é responsável pelo gerenciamento de produtos Android e pelo processo de engenharia para a plataforma e estrutura principais. No entanto, o projeto considera as contribuições de qualquer origem, não apenas do Google. Esta página descreve os tipos de funções que as partes interessadas podem assumir.
</p>
<p>
  Qualquer pessoa que esteja interessada em explorar o Android e contribuir com ele pode usar os recursos do AOSP. Qualquer pessoa pode participar das listas de e-mails, fazer perguntas, contribuir com patches, reportar bugs, ver os patches enviados e usar as ferramentas. Para começar a usar o código do Android, consulte <a href="../contribute/index.html">Como contribuir</a>.
</p>

<h2 id="contributor">Colaborador</h2>
<p>
  "Colaboradores" são aquelas pessoas que contribuem com o código-fonte do AOSP, incluindo funcionários do Google ou de outras empresas, além de desenvolvedores individuais que contribuem com o Android em seu próprio nome. Não há distinção entre colaboradores que são empregados pelo Google e aqueles que não são. Todos os engenheiros usam as mesmas ferramentas (git, repo e gerrit), seguem o mesmo processo de revisão de código e estão sujeitos aos mesmos requisitos de estilo de código, entre outros.
</p>

<h2 id="developer">Desenvolvedor</h2>
<p>
  "Desenvolvedores" são engenheiros que escrevem aplicativos executados em dispositivos Android. Geralmente, há pouca diferença nas habilidades de um desenvolvedor e um colaborador. Contudo, o AOSP usa o termo "desenvolvedor" para fazer uma distinção entre engenheiros que usam a plataforma e aqueles que contribuem com ela. Os desenvolvedores (junto com os usuários) são os "clientes" da plataforma que os colaboradores criam. Assim, falamos muito sobre os desenvolvedores, embora essa não seja tecnicamente uma função separada no AOSP em si.
</p>

<h2 id="verifier">Verificador</h2>
<p>
  "Verificadores" são responsáveis por testar solicitações de alteração. Após os indivíduos terem enviado uma quantidade significativa de código de alta qualidade para o projeto, os líderes desse projeto podem convidá-los a se tornarem verificadores.
</p>
<aside class="note"><strong>Observação</strong>: no momento, os verificadores agem de forma semelhante aos aprovadores.</aside>

<h2 id="approver">Aprovador</h2>
<p>
  "Aprovadores" são membros experientes do projeto que demonstraram habilidades de design e fizeram contribuições técnicas significativas para o projeto. No processo de análise do código, um aprovador decide se quer incluir ou excluir uma alteração. Os líderes de projeto (que normalmente são empregados pelo Google) escolhem os aprovadores, às vezes promovendo para essa função os verificadores que demonstraram ter experiência em um projeto específico.
</p>

<h2 id="project-leads">Líder de projeto</h2>
<p>
  O Android é composto por vários subprojetos. Você pode vê-los no repositório git como arquivos .git individuais. "Líderes de projeto" são colaboradores seniores que supervisionam a engenharia de projetos Android individuais. Normalmente, esses líderes de projeto são funcionários do Google. Um líder de projeto para um projeto individual é responsável pelo seguinte:
</p>
<ul>
  <li>
    Liderar todos os aspectos técnicos do projeto, incluindo o planejamento, o desenvolvimento, os ciclos de lançamento, o controle de versão e o controle de qualidade (QA, na sigla em inglês).
  </li><li>
    Verificar se o projeto foi testado pelo QA a tempo para os lançamentos agendados da plataforma Android.
  </li>
  <li>
    Designar os verificadores e aprovadores para os patches enviados.
  </li>
  <li>
    Ser justo e imparcial ao analisar as alterações. Aceitar ou rejeitar patches com base no mérito técnico e no alinhamento com a estratégia do Android.
  </li>
  <li>
    Analisar as alterações em tempo hábil e fazer um esforço para se comunicar da melhor forma possível quando as alterações não forem aceitas.<p></p>
  </li>
  <li>
    Opcionalmente, manter um site para o projeto que contenha as informações e os documentos específicos dele.
  </li>
  <li>
    Atuar como facilitador na resolução de conflitos técnicos.
  </li>
  <li>
    Ser a face pública do projeto e a pessoa responsável por questões relacionadas a ele.
  </li>
</ul>

</body></html>