# Contribuindo para o FreeBSD

### Jordan Hubbard

$FreeBSD: doc/pt_BR.ISO8859-1/articles/contributing/article.sgml,v 1.1 2003/12/29 04:15:40 lioux Exp $

Este artigo descreve as diferentes maneiras pelas quais um indivíduo ou uma organização podem contribuir com o projeto FreeBSD.

[ Split HTML / Single HTML ]

Então você quer contribuir com o FreeBSD? Isso é ótimo! O FreeBSD depende das contribuições da sua base de usuários para sobreviver. Suas contribuições não são apenas apreciadas, elas são vitais para que o FreeBSD continue crescendo.

Ao contrário do que algumas pessoas podem tentar fazê-lo acreditar, você não precisa ser um programador super experiente ou amigo pessoal de um membro do `Core Team` do FreeBSD para ter suas contribuições aceitas. Um grande e crescente número de colaboradores internacionais, de idades e de áreas técnicas extremamente variadas desenvolvem o FreeBSD. Há sempre mais trabalho a ser realizado do que pessoas disponíveis para fazê-lo. Toda e qualquer ajuda é sempre bem vinda.

O projeto FreeBSD é responsável por todo um sistema operacional, ou seja, é responsável por muito mais que apenas um `kernel` ou alguns utilitários dispersos. Da forma como está, o nosso `TODO`, possui tarefas em uma escala muito ampla: da documentação, da realização de beta testes e de apresentação, ao instalador do sistema e desenvolvimento altamente especializado de componentes para o `kernel`. Pessoas de todos os níveis de habilidade, de qualquer área técnica, certamente podem ajudar o projeto de alguma forma.

As instituições comerciais envolvidas em projetos relacionados ao FreeBSD; também, são encorajadas a nos contatar. Você necessita de uma extensão especial para fazer seu produto funcionar? Você irá nos encontrar receptivos aos seus pedidos, desde que eles não sejam demasiadamente descabidos. Você está trabalhando em um produto que agrega valor ao sistema? Por favor, deixe-nos saber! Nós talvez possamos trabalhar em conjunto em algum aspecto dele. O mundo do software livre desafia muitos dos conceitos existentes sobre como um software é desenvolvido, vendido e mantido; e, nós o incitamos a dar ao menos uma segunda olhada.

# 1. O que é necessário?

A seguinte lista de tarefas e sub-projetos representa uma amálgama de várias listas de `TODO` e solicitações enviadas por usuários.

## 1.1. Tarefas em execução por não-programadores.

Muitas das pessoas que estão envolvidas com o FreeBSD não são programadores. O projeto inclui autores de documentação, `Web designers`, e pessoal de suporte. Tudo o que estas pessoas precisam para contribuir é algum tempo livre para investir e vontade de aprender.

1. Leia o `FAQ` e Manual do FreeBSD periodicamente. Se algo estiver mal explicado, desatualizado ou mesmo completamente errado; por favor, deixe-nos saber. Ou melhor, envie-nos uma correção. (SGML não é difícil de aprender, mas não há nenhuma objeção à submissões em formato ASCII).

2. Ajude a traduzir a documentação do FreeBSD para a sua língua nativa. Se a documentação já existir no seu idioma, você pode ajudar a traduzir novos documentos ou verificar se as traduções existentes estão atualizadas. Primeiro, verifique o FAQ sobre traduções no Primer do Projeto de Documentação do FreeBSD. Você não estará se comprometendo a traduzir todos os documentos do FreeBSD fazendo isto -- como um voluntário, você pode traduzir muitos ou poucos documentos, quantos desejar. Uma vez que alguém começa a traduzir, outros quase sempre se juntam ao esforço. Se você somente tiver tempo livre ou energia para traduzir uma pequena parte da documentação; por favor, traduza as instruções de instalação.

3. Leia a lista de discussão FreeBSD de perguntas genéricas [English Content/Conteúdo em Inglês] `<freebsd-questions@FreeBSD.org>` e o o grupo de notícias (newsgroup) comp.unix.bsd.freebsd.misc ocasionalmente (ou regularmente se possível). Pode ser muito recompensador compartilhar a sua experiência e ajudar outras pessoas a resolverem seus problemas; Muitas vezes apenas este processo o levará à aprender coisas! Estes fóruns também podem ser uma fonte de idéias para assuntos aos quais se dedicar.

## 1.2. Tarefas em execução por programadores

A maioria das tarefas listadas aqui requerem um investimento considerável de tempo ou conhecimento profundo do kernel do FreeBSD; ou, ambos. Entretanto, também existem muitas tarefas úteis que são apropriadas para os hackers de final de semana.

1. Se você executar o FreeBSD-CURRENT e tiver uma boa conexão Internet, existe uma máquina `current.FreeBSD.org` que produz um lançamento (release) completo uma vez por dia -- tente instalar diariamente o lançamento mais recente gerado e relate todas as falhas encontradas no processo.

2. Leia a lista de discussão FreeBSD de relatório de problemas (`PR`) [English Content/Conteúdo em Inglês] `<freebsd-bugs@FreeBSD.org>`. Pode existir um problema o qual você possa comentar construtivamente ou mesmo uma correção que possa testar. Ou, você pode ainda tentar reparar um dos problemas sozinho.

3. Se você souber de qualquer problema que tenha sido corrigido com sucesso no `-CURRENT` e cuja correção não tenha sido aplicada ao `-STABLE` após um intervalo razoável de tempo (normalmente algumas semanas), envie ao committer um lembrete educado.

4. Mova as contribuições de software para `src/contrib` na árvore do código fonte.

5. Tenha certeza que o código disponível em `src/contrib` está atualizado.

6. Compile o sistema (ou apenas uma parte dele) com `warnings` extras habilitados e remova os `warnings`.

7. Corrija `warnings` de `ports` que ainda fazem coisas ultrapassadas tais como utilizar `gets()` ou incluir `malloc.h`.

8. Se você contribuiu com algum dos `ports`, envie suas correções de volta aos autores originais (isto tornará sua vida mais fácil quando eles lançarem a próxima versão).

9. Consiga cópias de padrões formais tais como POSIX®. Você pode obter alguns links sobre estes padrões no sítio www FreeBSD C99 e Projeto de Conformidade com Padrões Posix. Compare o comportamento do FreeBSD àquele requerido pelo padrão. Se o comportamento diferir, particularmente em pontos sutis ou obscuros da especificação, envie-nos um `PR` sobre ele. Se você for capaz, descubra como corrigi-lo e inclua um `patch` em seu `PR`. Se você acredita que o padrão está errado, peça ao comitê de padrões que considere a pergunta.

10. Sugira novas tarefas para esta lista!

## 1.3. Trabalhe no banco de dados de `PR` (relatório de problemas)

A Lista de `PRs` do FreeBSD mostra todos os relatórios de problemas ativos no momento e os pedidos de melhoria que foram submetidos pelos usuários do FreeBSD. O banco de dados inclui tarefas para programadores e para não-programadores. Consulte os `PRs` abertos, e veja se algum deles é de seu interesse. Alguns deles podem ser tarefas muito simples que necessitam apenas que um par extra de olhos olhe para eles e confirme que a correção proposta funciona. Outros podem ser muito mais complexos, ou podem nem ter vindo com uma correção.

Comece com os `PR`s que ainda não foram atribuídos a ninguém. Se um `PR` estiver atribuído a outra pessoa, mas se parecer com algo que você possa cuidar, envie um e-mail para a pessoa encarregada do mesmo e pergunte se você pode trabalhar nele -- ele pode já ter um `patch` pronto para ser testado, ou você pode discutir novas idéias com ele.

|  | Próxima
|  | Como contribuir

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.