quarta-feira, 15 de setembro de 2004

A Economia do Software Livre

Trabalhar em um projeto de Software Livre é uma experiência gratificante. Até mesmo para aqueles que nãoo programam, sempre há alguma forma de colaborar além da codificação. Atividades como a tradução do software, a escrita e tradução de manuais, a elaboração de projetos visuais ou simplesmente o uso e o relato de problemas são tão importantes em um projeto de Software Livre quanto a programação propriamente dita.

Mas qual a motivação que leva alguém a participar de um projeto de Software Livre? Em uma pesquisa realizada por Steven Weber foram detectadas seis grandes motivações:

  • Arte e beleza
  • Vocação
  • O inimigo comum
  • Ego
  • Reputação
  • Identificação com o sistema

Para muitos, programar é uma forma de arte e participar de um projeto permite ao programador exercitar a sua arte. Para muitos programadores não há nada mais belo que um código bem escrito.

A vocação para codificar é um outro fator importante. Há diversos programadores que exercem outras profissões no seu dia-a-dia. De engenheiros a médicos, há sempre um com vocação para programador.

A existência de um inimigo comum também é um forte motivador para a participação em projetos de Software Livre ao lado da identificação com o sistema. Dentro destes grupos encontram-se aqueles que participam de projetos por motivações políticas. Ir contra o sistema vigente, dar vazão à rebeldia ou simplesmente a vontade de mudar o mundo são os maiores motivadores destas categorias.

Ego e reputação andam de mãos dadas. Bem no fundo, o sonho de todo programador é ser reconhecido pelos seus pares pela qualidade do seu código e pela engenhosidade das suas soluções. E por falar em ego, qual o programador que não gostaria de ter o status de estrela que o Linus Torvalds tem?

Há também um outro motivo para se participar de um projeto de Software Livre: o motivo econômico. Não estou falando aqui de motivos monetários ou financeiros mas sim de uma economia de troca que muitas vezes passa desapercebida por muitos programadores. Quando converso com pessoas interessadas em um determinado projeto, noto que há duas perguntas freqüentes. A primeira é relativa ao conhecimento técnico: Não sou um grande programador, o que posso oferecer? A segunda é o reverso: Por que devo gastar meu tempo programando para os outros?

A resposta para ambas as perguntas é a mesma: Pela troca.

Em um ambiente proprietário, a experiência e o conhecimento custam caro. O único caminho para se adquirir o conhecimento é através de cursos e treinamentos que, como todos sabem, custam muito caro. Ainda mais, a não ser que se seja um programador muito no início de carreira, muitos destes cursos são inadequados, obrigando o candidato a desenvolvedor a fazer novos cursos cada vez mais avançaados para aprender um pouco mais.

Participar de um projeto de Software Livre permite a programadores de qualquer nível acesso a código bem elaborado, feito e refinado por programadores com muitos anos de estrada. O acesso a exemplos reais de programação é algo que poucos cursos oferecem e que é oferecido praticamente de graça pela comunidade de Software Livre. Praticamente, pois há uma troca neste processo. O programador iniciante pode até se sentir tentado a somente acompanhar as listas de discussão e ler o código. Mas chegará um momento em que apenas a leitura não será o suficiente para sanar uma dúvida sua. Neste momento, este programador irá fazer uma pergunta ou então propor uma alteração lógica ou de funcionalidade em um determinado módulo.

Apesar de muitas vezes o programador iniciante ser torpedeado pelos mais experientes, no meio do tiroteio virá pelo menos uma análise da solução apresentada que pode servir como orientação. Em muitos casos, as sugestões dadas por programadores iniciantes são aceitas por trazerem uma nova abordagem para um problema. E é aqui que os programadores experientes se beneficiam: Os comentários e análises de outros programadores servem para melhorar cada vez mais a qualidade do seu código.

Esta é a moeda de troca na economia do Software Livre. Sua contribuição, por menor que seja, lhe dá acesso a um banco de experiências ao qual você não teria acesso de outra forma. Um pequeno investimento rendendo um imenso retorno.

O mesmo se aplica a todas as demais fases de um projeto de Software Livre. Seja na documentação, diagramação de tela, escolha de ícones, ou em qualquer outra atividade, há sempre o grupo mais experiente e outro iniciante. A interação entre estes grupos gera uma dinâmica de troca de experiências que dificilmente pode ser encontrada em outros ambientes.

Com relação à pergunta se vale a pena participar de um projeto de Software Livre, continuo firme na minha resposta, vale a pena, sim.