Uso open source todo dia há anos, a começar pelo Linux, mas só comecei a contribuir de verdade há alguns meses. O primeiro projeto foi o OpenTofu.
Começou com um problema meu. Uso o OpenTofu com Terragrunt Stacks, e a saída do plan das units sem mudanças era poluída demais, então abri uma issue.
Um tempo depois, perguntei se eu mesmo podia resolver. Os mantenedores atribuíram a issue pra mim, revisaram meu PR e fizeram o merge. Era uma correção pequena, mas resolveu o meu problema.
Depois tentei algo mais difícil: um panic no comunicador SSH quando um proxy HTTP falha no handshake CONNECT. Esse também foi mergeado.
Algumas coisas facilitaram continuar. O repositório é bem organizado, e as labels das issues mostram o que já dá pra pegar. Pedir pra pegar uma issue é simples. E o Slack da comunidade é aberto; o pessoal lá me ajudou a achar no que trabalhar depois.
Já são quatro PRs mergeados, e comecei a contribuir também com o tofu-ls, o language server do OpenTofu. Meu primeiro PR lá está em revisão.
Estou aprendendo bastante com isso. Estou escrevendo mais Go e conhecendo uma codebase grande por dentro: como uma mudança num lugar afeta outros, e quais padrões os mantenedores preferem.
O OpenTofu pede pra não usar assistentes de código com IA, por questões de copyright, então escrevo todo o código eu mesmo. Acho que isso me fez aprender muito melhor a codebase.
Se você quer começar a contribuir, escolha um projeto de que gosta e comece por um problema que você realmente tem. Leia as diretrizes de contribuição e desenvolvimento e siga elas. Abra uma issue (ou encontre uma), peça pra trabalhar nela e espere um mantenedor concordar antes de começar.
Obrigado aos mantenedores do OpenTofu por me receberem tão bem.