6. Configuração, Convenções e Tradições

Existe uma série de coisas para fazer como um novo desenvolvedor. O primeiro conjunto de etapas é específico apenas para os committers. Essas etapas devem ser feitas por um mentor para aqueles que não são committers.

6.1. Para novos committers

Aqueles que receberam direitos de commit para os repositórios do FreeBSD devem seguir estes passos.

  • Obtenha a aprovação do seu mentor antes de fazer o commit de cada uma dessas mudanças!

  • Os arquivos .ent e .xml mencionados abaixo existem no repositório SVN do Projeto de Documentation do FreeBSD em svn+ssh://repo.FreeBSD.org/doc/.

  • Novos arquivos que não possuem a propriedade FreeBSD=%H svn:keywords serão rejeitados quando você tentar fazer o commit dos mesmos para o repositório. Certifique-se de ler Seção 5.3.7, “Adicionando e Removendo Arquivos” sobre como adicionar e remover arquivos. Verifique se o ~/.subversion/config contém as entradas necessárias de auto-props do auto-props.txt mencionado lá.

  • Todos os commits do src vão para o FreeBSD-CURRENT antes de serem mesclados para o FreeBSD-STABLE. A branch do FreeBSD-STABLE deve manter a compatibilidade de ABI e de API com as versões anteriores dessa branch. Não mescle as alterações que quebram essa compatibilidade.

Procedimento 1. Etapas para os novos committers
  1. Adicione uma entidade de autor

    doc/head/share/xml/authors.ent - Adicione uma entidade de autor. Etapas posteriores dependem dessa entidade, e a falta dessa etapa fará com que a compilação do doc/ falhe. Essa é uma tarefa relativamente fácil, mas continua sendo um bom primeiro teste de habilidades no controle de versão.

  2. Atualize a lista de desenvolvedores e colaboradores

    doc/head/en_US.ISO8859-1/articles/contributors/contrib.committers.xml - Adicione uma entrada à seção Desenvolvedores da Lista de Contribuidores. As entradas são classificadas pelo sobrenome.

    doc/head/en_US.ISO8859-1/articles/contributors/contrib.additional.xml - Remova a entrada da seção Contribuidores Adicionais. As entradas são classificadas pelo primeiro nome.

  3. Adicione um item de notícias

    doc/head/share/xml/news.xml - Adicione uma entrada. Procure por outras entradas que anunciam novos committers e siga o formato. Use a data do email de aprovação do para o commit bit.

  4. Adicione uma chave PGP

    doc/head/share/pgpkeys/pgpkeys.ent e doc/head/share/pgpkeys/pgpkeys-developers.xml - Adicione a sua chave PGP ou GnuPG. Aqueles que ainda não têm uma chave devem ver Seção 2.1, “Criando uma chave”.

    O Dag-Erling Smørgrav escreveu um script de shell (doc/head/share/pgpkeys/addkey.sh) para tornar isto mais fácil. Consulte o arquivo README para obter mais informações.

    Use o doc/head/share/pgpkeys/checkkey.sh para verificar se as chaves atendem aos padrões mínimos das boas práticas recomendadas.

    Depois de adicionar e verificar uma chave, adicione os dois arquivos atualizados ao controle de versão do código fonte, e em seguida faça o commit. As entradas neste arquivo são classificadas pelo sobrenome.

    Nota:

    É muito importante ter uma chave PGP/GnuPG atualizada no repositório. A chave pode ser necessária para a identificação positiva de um committer. Por exemplo, os Administradores do FreeBSD podem precisar dela para a recuperação da conta. Um chaveiro completo dos usuários do FreeBSD.org está disponível para download em https://www.FreeBSD.org/doc/pgpkeyring.txt.

  5. Atualize as informações do Mentor e do Mentee

    base/head/share/misc/committers-repository.dot - Adicione uma entrada à seção committers atuais, onde repository é doc, ports, ou src, dependendo dos privilégios de commit concedidos.

    Adicione uma entrada para cada relacionamento adicional de mentor/mentee na seção inferior.

  6. Gere uma senha do Kerberos

    Veja Seção 3, “Kerberos e LDAP Web Password para o cluster do FreeBSD” para gerar ou definir um Kerberos para uso com outros serviços do FreeBSD, como o banco de dados de rastreamento de bugs.

  7. Opcional: Ative a sua conta na Wiki

    Conta no Wiki do FreeBSD - Uma conta no wiki permite que compartilhe projetos e ideias. Aqueles que ainda não têm uma conta podem seguir as instruções da Página Sobre a Wiki para obter uma. Entre em contato com se precisar de ajuda com sua conta no Wiki.

  8. Opcional: Atualize informações do Wiki

    Informações do Wiki - Depois de obter acesso ao wiki, algumas pessoas adicionam entradas nas páginas How We Got Here, IRC Nicks e Dogs of FreeBSD páginas.

  9. Opcional: Atualize o Ports com as suas Informações Pessoais

    ports/astro/xearth/files/freebsd.committers.markers e src/usr.bin/calendar/calendars/calendar.freebsd - Algumas pessoas adicionam entradas para elas nestes arquivos para mostrar onde estão localizadas ou a data de seu aniversário.

  10. Opcional: Evite Correspondências Duplicadas

    Assinantes das listas svn-src-all, svn-ports-all ou da svn-doc-all podem desejar cancelar a assinatura para evitar receber cópias duplicadas de mensagens de commit e de followups.

6.2. Para todos

  1. Apresente-se aos outros desenvolvedores, caso contrário, ninguém fará a menor ideia de quem você é ou no que você está trabalhando. A introdução não precisa ser uma biografia abrangente, basta escrever um parágrafo ou dois sobre quem você é, em que você planeja trabalhar como desenvolvedor no FreeBSD e quem será seu mentor. Envie os parágrafos por e-mail para a lista de discussão dos desenvolvedores do FreeBSD e você estará a caminho!

  2. Entre na freefall.FreeBSD.org e crie um arquivo /var/forward/user (no qual user é seu nome de usuário) contendo o endereço de e-mail para o qual você deseja que o correio endereçado para yourusername@FreeBSD.org seja encaminhado. Isto inclui todas as mensagens de commit assim como qualquer outro email endereçado à lista de discussão dos committers do FreeBSD e à lista de discussão dos desenvolvedores do FreeBSD. Caixas de correio realmente grandes que tenham residência permanente na freefall podem ser truncadas sem aviso se o espaço precisar ser liberado, então encaminhe suas mensagens ou salve-as em outro lugar.

    Nota:

    Se o seu sistema de e-mail usa SPF com regras estritas, você deve colocar o host mx2.FreeBSD.org na whitelist de verificações do SPF.

    Devido ao load severo imposto aos servidores centrais que fazem o processamento da lista de discussão devido ao grande volume de SPAMs, o servidor de front-end faz algumas verificações básicas e descarta algumas mensagens com base nessas verificações. No momento, as informações de DNS adequadas para o host de conexão são a única verificação ativa, mas isso pode mudar. Algumas pessoas culpam estas verificações por rejeitar e-mails válidos. Para que essas verificações sejam desativadas no seu email, crie um arquivo chamado ~/.spam_lover no servidor freefall.FreeBSD.org.

Nota:

Aqueles que são desenvolvedores, mas não são committers, não serão inscritos nas listas de discussão de desenvolvedores ou de committers. As assinaturas são derivadas dos direitos de acesso.

6.2.1. Configuração de acesso SMTP

Para aqueles dispostos a enviar mensagens de e-mail através da infraestrutura do FreeBSD.org, siga as instruções abaixo:

  1. Aponte seu cliente de e-mail para smtp.FreeBSD.org:587.

  2. Habilite o STARTTLS.

  3. Assegure-se de que seu endereço From: esteja configurado para yourusername@FreeBSD.org.

  4. Para autenticação, você pode usar o seu nome de usuário e a sua senha do Kerberos no cluster do FreeBSD (veja Seção 3, “Kerberos e LDAP Web Password para o cluster do FreeBSD”). O principal yourusername/mail é o preferido, pois é válido apenas para autenticação dos recursos de correio.

    Nota:

    Não inclua @FreeBSD.org ao digitar seu nome de usuário.

Notas Adicionais:

  • Aceitará apenas mensagens de yourusername@FreeBSD.org. Se você for autenticado como um usuário, não terá permissão para enviar e-mails como outro.

  • Um cabeçalho será anexado com o nome de usuário do SASL: (Authenticated sender: username).

  • O host possui vários limites de taxa para reduzir as tentativas de força bruta.

6.2.1.1. Usando um MTA Local para Encaminhar Emails para o Serviço SMTP do FreeBSD.org

Também é possível usar um MTA local para encaminhar emails enviados localmente para os servidores SMTP do FreeBSD.org.

Exemplo 1. Usando o Postfix

Para dizer a uma instância local do Postfix que qualquer email de yourusername@FreeBSD.org deve ser encaminhado para os servidores do FreeBSD.org, adicione isto ao seu main.cf:

sender_dependent_relayhost_maps = hash:/usr/local/etc/postfix/relayhost_maps
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_use_tls = yes

Crie /usr/local/etc/postfix/relayhost_maps com o seguinte conteúdo:

yourusername@FreeBSD.org  [smtp.freebsd.org]:587

Crie /usr/local/etc/postfix/sasl_passwd com o seguinte conteúdo:

[smtp.freebsd.org]:587          yourusername:yourpassword

Se o servidor de email for usado por outras pessoas, talvez você queira impedir que elas enviem emails do seu endereço. Para configurar isso, adicione estas entradas ao seu main.cf:

smtpd_sender_login_maps = hash:/usr/local/etc/postfix/sender_login_maps
smtpd_sender_restrictions = reject_known_sender_login_mismatch

Crie /usr/local/etc/postfix/sender_login_maps com o seguinte conteúdo:

yourusername@FreeBSD.org yourlocalusername

Onde yourlocalusername é o usuário SASL utilizado para conectar na instância local do Postfix.


6.3. Mentores

Todos os novos desenvolvedores têm um mentor atribuído a eles nos primeiros meses. Um mentor é responsável por ensinar ao aprendiz as regras e convenções do projeto e orientar seus primeiros passos na comunidade de desenvolvedores. O mentor também é pessoalmente responsável pelas ações do aprendiz durante este período inicial.

Para committers: não faça nenhum commit sem antes obter a aprovação do seu mentor. Documente essa aprovação com uma linha Approved by: na mensagem de commit.

Quando o mentor decide que um aprendiz já aprendeu o necessário e está pronto para fazer commits por conta própria, o mentor anuncia o fato com um commit no conf/mentors. Este arquivo está na branch svnadmin de cada repositório:

srcbase/svnadmin/conf/mentors
docdoc/svnadmin/conf/mentors
portsports/svnadmin/conf/mentors

Os novos committers devem ter como objetivo realizar commits o suficiente para que seu mentor se sinta confortável em liberá-los da mentoria no primeiro ano. Se eles ainda estiverem sob orientação, o corpo gerencial apropriado (core, doceng ou portmgr) deve tentar garantir que não haja barreiras que impeçam a conclusão. Se o committer não for capaz de satisfazer seu mentor de prontidão por um ano e meio, seu commit bit pode ser convertido para membro do projeto.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.