Valeu a Pena? Parte 1 – Software Livre

Muita gente hoje me conhece como “Marlon do EncomendaZ”. Ou o cara que fez aqueles programinhas para Android. Já ouvi até “MarlonZ”. Ah! E também já teve “O cara do Alfred”. Esta “fama” vem de programas e bibliotecas que eu criei. Acho engraçado que nunca me perguntaram: valeu a pena? Ou até uma pergunta do tipo “tá rico?”. Vamos lá! Quero tecer alguns comentários a respeito destes programas que criei, se valeu a pena, se estou rico, se vou continuar neste caminho e se indico isto a outros. Pensei inicialmente em criar um único post, até o momento que percebi que estava ficando muito grande e cansativo. Resolvi quebrá-lo em dois ou três posts. Este primeiro fala do “Marlon Software Livre”.

“The Purpose, Mr. Anderson!”. – Agent Smith

Papo sincero, reto e direto. Meu propósito quando resolvi criar coisas livres era bem simples: eu queria ser reconhecido. Eu queria aparecer. Simples assim. Sem meias verdades, sem hipocrisias. Eu gostava das ideias do Software Livre. Eu abraçava elas. Mas havia um propósito oculto e que ficou escondido em mim por um tempo. Depois, resolvi sair do armário (opa!): não era só por ideais. Era uma atitude absolutamente normal de qualquer ser humano. Um pouco de egoísmo. De querer aparecer. Chamar a atenção. De ter seu trabalho reconhecido. De que as pessoas percebam que você é útil e lhe parabenizem por isso.

Alcancei meu propósito? Acredito sinceramente que sim. Meus projetos me deram uma certa projeção local e alguma externa. Obviamente, não foram nada de excepcionais. Não eram super projetos como um Apache da vida. Mas, ganhei respaldo de que era um bom programador. De que era um cara interessado e de atitude, afinal, criar e manter “coisas” livres é complicado. Acredite. E o networking ajudou a propagar estas ideias. Pessoas próximas me conheciam pelos projetos que fiz. E repassavam para as pessoas próximas a elas e por aí vai.

“No princípio criou Deus os céus e a terra.” – Bíblia, Gênesis.

Minha história começou com o VeículoZ, um programa para PalmOS que servia para você controlar os gastos com seu carro. A repercussão foi sensacional. Recebi dezenas de e-mail com sugestões e, principalmente, elogios. Foi muito bom. Depois fiz a versão Windows Mobile deste mesmo programa. Tudo sob a licença GPLv2. Depois vieram outros pequenos projetos que criei mais como motivação para aprender uma tecnologia, como o InvestimentoZ, AuctionX, Alfred Library e DemoDroid. Ajudei em outros projetos abertos também. Cheguei a dar uma força pro @oreio em uma ideia dele (sobre CSS, não lembro agora).

O VeículoZ PalmOS hoje tem cerca de 1400 downloads e foi publicado em 2007. A versão Windows Mobile tem quase 1300 downloads e foi publicado em 2009. A biblioteca Alfred tem cerca de 500 downloads, contando todas as versões. A atual conta com mais de 100 downloads até hoje. Mas isto porque o Alfred é muito usado com Maven e este “download” nunca é contado. Para mim, são resultados sensacionais. Pense comigo. Eu sou um desenvolvedor de “fundo de quintal”. Trabalho no Serpro todos os dias, 8 horas. E não, meu caro! Não sou um nerd que não faz sexo e só vive com a cara no monitor. Sou casado e filhos estão por vir. E curto muito beber cerveja com amigos. Vou para todos os jogos do Bahia em Pituaçu. Além de shows de Rock and Roll (estarei no Rock in Rio!). 🙂

Aqui fica uma dica que valeu muito a pena para mim. Você quer aprender uma nova tecnologia? Pode ser Java, Ruby, Sockets, WebServices… seja lá o que for, faça um projeto de escopo pequeno, bem definido, crie um repositório no Google Code e trabalhe em cima dele. Depois, tenha um blog, publique lá os resultados de seus estudos e deixe livre o seu projeto de estudo. Pode acreditar, você terá, algum dia, um retorno. Mesmo que não tenha, seu projeto estará lá. Pronto para consultas futuras. É melhor do que você fazer um projeto tosquinho e manter ele só no seu HD. Quando você faz algo que sabe que outras pessoas verão, você se empenha mais. E acaba aprendendo mais com isso.

Valeu a pena?

Percebo que são poucas as pessoas que tem interesse, vontade ou tempo para fazer coisas como eu faço: programas, bibliotecas, escrever artigos, dar (ó o respeito rapá!) palestras e cursos… De fato, este não é meu ganha pão. Ainda tiro muito pouco dinheiro com isto. Para piorar, a maioria do que faço está sob licença livre. Falando em licença livre, vem a primeira pergunta: vale a pena criar coisas livres (ou opensource)? Curto e grosso: sim. Toda experiência que tive como desenvolvedor opensource me fez mudar minha visão sobre este mundo. Não o vejo mais com os mesmos olhos. Não é mais esse mundo de fantasia que eu pensava. Mas isto é assunto para outro post.

Vale a pena porque interagi com pessoas legais. E porque conheci na vera como as coisas funcionam. Fiz contatos interessantes. Criei um bom networking também. E meus projetos fizeram as pessoas me verem com outros olhos. Um cara que gosta do que faz: PROGRAMAR, DESENVOLVER, CRIAR, VIAJAR NA MAIONESE e por aí vai. Dinheiro? Zero. Para falar a verdade, nunca pensei em ganhar dinheiro com meus projetos livres. Nem com propaganda, nem com nada. Meus interesses eram os que citei acima. Só isso. Juro! O principal é o aprendizado. Aprendi tecnologias novas. Tenho uma experiência legal de como funcionam algumas coisas sobre o mundo SL. Foi muito positivo e gratificante ter todos estes projetos livres.

Iniciativa é bom. “Fechativa” é tanto quanto!

E acabei percebendo que por ter estes projetos divulgados e terminados acabava que as pessoas me procuravam para ajudá-las em suas ideias. E isto simplesmente porque sou um cara que tem a iniciativa e a “fechativa”. Eu gosto de começar um projeto e termina-lo. Se eu não o termino, é porque eu realmente não tinha todo aquele interesse. Mas eu tenho uma taxa boa de conclusão. Na maior parte do que faço, eu tenho interesse e chego até o fim. As pessoas gostam disso. Só não conseguem praticar o mesmo. Vejo muita gente com ideias legais. Cheios de empolgação. Alguns tem a iniciativa. Pouquíssimos tem a “fechativa”. A tal “fechativa” é importantíssima, meus caros. Quando não terminamos um projeto, sempre fica aquele sentimento de fracasso. De que faltou alguma coisa. De que seu próximo projeto está fadado a falhar também.

Você pode fechar seu projeto e perceber que não acabou da forma como você queria. Que não teve a repercussão que esperava. Eu já tive essa sensação. Mas ter terminado o projeto foi gratificante. Eu tentei. Consegui chegar até o fim, só que infelizmente as coisas não saíram como eu esperava. Só isso. Sem frustrações. Tem outro detalhe importante para que eu tenha tanto interesse assim: programar é uma diversão para mim. E não tenho a mínima vergonha de dizer que eu sou um PROGRAMADOR. Dane-se essa ideia de que programador é peão. De que o importante é ser chamado de “Analista de Sistemas”. Blergh!

E eu?

E você? Quer saber se eu acho que você deveria trilhar caminho parecido com o meu? Vamos lá. Se a interação com as pessoas não lhe empolga, então desista. Se você não fica com lágrimas nos olhos quando recebe (deixe disso!) um elogio por um aplicativo, então desista. Se a falta de tempo é sempre sua desculpa, então desista. Se você não gosta de programar e nem tem interesse em aprender, então desista. Se tudo o que escrevi até aqui não faz o mínimo sentido para você, então desista.

Comunidades ou Terceirização ?

Utilizarei meu indicador direito para tocar em um assunto delicado: como vejo a participação e o entendimento de uma boa quantidade de brasileiros, e aí incluo principalmente as empresas brasileiras, com o software livre e suas comunidades. Antes gostaria de reforçar uma diferença conceitual que enxergo, apesar de minha miopia. A visão de comunidade, e a ajuda a esta comunidade em prol de um bem em comum, e uma visão particular sobre um princípio específico que está incluído no software livre, e que citarei nas próximas linhas para tentar que vocês leiam mais um pouco deste (des)interessante post.

Vou lhes explicar. A questão é que Richard Stallman e os idealizadores do software livre não condenam, conforme meu minguado conhecimento sobre o assunto, que um software seja copiado, seguindo as regras da licença GPL (ou similares), e modificado. É o fork. O fork não é condenável nesta visão. Ao contrário, é até, de certa forma, motivado. A ideia de comunidade, embora seja no software livre onde mais se destaca na nossa área, enseja um comportamento diferente. Você tem uma necessidade que já é parcialmente atendida por um software sustentado por uma comunidade? Então, não faça um fork. Ajude! Seja agregador. Não seja apenas um cliente do software livre, seja um colaborador. Não faça um fork, pois você poderia estar ajudando a solução atual a se tornar ainda melhor.

Mas, vou voltar mais incisivamente ao assunto do tópico. Uma questão está mais do que clara para mim. Mais até do que Michael Jackson quando lançou o clipe Black and White. Nossas empresas estão pouco se importando para a ideia de comunidades. A verdade é clara e, neste caso, não está lá fora: as comunidades de softwares livre servem apenas como uma forma de terceirizar um serviço do qual a empresa não se vê com competência ou fôlego para fazer. Vou mais além, se há fôlego para fazer, o faz sem ajudar os criadores da ideia inicial, mas criando sua própria solução a partir da ideia dos outros. Fork!

Ainda há outra vertente. As pessoas não ajudam. Elas dizem o que está errado. O que já é algo louvável. Mas, mais louvável ainda é propor a solução. Achar o erro e já levar para os autores do software uma proposta para solucionar o problema é o que chamo de “a essência da colaboração em comunidades de software livre“. Infelizmente, é um mundo distante.

Voltando à questão dos forks: isto é condenável? Não há problemas, se você for considerar a ideia inicial de que um fork é algo normal. Mas, da forma como é feito hoje, é condenável, sim. A colaboração entre os membros de uma comunidade só tende a agregar valor para ambas as partes. A ajuda mútua sempre traz mais benefícios para ambos os lados. Quanto mais mãos e cérebros inteligentes atuando por um objetivo em comum, melhor. Só faça um fork se os autores do projeto inicial forem cabeça dura e não aceitarem ajuda externa. Antes, esvazie todas as alternativas disponíveis para você. Não havendo retorno para seus esforços, então fork neles! Mas deixe isto claro para todos, para que entendam sua motivação e não lhe encarem como um desagregador.

E porque as coisas são assim? Ainda nos falta esta cultura. E isto já vem de longe. Muito longe. O brasileiro sempre usou programas piratas e nunca sentiu vergonha disto. E isto é desde o Pentium 1, ou vai me dizer que sua cópia do Windows Workgroups era original? Oitenta por cento de chances de que não era. E o que pirataria tem a ver com isto tudo? Vou ser sincero, eu só quis deixar um gancho para dizer que as empresas brasileiras atuam como os “Piratas do Software Livre”. Você vai me dizer: seu maluco, que frase sem sentido! É, você tem razão, eu acabei de inventá-la.

E a ideia que quero passar com a frase é a seguinte: quando você usa um “aplicativo pirateado”, você está jogando fora todo esforço daqueles que suaram para lhe entregar uma solução para seus problemas. Não concorda que o software seja pago? Não use. Para mim é simples assim. Quando você não colabora com uma comunidade, se tornando apenas cliente dela, literalmente “vampirizando“, você a destrói em sua essência. É um estaca de madeira no coração desta comunidade.

Este post está enorme e vou finalizá-lo com uma resposta que alguns poderiam me fazer: e porque você ainda continua disponibilizando suas aplicações como software livre já que a maioria só quer se aproveitar disto? Uma mera questão filosófica. Eu acredito no Software Livre. O conhecimento deve ser compartilhado. O que eu aprendi, eu quero compartilhar com os outros. Embora minha visão seja, em alguns momentos, pessimista, isto não quer dizer que eu ficarei parado aguardando passivamente que as coisas mudem. E este post é um passo nesta direção.

Concorda comigo? Sim? Mais ou menos? Deixa seu comentário!