Mês do Open Source na RD
A história da Resultados Digitais está diretamente relacionada a projetos Open Source, pois boa parte da nossa Stack se baseia nesses projetos. Somos heavy users de Ruby on Rails, RSpec e Kubernetes, por exemplo.
“Escrever código sempre pensando em abrir para a comunidade”, essa é uma prática do nosso time de Produto e Engenharia, descrita em nosso Playbook. Pensando dessa forma, desenvolvemos com mais qualidade, códigos com menos acoplamento, responsabilidades bem definidas e mais fáceis de ler.
Com objetivo de alavancar cada vez mais essa prática dentro do time, criamos, em Abril de 2019, o Mês do Open Source na RD. Fizemos algumas ações para incentivar o nosso time a criar e contribuir com projetos Open Source, sendo eles da RD ou da comunidade.
Como surgiu a ideia
Buscando aumentar o engajamento da área com projetos Open Source da RD e da comunidade, fizemos uma pesquisa interna para entender a situação e como poderíamos contribuir mais com a comunidade por meio das nossas experiências.
A partir da pesquisa, descobrimos que todas as pessoas do nosso time tinham interesse de contribuir com a comunidade de alguma forma. Entretanto, várias não estavam mais conseguindo contribuir, e algumas delas nunca tiveram a oportunidade de contribuir durante sua carreira. As principais dificuldades e barreiras citadas para contribuírem com open source foram: falta de mentoria técnica, não saber por onde começar, falta de oportunidade e tempo.
Com o resultado da pesquisa, surgiu a ideia de fazer um evento para alavancar as contribuições. A ideia inicial foi um Hackathon de um dia para trabalhar nos projetos Open Source da RD, o que acabou evoluindo para um mês inteiro. Assim, as pessoas teriam mais oportunidades de contribuir tanto para projetos da RD quanto para projetos da comunidade.
Como foi o mês
Planejamos o mês do Open Source pensando em resolver os dois principais motivos de não contribuição citados na pesquisa: mentoria e oportunidade, para remover as barreiras do time.
Mentoria
Para cada um dos projetos, definimos um ou mais mentores, com o objetivo de ajudar os RDoers a darem o primeiro passo e remover impedimentos futuros.
Separamos os projetos em duas categorias:
- Open Source da RD: selecionamos alguns projetos e definimos os mentores, os quais, em geral, já eram especialistas naquele projeto;
- Open Source da Comunidade: como temos muitas pessoas contribuindo regularmente com a comunidade Open Source, definimos elas como mentoras dos projetos que já contribuem. Assim, RDoers interessados em contribuir com um projeto fora da RD, teriam mentoria.
Antes de iniciar oficialmente o mês, cada mentor fez um vídeo com explicações a respeito do seus projetos, principais necessidades de contribuições, e compartilhou com a área, para que todos pudessem conhecer os projetos disponíveis e avaliar quais iriam contribuir ao longo do mês.
Oportunidade
Montamos uma agenda para o time conseguir se dedicar 100% em algum projeto que fosse do seu interesse, criando assim a oportunidade e proporcionando o tempo necessário. Reservamos dois dias para o evento: o dia da abertura e o dia de encerramento.
Abertura foi o ponto auge do Mês do Open Source, por dois motivos:
- Na abertura, tivemos uma AMA Session (Ask Me Anything) com uma das maiores referências Open Source do Brasil, José Valim, que foi membro do Rails Core Team durante alguns anos, criador da linguagem Elixir, Fundador e atual Diretor de P&D da Plataformatec.
2. Só no primeiro dia, tivemos 39 pessoas contribuindo. Foram 65 contribuições ao todo, em 12 projetos diferentes (sendo 7 projetos da RD e 5 da comunidade). Várias pessoas fizeram o seu primeiro Pull Request para um projeto Open Source da sua carreira. Foi uma grande conquista para todos. Inclusive, tivemos um PR mergeado por José Valim, figura ao lado.
Nos demais dias do mês, cada RDoer ficou responsável por negociar com o seu time um timebox para poder se dedicar aos projetos. Dessa forma, as contribuições continuaram acontecendo, junto às demandas dos times.
Ao longo do mês, fizemos uma DemoBeer, onde os mentores apresentaram a evolução dos projetos e a importância das contribuições, além de ficarem disponíveis para sanarem dúvidas.
Bate-papo com José Valim
A conversa nos trouxe muitos aprendizados sobre a experiência que Valim teve ao longo da sua carreira, desde os tempos de Rails Core Team member, sobre a criação do Elixir e alguns fatos curiosos e engraçados que ocorreram ao longo desses anos em comunidades Open Source. Também falamos sobre dicas sobre produtividade, gestão de tempo, e como ele consegue ser tão ativo na comunidade, e ao mesmo tempo ser diretor de empresa e pai de 2 filhos.
Toda a conversa foi feita online, uma vez que Valim vive na Polônia, e o nosso time estar distribuído pelo Brasil e pelo mundo. Assim, todos puderam participar!
Resultados
Foram dezenas de contribuições neste mês, resultando em uma alta participação da área. Além de contribuirmos com a comunidade, o evento como um todo serviu como um Team Building, tendo muitos desafios, aprendizados e diversão.
Alguns números do Mês do Open Source na RD:
- 65 pessoas fizeram pelo menos uma contribuição (e ganharam uma camisa).
- Em torno de 200 contribuições feitas ao todo.
- 22 projetos tiveram pelo menos uma contribuição (7 projetos da RD e 15 da comunidade).
- Contribuímos em 5 linguagens de programação: Elixir, Golang, Rust, Ruby e Javascript.
Destaques
Matrix: foi o projeto com maior número de contribuições ao longo do mês, foram mais de 90 contribuições feitas por um total de 20 pessoas. O objetivo do projeto é melhorar a experiência de quem trabalha remoto, facilitando a comunicação dentro de um time distribuído, que é um desafio de várias empresas nos dia atuais.
Saiba mais sobre o Matrix aqui, a sensação do Mês do Open Source da RD, acessando o código no github. Faça sua contribuição também!
RD Station Ruby Client: é um client de API do RD Station Marketing que tem como objetivo facilitar a integração de aplicações escritas em Ruby. Esse é um projeto bem antigo, que nasceu logo no início da RD junto com o RD Station. Esse projeto teve boa parte do código reescrita durante o mês.
Saiba mais sobre a versão 2.0 do RD Station Ruby Client aqui, e faça sua contribuição, projeto está no github.
Conheça todos os nossos projetos Open Source em https://opensource.resultadosdigitais.com.br e comece a subir novos PR’s! Sua contribuição será muito bem vinda.