image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Carlos Lima
Carlos Lima20/01/2025 13:30
Compartilhe

Dicas Práticas Para Iniciar Suas Contribuições em Projetos Open Source

  • #GitHub
  • #Git

Sumário: Comece simples, faça amigos, respeite as regras e faça a sua primeira contribuição para algum projeto Open Source que gosta e acredita.

Em seus estudos ou nos projetos que encontrar em Bootcamps, haverá sempre a ausência de um elemento que apenas o mercado de trabalho pode proporcionar, a imprevisibilidade. Pensando sobre isso, busco estudar e aplicar meu conhecimento como se realmente fosse o meu trabalho. No começo pode parecer assustador mas me move em buscar situações não convencionais para ser capaz de aprender com ela. Contribuir com projeto de código aberto é um exemplo disso.

Além da imprevisibilidade você aprenderá a ter que lidar com código de terceiros, o que requer paciência, que você analise o seu próprio código tornando ele legível. Um dos maiores aprendizados que tive foi certamente aprender a formatar e comunicar PR (Pull/Request) de forma eficiente. Algo que nunca havia feito de maneira própria, sempre que precisava fazer a atualização da base de código a mensagem de commit se parecia com algo como, “agora vai”. Desde então, entendo que o detalhamento sobre a atualização é igualmente importante para a continuidade e estabilidade de um bom software. Vou falar devagar para você não entrar em pânico: no mundo real, não se escreve código sozinho.

Animado para começar, o primeiro contato com o Git e Github pode ser assustador. Se usa tem algum tempo, talvez o seu receio seja sobre o uso da comunidade, sobre quais abas explorar. É compreensível, neste caso eu lhe recomendo uma das aulas do FreeCodeCamp que trata sobre o tema em pouco mais de uma hora. 

Se você por acaso, precisa aprender como usar a ferramenta, o ensaio acaba aqui, para você. Eu sei da angústia de tentar aprender tudo ao mesmo tempo, de entender produtividade como, “espremer mais uma tarefa na sua listinha”, eu mesmo era um adepto dessa filosofia e tudo que consegui foi estresse e ansiedade. Pare, aprenda, guarde este escrito se preferir e volte mais tarde, a comparação com outras pessoas é descabida, desde que a vida é sua, você está onde deveria estar. Não há tal coisa como “estar atrás”.

Não, você não irá começar a contribuir com o Google. Se este fosse o caso, você não estaria lendo um artigo sobre contribuições. Estaria ocupado fazendo algumas, comece aos poucos, com tarefas simples e que te ajudam a construir sua confiança. Isto pode significar muitas vezes uma mera tradução, correção de erros gramaticais no README file. Nesta etapa você quer entrar em contato com a comunidade. Quem sabe conhecer pessoas, eu prefiro construir laços antes de fazer contribuições arbitrárias em código alheio. Você pode sumarizar esta primeira etapa como, conheça bem o seu “inimigo”. Entenda quais tecnologias foram usadas, qual o propósito do projeto, quais issues foram abertas, quais foram fechadas.

Quando você for notado, após esforço e comprometimento, as pessoas estão prontas para te apoiar e corrigir adequadamente quando cometer erros. Algumas práticas que eu costumava adotar e ainda o faço, quando não sou capaz de contribuir com código, incluem: promover o repositório, traduzir arquivos, responder perguntas, documentar erros.

Em algum momento você estará apto e confiante para escrever código, chegou o grande dia. Lembre-se, você manteve a cautela até aqui, continue. Analise o repositório, defina quais são os principais módulos, classes e função. Será pouco provável que entenda cada linha de código, você é marinheiro de primeira viagem em um mar de anos de código e contribuições. A sua missão é ver a floresta, “the big picture”, não apenas uma árvore. Entenda como todas essas coisas conversam entre si, com a experiência do contato com o repositório você começará a enxergar oportunidades. 

Encontrou? Se você compreende bem o nicho que escolheu, você sabe em qual estilo as alterações precisam ser feitas. Para tanto, você precisa ser capaz de responder às seguintes perguntas: Como criar um bom PR para este repositório? Quando o último PR foi feito? Há uma padrão geral para o design dos dados?

As perguntas além de garantirem que se trata de um repositório ativo, possibilitarão você contribuir da forma correta, lembre-se, mesmo pequenos passos, feitos com disciplina podem te garantir bons frutos.

Recentemente contribui com dois projetos em dois graus diferentes de complexidade, o primeiro foi para o repositório DataExpert-io, onde eu simplesmente sugeri a adição de um novo paper. Simples, percebe? Mas, este pequeno passo me possibilitou meses depois, migrar o modelo generativo de um dos projetos do repositório do FastHTML do Claude para o Pixtral. No futuro posso falar o que aprendi sobre, inclusive é algo que você pode fazer enquanto faz suas contribuições. Isto inspira pessoas, uma das razões pelas quais iniciei a minha jornada foi depois de ler o blog cprimozic.net com título, “Fixing a Bug in Google Chrome as a First-Time Contributor”

Em suma, comece simples, mas comece. Aprenda as ferramentas necessárias para tal. Faça amigos, construa uma relação com a comunidade, ganhe confiança e então contribua. Eu sei que para clichê mas eu vou ter que falar, faça algo que lhe agrada. A sugestão de mudar o LLM no repositório da FastHTML para o Pixtal foi porque ele é, diferente do Claude, um modelo Open Source, o que significa que você tem acesso a API para fazer seus próprios testes. Eu contribui, simplesmente, porque queria que mais pessoas tivessem acesso a aplicação.


Nota do autor

  • Seja paciente sobre possíveis erros gramaticais, a julgar pela recorrência deles você sabe o quanto eu usei o ChatGPT ou qualquer outra ferramenta para escrever o mesmo.
  • Este trabalho levou tempo para ser pesquisado e filtrado, escrever é uma tarefa nobre e árdua. Se sentir confortável, deixe seu feedback (construtivo).
  • Em caso de dúvidas, deixe nos comentários abaixo (farei o possível para responder a tempo).

Você também pode me encontrar aqui, ou me seguir na DIO para conteúdo dessa natureza:


Outros ensaios na DIO


Compartilhe
Comentários (1)
DIO Community
DIO Community - 20/01/2025 15:46

Que show, Carlos! A forma como você abordou o tema de contribuições em projetos open source é clara, prática e extremamente motivadora, especialmente para quem está começando. Você destacou pontos fundamentais, como a importância de começar com tarefas simples, construir relações na comunidade e entender o repositório antes de fazer contribuições maiores.

O foco em práticas como criar Pull Requests bem detalhados, explorar a aba Issues e promover repositórios demonstra uma visão madura sobre o processo colaborativo. Além disso, a ênfase em aprender com calma e respeitar o próprio ritmo é um conselho valioso para evitar a ansiedade comum ao iniciar nesse universo.

Na sua opinião, qual foi o maior aprendizado ou desafio ao fazer suas primeiras contribuições em projetos open source?