Desenvolvimento - ASP. NET

As contradições do Open Source

Leia a opinião de um renomado desenvolvedor de software a respeito do Open Source e suas consequências à sociedade.

por Mauro Sant'Anna



Durante os últimos trinta anos surgiu, a partir do zero, todo um novo ramo da economia que simplesmente não existia antes: o ramo de software. Os Estados Unidos são sem dúvidas os líderes do setor, mas mesmo assim o Brasil tem bastante o que comemorar: segundo a FIPE são 300 mil empregos diretos, com salários três vezes maiores que a média da economia. O setor também contribui para a sociedade diretamente: o governo arrecada 45% em taxas, contra 25% da média da economia, isso para não falar dos ganhos de produtividade que o uso do software traz para outros setores. Estes números não incluem os empregos em empresas cuja atividade principal não seja o software, como por exemplo, os bancos, apesar dos bancos serem hoje um grande "bureau" de processamento de dados, pois é cada vez mais difícil separar o produto bancário do produto de software.

O grande crescimento, aliado aos salários mais altos, atraiu uma grande quantidade de jovens para o setor. Prova disso é a grande quantidade de cursos superiores de análise de sistemas, bacharel em ciências da computação e outros que surgiram nos últimos anos.

O país possui hoje diversas empresas genuinamente brasileiras em posições de liderança no mercado, especialmente em softwares de ERP e contabilidade.

O ramo de software inclui produtos criados para diversas plataformas e sistemas operacionais. É sempre mais fácil lembrar do Windows, dada a sua liderança no mercado de estações de trabalho e seu recente crescimento no lado do servidor, mas existem também muitas empresas que faturam com software em outros sistemas operacionais, como por exemplo, as diversas variantes de Unix e os mainframes.

Diferentes Licenças

Ao longo dos anos desenvolveram-se diversas formas de licenciamento. Por exemplo, o cliente podia comprar uma "caixinha" e usá-la em apenas um micro. Ou podia comprar certo número de licenças em função do número de pessoas na empresa que usariam o produto. Ou um contrato "site", com número ilimitado de licenças. Estas licenças podiam ser perpétuas ou por um período de tempo limitado. Podiam contemplar ou não uma "manutenção" com direito a ajustes e/ou "upgrades".

O acesso ao código fonte também variava conforme a licença: algumas o permitiam outras não. Eu mesmo trabalhei na década de oitenta com Turbo Pascal e produtos da Turbo Power Software que vinham com fonte, embora o fonte não se tornasse de minha propriedade. Na época a IBM também permitia acesso ao fonte de muitos de seus produtos e lembro-me de examinar fontes de um sistema de entrada de dados em Assembly 370 que era não só licenciado mas também alterado pelo banco no qual eu trabalhava.

As formas de distribuição também variavam muito, desde caixas compradas em lojas até licenças compradas de vendedores, de maneira semelhante a outras mercadorias. Também nos anos oitenta se popularizou uma fórmula de distribuição exclusiva do software, o "shareware", muito popular até hoje. No shareware você podia copiar indiscriminadamente um produto de software, usualmente com alguma restrição, e comprá-lo caso desejasse.

É justo dizer que todo o crescimento que tivemos neste novo ramo deveu-se à possibilidade das empresas cobrarem - de alguma forma - pelas licenças de uso.

Open Source

Em 1989, o Sr. Richard Stallman, já então bastante envolvido com algo que iria chamar-se no futuro "software livre" criou um tipo de licença de software que chamou "copyleft", mas que hoje é mais conhecida como "open source" (*). A licença deste tipo mais conhecida é a "GNU General Public License". Este tipo de licença se caracteriza principalmente pelo seguinte: você deve incluir o fonte do seu produto, deve permitir modificações e - o principal - qualquer um que inclua qualquer fragmento do seu software é obrigado a incluir a totalidade dos fontes do próprio produto, mesmo aquele que foi desenvolvido depois.

Note, o que caracteriza o Open Source não é nem o acesso aos fontes, nem a permissão de modificações, nem o baixo preço. Estas características sempre existiram anteriormente. Existem hoje licenças bastante conhecidas que satisfazem estes quesitos, como a do "BSD Unix", e que não são Open Source. A principal característica do Open Source é que ele "contamina" qualquer software que use código Open Source, transformando-o automaticamente em Open Source.

Para os usuários, o Open Source parece, a princípio, caído do céu: o software não apenas pode ser copiado à vontade e por isso efetivamente gratuito, como também na medida em que os desenvolvedores usem trechos de código Open Source, todo software se tornará Open Source. Passado algum tempo, todo software existente na Humanidade seria gratuito! Na verdade a estória não é tão rósea para os usuários, como veremos a seguir.

Mas vamos falar primeiro dos desenvolvedores de software. Como eles sobreviverão se não puderem vender seus produtos e cobrar algum tipo de licença, como tem feito usualmente, em um modelo de negócio provado e que funciona?

Sobrevivendo ao Open Source

A "linha do partido" é que os desenvolvedores inicialmente terão a satisfação de contribuir para o bem comum e também divulgar seu nome como um bom desenvolvedor. Bem, e os desenvolvedores que tiverem necessidades mais imediatas como pagar aluguel, mandar os filhos para a escola e cumprirem outras obrigações mais "mundanas"? Ainda segundo a "linha do partido", estes desenvolvedores poderão ganhar dinheiro vendendo suporte técnico, cursos e implantação do próprio produto de software "Open Source" que tenham desenvolvido.

Mesmo sem entrar no mérito de que o tal desenvolvedor teria grande interesse em fazer um software ruim para aumentar sua receita em serviços (criar dificuldades para vender facilidades), tal esquema é intrinsecamente inviável. Vejamos: João desenvolveu o software originalmente e tem que recuperar o gasto inicial de desenvolvimento em serviços. Já Antonio é igualmente capaz a João do ponto de vista técnico, mas é um pouco mais esperto como negociante. Ao invés de se preocupar desenvolvendo o software, Antonio resolve apenas examinar o produto já desenvolvido por João e vender os mesmos serviços. Antonio pode vender os serviços mais barato, porque não tem que recuperar o gasto como desenvolvimento! Na verdade, gastar dinheiro com o desenvolvimento automaticamente tira a sua competitividade como fornecedor dos serviços subseqüentes!

No ramo do Open Source, o bom é pegar carona em alguma coisa que outras pessoas tenham feito, mas fazer coisas novas é uma fria.

Efetivamente, a maioria das "estórias de sucesso" com o uso de Open Source que eu ouço é de "caronistas" que estão usando de graça algo para o qual em nada contribuíram. Open Source no software do outro é refresco. Embora momentaneamente possa haver benefícios, principalmente se o "incauto" que desenvolveu o software originalmente foi alguma universidade estrangeira, este não é um modelo que se sustente por muito tempo, já que não há incentivo econômico para desenvolver software novo.

Curiosamente, várias empresas brasileiras e estrangeiras que promovem o Linux e se beneficiam da "boa vontade" que existe em volta desta "nobre causa", na verdade sobrevivem vendendo software comercial fechado e nada Open Source. Faça como eu digo, mas não faça como eu faço! Em alguns casos existem até fortes suspeitas que algumas destas empresas violaram os termos das próprias licenças "GNU" ao "fecharem" software que originalmente era aberto. Isto é um crime que compensa, pois a própria falta de identidade jurídica dos programas Open Source (quem é o dono?) significa que não há ninguém para processá-lo, se é que alguém que trabalha de graça teria dinheiro para processar os outros. E mesmo que tal processo fosse movido e ganho pelo "licenciador", qual seria a pena por "roubar" algo gratuito? Isso é um verdadeiro "buraco negro" legal.

E os usuários?

Os usuários estarão amarrando os seus negócios (não de software e sim de outra atividade como manufatura ou comércio) em uma base frágil e que pode trazer diversas surpresas desagradáveis no futuro.

Suponha que o software corresponda a uma pequena fatia do gasto das empresas, algo como 2%. Se o seu negócio perder a produtividade na atividade fim por causa desta pequena suposta economia, você já fez um mau negócio, mesmo que o Open Source seja rigorosamente gratuito.

O Open Source não é gratuito porque mesmo que você use 100% de software Open Source. Ele ainda exige serviços de implantação e manutenção, usando muitas vezes ferramentas sem coesão e conseqüentemente de baixa produtividade, porque feitas por equipes diferentes com pouca coordenação e regras. Na verdade existem estudos que apontam o custo total de uso Open Source como sendo maior que o do software comercial, se você incluir gastos como implantação, suporte e treinamento.

Outro grande problema é: "Quem dá garantia?" Assim como não há ninguém para processá-lo, não há ninguém para quem reclamar. Não há garantia quanto à continuidade do funcionamento, quanto ao conserto de eventuais defeitos, quanto à adaptação a novos hardwares, quanto à compatibilidade com outros produtos nem quanto a não-violação de licenças ou patentes de terceiros. Não há um processo claro quanto à participação em órgãos de classe nem de licenciamento de tecnologias específicas. Isso lembra um idealista do "amor livre" que não preveja o que deve ser feito com as crianças que acabarem inevitavelmente nascendo.

Nos últimos anos a sociedade Brasileira criou diversas leis e práticas como o Código de Defesa do Consumidor que visam exatamente dar garantias aos consumidores. O Open Source vai na contra-mão desta tendência, removendo as garantias dos produtos.

Os milhões de olhos

Um outro mito que ronda o Open Source é que ele tem melhor qualidade e é intrinsecamente mais seguro porque existem milhões de olhos revendo o software e pegando qualquer erro, já que o fonte sempre está disponível. Evidentemente muitos usuários poderão preferir pagar algum dinheiro e depois ter a quem reclamar do que ficar com esta efêmera "garantia dos milhões de olhos". Mesmo esta "garantia dos milhões de olhos" não é verdadeira por vários motivos. O primeiro é que a maioria das pessoas simplesmente não quer saber de examinar fonte nenhum. Outro é que a proliferação da quantidade de versões e distribuições torna esta revisão simplesmente impossível: não dá para rever todas as combinações e interações possíveis entre os vários produto e versões.

Na verdade, a quantidade de olhos nem é tão grande assim. Um estudo recente de Stephen R. Schach da Universidade Vanderbilt prova que mais de 80% das modificações introduzidas em projetos Open Source como Gnome e Mozilla foram feitas por um pequeno grupo de desenvolvedores. Pior, ele prova que o número de variáveis globais presentes em versões de Linux cresce exponencialmente, enquanto o número de linhas cresce linearmente. O Linux caminha a passos largos para ser de manutenção impossível.

Conclusão

As promessas do Open Source de um mundo onde o todo o software é grátis soa como uma agradável utopia para alguns. Mas não é um modelo de negócio estável e capaz de se perpetuar e trazer avanços ao setor. Muito pelo contrário, caso o Open Source seja indiscriminadamente usado, o setor de software simplesmente entrará em colapso e deixará de existir, deixando os usuários à mercê de alguns "programadores beneméritos" que desenvolverão o que quiserem, quando quiserem e se quiserem.

Nem o ramo de software nem a sociedade como um todo estarão bem servidas com o uso indiscriminado do Open Source.

(*) Existem várias definições para "Open Source", alguma das quais incluem qualquer software que venha com fontes, mesmo que não haja nenhuma transferência de direitos. Para efeito deste artigo estou chamando de "Open Source" o código distribuído segundo alguma licença "copyleft" como a "GNU".

Mauro Sant'Anna

Mauro Sant'Anna - Mauro tem mais de 20 anos de experiência no desenvolvimento de software, com produtos publicados no Brasil, Portugal e Estados Unidos, além de extensa experiência em treinamento e consultoria no desenvolvimento de software, tanto criando material como ministrando cursos.
Mauro é um "Microsoft Most Valuable Professional" (MVP - www.microsoft.com/mvp), “Microsoft Regional Director” (RD - www.microsoft.com/rd), membro do INETA Speaker’s Bureau (www.ineta.org) e possui as certificações MCP, MCSA (Windows 2000/2003), MCAD (C# e VB), MCDBA, MCSE (Windows 2000/2003).
Sua empresa, a M. A. S Informática (www.mas.com.br), treinou centenas de turmas em desenvolvimento de software nos últimos anos.