Como contribuir com open-source
…e um pouco sobre filosofia, o Github, o universo e tudo mais
Disclaimer:
A partir de agora, todos meus novos artigos serão lançados no meu blog pessoal:
https://www.felipefialho.com/blog/
O mais legal é que o código é aberto e vocês podem me ajudar a corrigir erros ou mesmo sugerir melhorias nos textos 😜
Aguardo sua visita!
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:
- MeetupCSS (~2mil membros)
- Conferência CSS Brasil (500 participantes)
- FrontEndBR (~2mil stars)
- frontend-challenges (~1.8mil stars)
- css-components (~400 stars)
- kratos-boilerplate (~200 stars)
- piano (~150 stars)
- despolitizador (~100 stars)
- Surveys Frontender
- Escrevi artigos técnicos
- Escrevi artigos não-técnicos
- Fiz experimentos no Codepen
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.
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…
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údos em vídeo
- Criar cursos
- Palestrar
- etc
Responder dúvidas?
- Participar de fóruns de desenvolvimento
- Stack Overflow
- Grupos de Telegram
- Grupos do Slack
- 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
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 😍
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 criticas.
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
nfelizmente é 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 🖤💙
Me acompanhe por aí…
Youtube: @felipefialhodev
Twitter: @felipefialho_
Github: @felipefialho
Site: felipefialho.com