Resposta rápida do desenvolvedor

Lá pelos anos 2000, lembro que contribuir com um software de código aberto envolvia produzir manualmente um patch (arquivo com as diferenças) e enviá-lo para a lista de discussão do projeto. Era um processo um pouco bagunçado, mas até que funcionava, e podia levar alguns dias.

Estamos em 2015 e muita coisa mudou. Em vez das caóticas listas de discussão, hoje temos ferramentas online como o GitHub, que agilizam e facilitam muito a contribuição de estranhos aos projetos.

Mas o que realmente me impressiona é a velocidade de resposta de alguns projetos. O que antes levava dias, agora acontece em horas, quando não meros minutos!

Vou contar três experiências que tive recentemente.

Editor Atom: bug corrigido em 1 dia

⌘-/ keybinding shoud insert HTML comments, not C-syle //
https://github.com/atom/language-gfm/issues/24

Em maio de 2014 troquei meu querido TextMate pelo Atom, editor de textos criado pela equipe do GitHub. Ao editar textos no formato Markdown, percebi que o atalho para comentar uma linha (Command-/) estava inserindo o código errado.

Abri um chamado (issue) explicando o problema e para minha surpresa, já no dia seguinte um desenvolvedor havia feito a correção! Não é incrível ter uma solução assim, tão rapidamente?

Pude replicar a correção aqui na minha máquina e o atalho passou a funcionar corretamente. Em poucos dias já saiu uma versão nova do editor, com o problema corrigido.

Editor Atom: resposta em 30s, funcionalidade nova em 1 dia

Option to update the HTML preview on file save
https://github.com/atom/markdown-preview/issues/91

O editor Atom tem o plugin markdown-preview, que converte o Markdown para HTML em tempo real (enquanto digita). É muito útil para ir vendo como ficará o documento final, formatado.

Estava eu escrevendo meu livro novo no Atom. Porém, quanto maior ficava o arquivo, mais demorava para gerar a versão formatada. Como a conversão era disparada à medida que eu digitava, isso estava deixando o editor lento, pois ele estava constantemente convertendo o arquivo enorme.

O ideal seria converter somente quando eu salvasse o arquivo, assim não afetaria a performance durante a digitação. Foi exatamente isso que eu pedi ao abrir este issue:

Olha que inacreditável o que aconteceu: o responsável pelo plugin me respondeu em 30 segundos! Trinta. Segundos.

Eu ainda estava relendo o texto do chamado recém-criado (sabe como é, conferindo se eu não tinha escrito nada errado) quando pipocou a resposta logo abaixo. E mais: o cara leu meu texto, respondeu que gostou da ideia e que iria implementar, e ainda por cima adicionou uma tag ao issue. Tudo isso em menos de um minuto!

Na tela do issue só aparece a data de cada evento, mas no código-fonte da página é possível ver a hora exata em que cada um ocorreu:

<time datetime="2014-06-12T00:21:04Z"> <!-- eu abri o issue          -->
<time datetime="2014-06-12T00:21:29Z"> <!-- ele adicionou uma tag    -->
<time datetime="2014-06-12T00:21:38Z"> <!-- ele respondeu            -->
<time datetime="2014-06-12T00:22:01Z"> <!-- ele se atribuiu ao issue -->
<time datetime="2014-06-12T00:23:13Z"> <!-- eu respondi              -->

Assombroso. Não sei como ele fez isso, só pode ser bruxaria.

Como se toda essa agilidade não fosse suficiente, ele já implementou a funcionalidade no dia seguinte. Poucos dias depois saiu a versão nova do editor e pude então voltar a escrever meu livro sem lentidão.

GitLab: contribuição aceita em 40 minutos

Remove duplicate CHANGELOG items for v7.8.0
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/447

Começamos a usar o GitLab lá no trabalho (obrigado a todos que indicaram) e eu acabei como o responsável por ele (“quem inventa, aguenta”). Saiu uma versão nova, então fui me informar para atualizá-lo. Ao ler o arquivo com as novidades (Changelog), percebi que havia uma frase repetida. Coisa boba, mas que caras chatos como eu percebem e se incomodam. DRY

Como a correção era bem simples, decidi fazê-la eu mesmo e enviar para os caras. Assim, criei o Merge Request #447.

As contribuições são chamadas de Pull Request no GitHub, enquanto no GitLab é Merge Request. Pra mim, a nomenclatura do GitLab faz mais sentido.

Mais uma vez, fui surpreendido pela rapidez. Em apenas 40 minutos minha correção já tinha sido lida, avaliada e incluída no projeto original. Pense nisso, menos de uma hora!

Fiquei bastante impressionado e empolgado com a resposta rápida, então fiz o que qualquer homem de família respeitável faria nessa hora: contei sobre o ocorrido no twitter :) Uma hora depois, veio outra surpresa:

Isso mesmo, os gringos do GitLab descobriram meu tuíte e deram uma resposta, em português!

Eita mundinho conectado lôco di bão, sô!

— EOF —

Gostou desse texto? Aqui tem mais.