Por que contribuir com projetos open source

Por que contribuir com projetos open source

Publicado em: 20/4/2016

Já pensou em participar do desenvolvimento de grandes projetos? Já ouviu falar de open source (código aberto)? Contribuir para projetos open source é a porta de entrada para você codar em grandes projetos ao mesmo tempo em que trabalha com os melhores desenvolvedores do mundo.

Quando falamos em contribuir para a comunidade open source, primeiro devemos entender os conceitos que estão por trás do open source para conhecer esse novo mundo. O open source é exatamente o que o nome diz: o código do projeto está aberto e qualquer um pode abrir e olhar o código. Um ponto que vale ressaltar é que qualquer licença de software livre é open source, mas o contrário não (open source ser software livre), isso porque no software livre você pode:

  • Executar o software como desejar, para qualquer propósito;
  • Estudar o software e adaptá-lo como quiser;
  • Redistribuir cópias para ajudar outros;
  • Distribuir cópias de suas versões modificadas.

Existem muitos fatores pelos quais usar open source, entre eles estão:

  • Ser gratuito;
  • Você tem liberdade para personalizar;
  • Não há dependência de um fornecedor;
  • Possibilidade de implementar novas features de acordo com sua necessidade.

Dentro das vantagens citadas uma das melhores possibilidade é poder personalizar e implementar novas features. Agora reflita: se essa feature me ajudou, será que ela não poderia ajudar outras pessoas também? Não é só isso, vai muito além e, a seguir, vou citar cinco dos pontos mais importantes quando falamos em contribuir para projetos open source.

// Ajudar

Esse é um ponto chave na minha visão, pois eu gosto de facilitar a vida das pessoas com aquilo que eu sei fazer e nada mais justo do que facilitar a vida de outros devs, implementando features e resolvendo bugs de uma ferramenta que eles usam diariamente.

// Aprender

Se você ama desenvolver, assim como eu, você vai achar esse um dos pontos mais fantásticos de contribuir para um projeto open source. Pois você está vendo o código de outras pessoas e vai precisar não só entender, mas interagir com ele. Por muitas vezes o código pode já ser bem antigo e você tenha que refatorar ou alterar algo para ficar melhor com relação ao que você está fazendo.

// Networking

Não tem melhor maneira de conhecer devs com mais experiência e bagagem que você do que dentro de uma comunidade de projeto open source. É aqui que você vai ter a oportunidade de vivenciar como é trabalhar com os caras mais feras do mercado.

// Visibilidade

Aquela velha frase “Quem não é visto não é lembrado” se encaixa perfeitamente aqui, quando você passa a contribuir com a comunidade você é mais visto e consequentemente você se destaca, mas não contribua pensando nesse ponto ele é apenas uma consequência.

// Portfólio

Esse vale principalmente para os iniciantes que além de não possuir muita experiência, não tem muitos trabalhos para mostrar. Nada melhor do que contribuir para que possa ter projetos legais no seu portfólio e aliar a experiência de ter trabalhado com grandes nomes da área.

Temos muitos motivos para contribuir, mas agora pergunta que fica é: como contribuir? Para facilitar vou citar os principais passos para começar a contribuir hoje mesmo.

// Conhecer um projeto open source

Certamente você já conhece projetos open source, são os casos de linguagens de programação como PHP, Javascript, Python, Ruby e frameworks como Laravel, Symfony, AngularJS, React, Django, Rails que provavelmente você já utilizou ou ouvir falar, além desses há uma infinidade de ferramentas e bibliotecas.

Existe basicamente duas formas de conhecer projetos. A primeira forma é usá-lo. Com isso, você passa a querer contribuir por usar. Sendo essa uma das formas mais interessantes, pois o fato de conhecer o projeto facilita a visualização de features e bugs.

A segunda forma é você buscar projetos aleatoriamente na web para contribuir. Por não ter um conhecimento prévio de uso do projeto, isso pode evitar alguns vícios adquiridos ao usá-lo. Se optar por essa forma recomendo usar o CodeTriage, com ele você encontra projetos open source, sendo possível filtrar por linguagens e selecionar projetos para receber newsletters de issues.

// Ver como contribuir

A maioria dos projetos open source estão no GitHub e quando você acessa o repositório, além do código fonte do projeto você encontra o README do projeto, que normalmente possui informações de como contribuir na seção contribuing. Cada projeto tem suas particularidades e é comum a todos a necessidade de fazer um fork do projeto para começar a mexer no código.

// Ver as necessidades do projeto

Agora você já escolheu um projeto e viu as regras para contribuir. Mas o que de fato fazer para melhorar o projeto? Quando contribuo, costumo olhar as issues, que são features e bugs que outros usuários do projeto detectaram e estão solicitando aos mantenedores do projeto. Em alguns projetos, como é o caso do React, eles já criaram uma label identificando issues para quem quer começar a contribuir. Após escolher uma issue, só falta colocar a mão na massa.

// Codar e fazer um PR (pull request)

Essa é a parte que todo mundo gosta! Neste ponto, você já terá o seu código seguindo as regras do projeto. Ao terminar, precisa abrir um PR do seu fork/branch para o repositório principal do projeto, para a branch definida nas regras. Após abrir o PR haverá interações entre os já contribuidores do projeto e você para ajustar algumas coisas no PR. Após ser aprovado, ele é mergeado e provavelmente ficará disponível no próximo release do projeto.

Espero ter passado uma nova visão para vocês de como é importante e simples contribuir com a comunidade open source. Dúvidas, comentários e sugestões? Deixe nos comentários!

Publicado originalmente em iMasters