Como contribuir com open-source

…e um pouco sobre filosofia, o Github, o universo e tudo mais

Estou no mundo de desenvolvimento web desde 2009.

De lá pra cá tive acesso a milhares e milhares de libs gratuitas, desenvolvidas por pessoas que não se limitaram a criar algo só pra elas usarem, pensaram no todo, e compartilharam para que outras pessoas também pudessem usar.

Mas esse é só um ponto. E é só código.

Tem todos os outros pontos

Você já fez qualquer uma dessas coisas?

  • Gerou conteúdo?
  • Palestrou?
  • Respondeu dúvidas?
  • Compartilhou conhecimento?
  • Ajudou em projetos ou libs?
  • Organizou eventos?

Pra mim é tudo open-source, **e **muito open-source.

E essa é uma questão que acho fundamental e um ponto de vista muito pessoal. Fazer open-source é uma filosofia, e vai muito além das issues ou pull-requests do Github, é também: ajudar, aprender e ensinar.

É muito sobre gerar valor real para um grupo de pessoas (online e offline).

Me apresentando de novo

Sou Felipe, e no decorrer da minha carreira criei e participei de milhares de iniciativas de desenvolvimento.

Em 2012 criei esse Cartman para estudar CSS e não parei mais.

Só para citar algumas:

São coisas das mais variadas: eventos, organizações, idéias, projetos, ideais, geração de conteúdo.

E pra mim, em todas elas, fiz open-source.

esse dia foi loko esse dia foi loko

E por que contribuo?

Temos acesso a inúmeros conteúdos, projetos, libs e ajuda das pessoas. Todos nós deveríamos retribuir com o que nos foi disponibilizado de graça. Felipe Fialho

Contribuição é o que faz o mundo de desenvolvimento ter evoluído tanto nos últimos anos.

Através dessas contribuições, ideias são geradas, projetos são desenvolvidos, libs são construídas, tecnologias se desenvolvem e o mais importante:

Pessoas são impactadas, compartilhando conhecimento e dando continuidade nesse ciclo.

O reflexo disso é sentido até mesmo no mercado de trabalho, com mais gente capacitada e se conectando, a profissão tende a se tornar mais madura, importante e valorizada. Causando assim, melhorias nas condições, benefícios e salários.

E não é só isso…

bruxobruxo

Open-source também pode ajudar a mostrar suas habilidades para o mercado.

É possível verificar suas habilidades técnicas em:

  • Códigos
  • Layout
  • Lógica
  • Algoritmos
  • Metodologias
  • Padrões.

E também dá pra analisar suas soft skills como:

  • Comprometimento
  • Responsabilidade
  • Organização
  • Liderança
  • Trabalho em equipe
  • Etc.

Exemplo disso?

Para organizar um evento, a pessoa precisa de TODAS as soft-skills listadas acima.

E ela está mostrando na prática que tem essas qualidades

Interessado em contribuir? Aqui vão dicas

Como disse, existem muitas maneiras de ajudar.

Gerar conteúdo

  • Escrever artigos
  • Criar experimentos no Codepen
  • Criar conteúdo em vídeo
  • Criar cursos
  • Palestrar
  • etc

Responder dúvidas?

  • Participar de fóruns de desenvolvimento
  • Stack Overflow
  • Grupos de Telegram
  • Grupos do Slack
  • Twitter
  • LinkedIn
  • No trabalho

Organizar eventos

Você pode ajudar:

  • Com patrocínios
  • Com o coffee
  • Com os equipamentos
  • Oferecendo o local
  • Com a organização
  • Recolhendo os lixos
  • Organizando as cadeiras

Ajudar em projetos ou libs

Basta dar uma rápida passada no Github e vai notar diversos projetos em que você pode ajudar:

  • Criando documentação
  • Abrindo issues
  • Respondendo issues
  • Abrindo pull requests
  • Revisando pull requests

Falando em Github

0 RspmpLKEQLa Uy9X

Não é exagero falar que o Github está para projetos open-source como o Google está para a internet.

E o Github é uma rede social

Isso significa que você pode seguir as pessoas e ver suas rotinas como developer:

  • Codando
  • Dando star em projetos
  • Abrindo issues
  • Etc

Isso é muito valioso.

Que tal trocar aquelas horinhas que você passa rolando a timeline do Facebook por rolar a timeline do Github? 😜

Algumas dicas no Github

As dicas a seguir podem ser utilizadas em qualquer rede similar.

1. Pesquise antes de começar um projeto

Existem grandes chances de existir uma ou mais iniciativas com a mesma ideia que você teve.

Portando avalie se não vale a pena contribuir em um desses projetos já existentes.

Ter menos projetos, mas robustos e testados é melhor do que existir milhares de projetos repetidos que não gerem tanto valor.

2. Não tenha medo de ajudar com documentação

Documentação é uma das coisas mais importantes do projeto, é ela que guia o usuário, no caso, o próprio developer que vai utilizar o projeto.

Apesar dessa importância, muitas vezes são subvalorizadas e você ajudaria qualquer projeto com tarefas de revisão, correção ou mesmo tradução do texto.

E o melhor, você pode fazer isso diretamente do Github, sem precisar abrir uma linha de código.

3. Abra issues

Caso encontre bugs ou tenha sugestões, abra uma issue (pesquise antes para não duplicar).

Isso vai ajudar os responsáveis a mapear as melhorias e correções que precisam fazer.

4. Abra pull-requests

Abrir issues é importante, mas vá além. Tente resolver.

Isso vai ajudar não só no projeto, como vai servir como grande fonte de estudo.

Até hoje não esqueço desse meu pull-request mergeado no Boostrap, num inglês bizarrísimo 😍

1 ukSvk4hGI4nw4sEhte7kyQ

5. Siga os padrões do projeto

Seja para issues, pull-requests, códigos ou documentação.

Se tem um padrão, ele deve ser respeitado. Apesar de parecer chato, isso é de extrema importância na organização e manutenção do projeto.

De quebra você vai ter contato com novas formas de estruturar e desenvolver.

6. Não tenha medo de feedbacks

Sempre que estiver participando de qualquer projetos com terceiros ou desenvolver códigos abertos, você pode receber críticas.

Caso receba um feedback construtivo, encare de forma positiva. Tente absorver as informações e melhorar nos pontos citados.

Isso vai te fazer evoluir profissionalmente e pessoalmente.

7. Tenha responsabilidade

Infelizmente é comum ver pessoas empolgadas com um projeto, se comprometendo com tasks, mas sumindo na hora de desenvolver.

E isso acontece em todas as “áreas” do open-source, desde pessoas que se oferecem para ajudar nos eventos, até pessoas que se comprometem com pull-requests.

O resultado disso, é que as pessoas que de fato estão fazendo, precisam trabalhar em dobro para conseguir fazer a entrega.

Não seja essa pessoa.

Se você se comprometeu com uma tarefa, faça.

O nome disso é responsabilidade.

8. Faça para aprender

Fazer projetos simplesmente para aprender, recriar libs para estudar, criar coisas para se desafiar é importantíssimo no decorrer da carreira.

Não deixe sua curiosidade e interesse ficar esquecido no decorrer do tempo.

Isso que torna as coisas tão legais na nessa profissão e faz com que pessoas e projetos incríveis surjam a todo momento.

Outro ponto, é que linguagens de programação são como qualquer outra habilidade, então a melhor forma de aprender e melhorar é: praticando.

Projetos open-source podem ajudar muito a colocar em prática as coisas que você está estudando no dia-a-dia.

Considerações finais

O open-source: foi, é, e vai continuar sendo fundamental na evolução da profissão e porque não… do mundo e da sociedade como um todo.

Participar disso, talvez seja… colocar o seu nome na história.

Nóis 🖤💙