O que as empresas tem a aprender com as comunidades livres

Um sonho sonhado sozinho é um sonho. Um sonho sonhado junto é realidade - Raul Seixas

Se você não viveu os últimos anos tentando destruir o Um Anel em Mordor, você provavelmente ouviu falar de vários softwares livres e de suas comunidades. Há alguns anos atrás seria loucura pensar que empresas deveriam investir em soluções abertas, ao invés de escolher o suporte das grandes companhias de software.

Mas a cada dia os fatos tem contado uma história diferente. Quando um software é descontinuado por estas empresas, você pode ter certeza que assim que o suporte de X anos acabar é melhor você trocar/atualizar sua plataforma ou estará com um peixe estragado em mãos. Porém, quando o mesmo acontece com um aplicativo open source, a sua empresa, ou então usuários motivados podem criar um fork e continuar o projeto.

Sem contar os diversos voluntários prontos a ajudar qualquer pessoa com dúvidas, tanto em relação ao uso como o desenvolvimento daquele software.

O apelo competitivo do software livre tem feito com que grandes empresas como Oracle, IBM e até mesmo a Microsoft se entreguem a comunidade. Porém o produto final não é a única coisa que a comunidade tem a oferecer para as empresas.

O produto só é possível graças a filosofia por trás, por mais que gênios como Linus Tolvards sejam grandes diferenciais, não seriam ninguém sem o apoio de todos os desenvolvedores por trás de cada linha de código. Esses desenvolvedores não só são motivados a usar seu tempo livre para investir no gnu, linux, firefox e etc, como divulgam estes aplicativos, se auto-organizam para consertar bugs/criar features/dar suporte e organizam eventos GIGANTES e de grande sucesso na maioria das vezes sem uma grande empresa/organizador por trás.

Isto é o sonho de qualquer empresa, ter funcionários motivados e que vestem a camiseta do time. Ok, mas  como uma fabrica de software pode fazer isso?

Primeiro, temos que isolar os motivos por trás desse poder do software livre. Temos em grande parte das comunidades uma gestão democrática, que dá a todos os envolvidos uma "pitada" de poder. Que literalmente mexe com o ego, se você está ajudando aquele software, você com certeza quer que ele cresça, pois ele é seu. O que é muito diferente de um software/tecnologia que é empurrada pelo cliente tanto os requisitos, como plataforma, linguagem, etc, etc. Onde a palavra final é a do seu cliente(ainda que você saiba que ele está errado e acabará pagando os juros do erro mais tarde). No software proprietário, os desenvolvedores tendem a simplesmente deixar o erro acontecer e depois dizer "eu avisei".

Outro ponto importante é o sentimento por trás das ações, enquanto que no software livre temos o sentimento "isto é meu", no software proprietário temos o sentimento "fui eu que participei da criação". O segundo sentimento começa a desaparecer com o tempo, pois a menos que você trabalhe para a mesma empresa ou seja um software famoso você acaba perdendo o contato. Enquanto que você sempre terá seu nome como um "commiter" de um software livre.

A sensação de mudar o mundo também é importante, você não sente que está fazendo aquilo pelo contra-cheque no final do mês, mas por que quer fazer parte de algo maior.

Com a grande quantidade de desenvolvedores e uma "não-obrigatoriedade" em se fazer as tarefas, todos podem escolher aquilo que mais lhe agrada. Se você odeia de paixão banco de dados, mas ama processamento de imagem, você pode se focar somente nisso. Alias, o próprio github cita isso como um dos motivos pelo qual nenhum funcionário abandonou a empresa ainda.

O reconhecimento por trás do suporte/apoio também deve ser citado, todo mundo se sente orgulhoso quando recebe um agradecimento em público.

O fato em comum com tudo isso é que você deixa de tentar agradar a um chefe/SM/qualquerCoisaGerencial e passa a pensar diretamente no consumidor final e..... em você mesmo!

Não é coincidencia que muitas startups consigam o mesmo efeito, você não está procurando mais receber o dinheiro de algum gerente do cliente, mas sim do usuário.

Todo desenvolvedor ama resolver problemas, mas as empresas amam lucro(e mais-valia). Assim, empresas deveriam deixar pessoas técnicas tomarem decisões técnicas, não aceitar ordens que sabem que é um erro "por que a pessoa está pagando"(já dizia Steve Jobs, “o consumidor não sabe o que quer até que nós lhe mostremos”).

E o mais importante, pessoas primeiro.