Por que código aberto? Você é louco?
Os prós e os contras de abrir o código de um produto de consumo.
Muita gente me escreveu perguntando por que o Monica é de código aberto. Há muitas razões e quero detalhá-las aqui. Abrir o código de um produto de consumo e, ao mesmo tempo, tentar ganhar dinheiro com ele não é algo tão comum (infelizmente), e talvez isso inspire outras pessoas a fazerem o mesmo. Eu mesmo me inspirei na forma como a Sentry, o GitLab e muitos outros construíram empresas em torno de produtos de código aberto e, mesmo que o Monica ainda não gere receita, queria compartilhar o que penso sobre o assunto.
As vantagens de abrir o código do seu produto
- Sempre quis criar um produto de código aberto. Provavelmente por idealismo. Uso produtos de código aberto desde que me lembro e queria, humildemente, retribuir ao ecossistema. Também achava que ficava bem no currículo.
- O Monica guarda muitos dados pessoais. Eu diria que esses dados são potencialmente bem mais delicados do que o que as pessoas publicam no Facebook. Para alguns, é uma enorme questão de privacidade. Ao tornar o Monica de código aberto e oferecer formas de instalá-lo em algo que você possui e controla, cabe a você decidir se quer correr o risco de deixar seus dados com outra pessoa ou mantê-los sob seu controle.
- Pela natureza sensível dos dados guardados pelo Monica, e por eu ser um desenvolvedor sozinho, que não é tão bom quanto a comunidade como um todo, precisava abrir o código para que centenas de olhos o examinassem em busca de bugs, possíveis falhas e melhorias. E encontrassem muito mais rápido do que eu o que deveria ser corrigido ou aprimorado.
- Quando as pessoas têm acesso ao seu código e se tornam usuárias da plataforma, você vai se espantar com o quanto elas contribuem. Elas enviam pull requests com ótimas ideias e conceitos, que você pode incorporar imediatamente ao produto para que todos aproveitem. É incrível. Claro, nem toda ideia é boa e de vez em quando você vai recusar um pull request, por diversos motivos. Mas no conjunto é extremamente positivo e você recebe funcionalidades excelentes.
- Numa época em que as redes sociais são extremamente opacas sobre o que coletam e como usam os dados, as pessoas se preocupam cada vez mais com a privacidade. Por um bom motivo. O Monica não exibe anúncios e não revende dado nenhum. Mas por que acreditar em mim? Por uma razão: o código fonte disponível livremente é exatamente o que está em produção. Não mantenho um segundo repositório com modificações privadas. Portanto, tudo o que faço é transparente e os usuários podem conferir que não faço nada escuso. É uma questão de transparência e de criar uma relação baseada em confiança.
- Os desenvolvedores são a parte mais importante de um ecossistema. Quando eles gostam do que você faz, criam um ecossistema em volta e coisas legais nas quais você jamais teria pensado. É um momento mágico quando isso acontece. Eles também são influenciadores poderosos e seus melhores embaixadores. Quem não é da área recorre a eles com frequência para pedir conselhos de tecnologia. E se gostarem do Monica, vão falar dele com quase o mesmo alcance de uma matéria sobre as Kardashian numa revista de celebridades.
As desvantagens de abrir o código do seu produto
- Seja qual for a sua licença, existe o risco de alguém pegar seu código, montar uma empresa em volta dele e ficar com o mercado que você queria atender. Não há nada a fazer. Um ditado conhecido diz que uma ideia não vale nada, que só a execução importa. No caso do Monica é mais do que uma ideia: o código já está lá e já é uma execução. Quanto mais maduro o produto ficar, mais tentador será para outras pessoas roubar o código. Estou disposto a conviver com isso, desde que a comunidade se beneficie do resultado.
- Se você crescer, pode se tornar menos atraente para investidores de risco ou para possíveis compradores. Mas quer saber? No meu caso isso é uma boa notícia, porque não estou construindo algo para eles, estou construindo algo para os usuários. Não me importa o que os fundos vão pensar do produto.
- Cuidar da comunidade toma tempo. Não me entenda mal. Adoro interagir com ela e me sinto muito grato por já existir uma comunidade apaixonada em torno do Monica. Mas enquanto tento construir o próximo passo do produto, passo bastante tempo todos os dias verificando issues, revisando pull requests e respondendo e-mails. Uma parte significativa do meu tempo, na verdade. De novo, não estou dizendo que é ruim. Na verdade gosto muito. Mas esse consumo de tempo é algo a considerar se você decidir abrir seu produto: é preciso estar disposto a participar e a cuidar da sua comunidade.
Não consigo pensar em outras desvantagens. Você deveria considerar abrir o código da sua próxima ideia.