seungwon

Experiência de Contribuição de Código Aberto

  • Idioma de escrita: Coreana
  • País de referência: Coreia do Sulcountry-flag
  • TI

Criado: 2025-05-03

Atualizado: 2025-05-27

Criado: 2025-05-03 00:00

Atualizado: 2025-05-27 09:42

Este artigo tem como objetivo dar coragem àqueles que estavam interessados em código abertomas tinham medo de 'Eu me atrevo?', 'Por onde devo começar?'.

Hoje, quero compartilhar minha experiência de ter ousado bater na porta do código abertoe aprender e sentir no processo.

Código aberto?

Quando você estuda desenvolvimento, você frequentemente encontra o termo 'código aberto'. Se você olhar para o GitHub, há inúmeros projetos que estão movendo o mundo com seus códigos abertos.

Projetos que tornam o código público desta forma são chamados de 'código aberto'.
Por exemplo, há grandes projetos de código aberto como OpenJDK, Spring Framework, Redis e React.

Contribuição para o código aberto

Fiz um total de 4 contribuições para projetos de código aberto até agora. Estou contribuindo encontrando pequenas e pequenas melhoriasde código aberto, em vez de adicionar recursos que abalem o mundo.

Eu não sei o estilo de código dos projetos acima e não sei exatamente como eles funcionam.

Você pode ver que você pode contribuir para a comunidade mesmo sem entender perfeitamente o código. Eu estudo desenvolvimento há apenas 2 anos e não sinto que tenho talento para isso.

Eu apenas continuo essas atividades porque gosto de contribuir para projetos de código aberto e comunicar na comunidade de desenvolvedores.

Por que eu queria contribuir para o código aberto?

Francamente, no início, não estava completamente isento de pensamentos como 'Não seria bom adicionar uma linha ao meu currículo?'. Foi bastante grande. Mas houve uma motivação maior. Foi o desejo de 'aprender mais profundamente' e a necessidade de 'resolver os problemas que enfrentei'.

Tive a oportunidade de estudar profundamente o Project Reactor, a tecnologia básica do Spring WebFlux, em um projeto de equipe. Entendi os conceitos através de livros e documentos, mas no sistema complexo real, era uma área onde eu só podia saber como funciona e como otimizarvendo o código diretamente e enfrentando-o. Além disso, eu costumava me preocupar com 'Como posso provar que estudei muito o Reactor?' e tive a sensação de que eu deveria contribuir para o código aberto!

Assim que decidi 'quero contribuir!', fiquei perplexo com onde começar. Tudo, desde encontrar a parte que eu iria modificar em um código extenso até prever o impacto que minhas alterações teriam no sistema geral, era assustador.

Parece que levou muito tempo para finalmente registrar a PR porque eu pensava muito: 'O que acontece se eu enviar uma PR como eu e for repreendido?',

O Reactive Command do Lettuce, o cliente Java Redis que eu usava como uma pilha reativa, foi baseado no Reactor, e eu queria melhorá-lo modificando diretamente a cadeia do Reactor com base no aprendizado do Reactor.

Apenas criei um fork aleatoriamente e analisei todo o código que incluía as correspondências de string 'Reactive' e 'reactor'. Eu verifiquei todo o código que foi construído com o Publisher Reactor, como Mono e Flux.

Enquanto examinava o código, felizmente encontrei um código que usava a cadeia do Reactor, mas a legibilidade era um pouco ruim e o encadeamento de métodos não estava correto. Não foi uma melhoria de recurso ou alteração de arquitetura que abalaria o mundo, mas foi um problema pequeno e claro dentro do escopo que eu poderia entender e modificar. Eu pensei, 'Ah, se for assim, eu também posso contribuir!

Com base no que eu descobri, modifiquei cuidadosamente o código e verifiquei se ele funcionava como pretendido no ambiente local. Embora tenha sido uma pequena alteração, tentei o meu melhor para seguir o estilo do código existente e, pensando se isso afetaria outras partes, eu me aproximei com cautela.

Era hora de enviar a PR depois de confirmar o conteúdo modificado. Honestamente, houve muitos pensamentos e hesitações até pressionar o botão 'Enviar'. Preocupa-me: 'Está tudo bem enviar a PR com essa alteração?', 'Não vão dizer que eu consertei algo óbvio?', 'Eu posso escrever uma boa explicação em inglês?'

Como eu disse antes, eu estava com muito medo de ser repreendido por causa da minha falta. Mas, com a ideia de que 'começar é metade do caminho' e 'você não pode aprender nada sem tentar', eu dei coragem e apresentei a PR, descrevendo o conteúdo que alterei e o motivo com o máximo de detalhes possível.

Experiência de Contribuição de Código Aberto

redis/lettuce - #3061

Finalmente, minha PR foi 'Mesclada', e eu senti uma grande sensação de realização e orgulho pelo fato de que o código que escrevi e modifiquei se tornou parte de um famoso projeto de código aberto usado por inúmeros desenvolvedores.

Acima de tudo, foi o ganho de confiança de 'Eu também posso fazer isso!'.

Você está hesitante em contribuir para o código aberto agora?

Não tem problema não entender completamente. Você pode começar com pequenas partes como eu. Existem muitas maneiras de contribuir, como corrigir erros de digitação de documentos, participar da tradução e relatar bugs simples. O importante é a coragem de dar o primeiro passo além do medo.

Se você cometer um erro, é também uma oportunidade de crescer ainda maisrecebendo feedback da comunidade através desse erro.

Embora também seja uma oportunidade valiosa para adicionar uma linha ao seu currículo, a contribuição de código aberto baseada em aprendizado também pode ser um meio de provar que você realmente estudou muito.

Não é possível registrar comentários neste post.