Executando verificação de segurança...
5

A dificuldade de achar projetos Open Source sendo Junior

Eu programo há algum tempo como hobby. Sempre gostei de aprender por conta própria, testar ideias e construir pequenos projetos.

Mas, neste último ano, decidi dar um passo além e me profissionalizar de verdade. Foi aí que comecei a sentir uma dificuldade: encontrar projetos Open Source que ainda estejam no começo e onde minha contribuição realmente faça diferença.

Muitas vezes os repositórios já estão muito avançados, com arquiteturas complexas, padrões bem definidos e uma curva de entrada alta. Como dev em processo de crescimento, às vezes parece difícil encontrar um espaço onde a ajuda seja realmente útil e não apenas superficial.

Queria saber: isso acontece só comigo ou outros devs (principalmente juniores) também sentem essa dificuldade?

Talvez a solução seja outra…
E se a gente se unisse para começar um projeto Open Source do zero?

Um projeto colaborativo, feito por devs que estão evoluindo juntos, aprendendo na prática, errando, melhorando e construindo algo relevante ao mesmo tempo.

Se você também sente essa dificuldade, comenta aqui.
Quem sabe esse post não seja o início de algo maior 🚀

Carregando publicação patrocinada...
8

E se a gente se unisse para começar um projeto Open Source do zero?

Nada te impede de começar um sozinho, não tente fazer algo complexo, não tente reinventar a roda, faça algo pequeno e que resolva um problema específico.

isso acontece só comigo ou outros devs (principalmente juniores) também sentem essa dificuldade?

Todos os iniciantes ficam perdidos. Eu lembro que minhas primeiras contribuições foram pra projetos muito pequenos de plugins de Minecraft.

Encontrei um plugin com um problema e investiguei até encontrar a solução. Não sabia resolver então abri uma discussão no Github informando tudo que eu tinha encontrado, incluindo qual era a função do código problemática e com que parâmetros ele tinha que testar.

Com essas informações ele corrigiu o plugin rapidamente.

comecei a aprender a programar plugins, fiz diversos sozinho, desde utilitários pequenos a minigames complexos.

Sabendo programar muito bem me aliei a youtubers grandes e comecei a criar servidores inteiros.

Virei referência no desenvolvimento de plugins e servidores. Fiz projetos gigantescos, e em um desses projetos conheci meu atual sócio.

Sim, uma das minhas empresas (que não tem nada a ver com jogos) começou comigo sabendo resolver um problema no Minecraft.

1

Realmente... Existe essa dificuldade.

Mas podemos pensar em algumas coisas.

  1. Escopo: repos q usem stacks q vc ja sabe alguma coisa. N adianta tentar contribuir para uma linguagem q nunca usou.

  2. Contribuir para algo q vc ja usa, boa parte das coisas q usamos são opensource, uma lib, plugin, template etc. Por exemplo eu usei bastante uma lib específica de python para evaluation de llms (RAGAS). Lá eu tinha um problema, entrei no discord e perguntei se alguém tinha uma solução, o mantenedor criou uma issue para isso e eu mesmo fui lá e desenvolvi a solução.

  3. Existe muitos projetos opensource tanto no início quanto mais maduros q são bons para first pr/issue. Vc só precisa acha-los. Aqui no tabnews é comum alguém fazer um projeto colocar opensource e pedir contribuição.

  4. Mentalidade: pq vc esta contribuindo? Pq vc gosta muito daquela lib, pq gosta da stack, pq quer criar portfólio/network. O seu pq vai de dar um norte para qual tipo de projeto quer ajudar.

  5. Bom senso: faça bem feito, a galera percebe quando um código e PR foi gerado totalmente por i.a de qualquer jeito. Veja o perfil daquele repo, ele esta morto, possui muitas issues cheio de teia de areia? Os mantenedores são aqueles religiosos radicais q implicam com tudo? Se tiver muitos negativos n vale a pena gastar tempo nisso, veja onde esta se metendo. Seja humilde, tente fazer parte da comunidade (discord, conversar etc). E não chegar do nada querendo jogar um monte ideias, isso pode soar como um intrometido sabe.


Mas tenha certeza, existem vários repos muito interessantes, vai ter q cavar até achar um

1

A curva de entrada em projetos consolidados parece alta porque você está olhando pro output (a arquitetura polida, os padrões estabelecidos), não pro processo.
Repara: esses projetos são justamente os que têm good-first-issue e maintainers com paciência de monge. A comunidade open-source adora mentorias, é tipo vício, se você aparece com humildade e um PR que resolve algo real, os caras te explicam absolutamente tudo.

Mas aqui vai a verdade: essa metodologia de "achar projeto para colaborar" é meio quebrada. Você caça repositório no GitHub como se caça emprego no LinkedIn, tudo genérico, distante, abstrato. O resultado? Você contribuindo pra corrigir um typo no README de lib que ninguém usa, achando que fez network.

A solução é óbvia e ninguém fala: colabore com o que você já usa. Aquele parser de Markdown que te irrita? Aquela CLI que falha quando o path tem espaço? Você já sabe o que falta. Começa aí. O "contexto de domínio" que você acumulou usando a ferramenta vale mais que qualquer arquitetura limpa que você vá inventar do zero.

E se tá estudando, investe no GSoC (Google Summer of Code). Não é só pelo dinheiro (que é bom), é pela estrutura: eles literalmente te ensinam como a comunidade de codigo aberto funcioan..

1
1

Fala maninho, realmente, é muito dificil conseguir projetos open source no começo, é até assustador.

Eu não sei qual o seu conhecimento, ou o que você está procurando, mas, como um membro do Tab disse aqui nos comentários, nada impede você de começar o seu projetinho.

Eu tinha criado um repo (uns 2 meses atrás) com esse exato foco, fazer um projeto OSS para resolver uma dor para a comunidade, um encurtador de link muito rápido.

Acabou que os trampos e freelas estão consumindo todo o meu tempo, mas se quiser dar uma olhada:

https://github.com/luannzin/the-fastest-url-shortener

O projeto tá no start ainda, não tem integração com db, mas da uma olhada na estrutura de pastas, tenta entender oq o dono do repo (el hombre que vos fala) estava pensando quando começou o projeto, fazer isso vai te ajudar a entender projetos maiores.

Boa sorte, parceiro.

1
1

É normal esse sentimento, fique tranquilo. Contribuir com um projeto não precisa ser difícil. Claro que alguns já tem toda uma dificuldade de entrada, mas isso é assim para impedir pessoas mal-intencionadas. Normalmente os projetos tem algumas issues com uma label "Good First Issue" ou "Good First Contribution", então procure por elas. Se quiser ajuda pra achar, me diga um ou mais assuntos que você tenha interesse que eu posso te indicar alguns projetos (eu tenho um histórico de contribuição e de pesquisa de projetos)

1

Eu agradeceria muito essa ajuda, me interesso em qualquer tipo de projeto que posso contribuir no back-end, principalmente se fosse com alguma stack envolvendo JS.

1

Infelizmente foi um pouco difícil achar alguns bons exemplos (não são o tipo de projeto que mais curto).

  • O mais óbvio que você pode contribuir é com o próprio tabnews
  • Tem alguns projetos de JS/TS nesse repo
  • E você pode encontrar issues para iniciantes nesse dois sites (1 e 2)
1
1

Me encontro na mesma situação, e acho que seja bem comum mesmo. Se você for iniciar algo, compartilha aqui, e vai ser bem legal estar colaborando com o projeto.

0