Software livre não é solução
Num post anterior falei de quatro problemas do software livre. Inerentes a eles está o aspecto social do desenvolvimento de qualquer software, e principalmente de sistemas de informação. Muitas pessoas ainda não se dão conta que todas as etapas de desenvolvimento, da sua concepção enquanto idéia, até o seu uso se dá de forma social e, mais importante, com a participação do usuário. Pelo menos deveria ser assim para todo sistema de informação, já que este tipo de software é uma construção inerentemente social e tem por objetivo atender a uma demanda social (Brooks 1995). Pense em um sistema de controle de estoque, educacional, de controle bancário, de uma loja, etc. e fica fácil perceber que estes ficam sempre no meio de alguma interação social. Por isto, o desenvolvimento de um sistema para uma empresa sem a contribuição de seus potenciais usuários é um sistema fadado ao fracasso já na sua concepção.
No caso do software livre este aspecto social é ainda mais importante pelas características da equipe de desenvolvimento (Weber 2004). Elas são, em geral, dispersas geograficamente e possuem programadores trabalhando por uma motivação pessoal, às vezes sem nenhum tipo de compensação financeira. Por este motivo, os programadores precisam ser e estar motivados para trabalhar num projeto de software livre. Motivação esta que está diretamente atrelada a dois componentes do software: 1) o desafio técnico que ele oferece e 2) a grande base de usuários que terá acesso a seu código e usará o sistema, formando uma comunidade ativa de pessoas discutindo o mesmo. Pense em todos os softwares livre de sucesso: WordPress, Linux, Firefox, Apache, etc. São todos aplicativos de complexidade mais alta e de aplicação mais genérica, multi-uso, com uma comunidade ativa de usuários e desenvolvedores.
Este tipo de software motiva os melhores programadores do mundo inteiro. É exatamente o oposto de trabalhar num software para, digamos, uma loja no Brasil. Construir um software destes é relativamente simples e está restrito apenas aos usuários brasileiros; porque o conjunto de regras aqui é diferente das de outros países para este tipo de software. Assim, como os melhores programadores brasileiros dedicam seus tempos livres a projetos como o Linux, sobram para estes projetos específicos os programadores pagos pelo governo ou empresas, ou aqueles despreparados e que não conseguem contribuir em projetos mais desafiadores.
Não estou dizendo com tudo isto que sou contra o software livre. Também não o acho uma alternativa melhor ou pior que outras formas de desenvolvimento (e.g., software customizado ou produto) sem levar em conta o contexto. Ele é, para mim, apenas mais uma opção a ser considerada, com seus prós e contras. Não acho, por exemplo, que o governo brasileiro está errado em adquirir software livre. Acho que ele está errado em fazer este tipo de aquisição quando o faz porque o software é livre. É preciso sempre ponderar qual é a melhor solução para as necessidades de uso, sendo o tipo de licença do software e a forma de produzi-lo variáveis no processo.
A diretriz arbitrária do governo brasileiro de sempre optar por software livre é ruim para ele, para a população e para a indústria. De maneira análoga, o governo poderia também arbitrariamente decidir por comprar software brasileiro em detrimento de software de outros países. Fazendo isto, ele deixa de fazer a aquisição considerando o mais importante, a compra do software com o melhor potencial de atendê-lo em suas necessidades. A analogia é importante porque a indústria de tecnologia no Brasil era exatamente protegida desta forma até o começo da década de 90. O resultado foi um atraso tecnológico pelo qual até hoje pagamos o preço.
Note que adotar software proprietário não significa adotar padrões fechados ou bloquear o acesso à informação. É perfeitamente possível, comum até, utilizar um software proprietário com padrões abertos e que torne a informação mais acessível e disponível para todos. Basta lembrar que a base da Internet, o conjunto de protocolos TCP/IP, não nasceu aberto, muito pelo contrário, foi desenvolvido pelos militares americanos e com o objetivo de uso exclusivo. Mesmo hoje, o principal conjunto de protocolos e padrões da Internet são mantidos por uma organização americana patrocinada pela gigante VeriSign e pela Agência Nacional de Segurança dos EUA. É uma questão política complexa mas, simplificando, a Internet só é livre hoje porque os EUA deixa. (Sobre este assunto, recomendo o excelente conjunto de visualizações mostrando a geopolítica da Internet – em francês)
Concluindo, software livre não é solução de problemas por ser livre. Aliás, software livre, em si, não é solução de nada. Do ponto de vista do desenvolvimento, ele pode ser visto como uma modalidade de criação do software. Uma muito mais apropriada para alguns tipos de projeto, aqueles com potencial de atrair uma comunidade de desenvolvedores abrangente. Do ponto de vista do usuário final, é apenas mais uma variável a ser considerada no processo de aquisição. E uma que não deveria se sobrepor às suas necessidades de uso.
Num post anterior falei de quatro problemas do software livre. Inerentes a eles está o aspecto social do desenvolvimento de qualquer software, e principalmente de sistemas de informação. Muitas pessoas ainda não se dão conta que todas as etapas de desenvolvimento, da sua concepção enquanto idéia, até o seu uso se dá de forma social e, mais importante, com a participação do usuário. Pelo menos deveria ser assim para todo sistema de informação, já que este tipo de software é uma construção inerentemente social e tem por objetivo atender a uma demanda social (Brooks 1995). Pense em um sistema de controle de estoque, educacional, de controle bancário, de uma loja, etc. e fica fácil perceber que estes ficam sempre no meio de alguma interação social. Por isto, o desenvolvimento de um sistema para uma empresa sem a contribuição de seus potenciais usuários é um sistema fadado ao fracasso já na sua concepção.
No caso do software livre este aspecto social é ainda mais importante pelas características da equipe de desenvolvimento (Weber 2004). Elas são, em geral, dispersas geograficamente e possuem programadores trabalhando por uma motivação pessoal, às vezes sem nenhum tipo de compensação financeira. Por este motivo, os programadores precisam ser e estar motivados para trabalhar num projeto de software livre. Motivação esta que está diretamente atrelada a dois componentes do software: 1) o desafio técnico que ele oferece e 2) a grande base de usuários que terá acesso ao seu código e usará o sistema, formando uma comunidade ativa de pessoas discutindo o mesmo. Pense em todos os softwares livre de sucesso: WordPress, Linux, Firefox, Apache, etc. São todos aplicativos de complexidade mais alta e de aplicação mais genérica, multi-uso, com uma comunidade ativa de usuários e desenvolvedores.
Este tipo de software motiva os melhores programadores do mundo inteiro. É exatamente o oposto de trabalhar num software para, digamos, uma loja no Brasil. Construir um software destes é relativamente simples e está restrito apenas aos usuários brasileiros; porque o conjunto de regras aqui é diferente das de outros países para este tipo de software. Assim, como os melhores programadores brasileiros dedicam seus tempos livres a projetos como o Linux, sobram para estes projetos específicos os programadores pagos pelo governo ou empresas, ou aqueles despreparados e que não conseguem contribuir em projetos mais desafiadores.
Não estou dizendo com tudo isto que sou contra o software livre. Também não o acho uma alternativa melhor ou pior a outras formas de desenvolvimento (e.g., software customizado ou produto) sem levar em conta o contexto. Ele é, para mim, apenas mais uma opção a ser considerada, com seus prós (que quase todo mundo conhece) e contras (dos quais falei aqui). Não acho, por exemplo, que o governo brasileiro está errado em adquirir software livre. Acho que ele está errado em fazer este tipo de aquisição quando o faz porque o software é livre, sem considerar exatamente seus prós e contras e os de outras opções. É preciso sempre ponderar qual é a melhor solução para as necessidades de uso, sendo o tipo de licença do software e a forma de produzi-lo variáveis no processo.
A diretriz arbitrária do governo brasileiro de sempre optar por software livre é ruim para ele, para a população e para a indústria. De maneira análoga, o governo poderia também arbitrariamente decidir por comprar software brasileiro em detrimento de software de outros países quando houver a opção. Fazendo isto, ele deixa de fazer a aquisição considerando o mais importante, a compra do software com o melhor potencial de atendê-lo em suas necessidades. A analogia é importante porque a indústria de tecnologia no Brasil era exatamente protegida desta forma até o começo da década de 90. O resultado foi um atraso tecnológico pelo qual até hoje pagamos o preço.
Note que adotar software proprietário não significa adotar padrões fechados ou bloquear o acesso à informação. É perfeitamente possível, comum até, utilizar um software proprietário com padrões abertos e que torne a informação mais acessível e disponível para todos. Basta lembrar que a base da Internet, o conjunto de protocolos TCP/IP, não nasceu aberto, muito pelo contrário, foi desenvolvido pelos militares americanos e com o objetivo de uso exclusivo. Mesmo hoje, o principal conjunto de protocolos e padrões da Internet são mantidos por uma organização americana patrocinada pela gigante VeriSign e pela Agência Nacional de Segurança dos EUA. É uma questão política complexa mas, simplificando, a Internet só é livre hoje porque os EUA deixa.
(Sobre este assunto, recomendo o excelente conjunto de visualizações mostrando a geopolítica da Internet: http://www.arte.tv/fr/Comprendre-le-monde/le-dessous-des-cartes/392,CmC=396,view=maps.html – em francês)
Concluindo, software livre não é solução de problemas por ser livre. Aliás, software livre, em si, não é solução de nada. Do ponto de vista do desenvolvimento, ele pode ser visto como uma modalidade de criação do software. Uma muito mais apropriada para alguns tipos de projeto, aqueles com potencial de atrair uma comunidade de desenvolvedores abrangente. Do ponto de vista do usuário final, é apenas mais uma variável a ser considerada no processo de aquisição. E uma que não deveria se sobrepor às suas necessidades de uso.
Telefonia ruim no Brasil – Mais qualidade e desagregação, por favor
No caso da telefonia, suponho que existam dois problemas institucionais graves. E quem deu boas pistas foi o engenheiro eletrônico Virgílio Freire em entrevista para a Revista do IDEC. Primeiro, as empresas de telefonia priorizam incentivos para novos clientes em detrimento dos clientes que já possui. Segundo, os governos FHC e Lula, desde a privatização, criaram e mantiveram regras para o setor que favorece os monopólios, dificulta a entrada de novas empresas, e não pune corretamente as infrações.
Sempre que entramos em uma loja de telefonia celular, as promoções são tentadoras. Agora com a portabilidade elas ficaram melhores ainda. Afinal, com a facilidade de trocar de operadora mantendo o número, quem não quer aproveitar uma barganha? Por outro lado, quase não ouvimos falar de promoções ou prêmios para clientes que continuam com a operadora por mais tempo.
Posso citar dois exemplos recentes próximos a mim. Minha foi cliente da Oi por mais de duas décadas. A empresa se chamava TELEST antes da privatização, depois passou a se chamar Telemar e, agora, Oi. Nunca ligaram para minha mãe para oferecer a ela algum tipo de benefício. De forma similar, trabalhei numa empresa que tinha um plano empresa e dezenas de linhas com a TIM. Eu só ouvia falar da TIM quando alguém tinha algum problema. Nunca eles ligaram para oferecer qualquer benefício adicional à empresa ou aos usuários das linhas.
Se você, cliente, quer aproveitar algum benefício de uma operadora, normalmente precisa ligar e pedir. Não há benefícios especiais ou exclusivos para alguns tipos de clientes. Pelo menos não que eu saiba ou tenha ouvido falar. Estou errado? Aí, preocupadas apenas com números, as empresas parecem não se preocupar com a qualidade do serviço, só com a qualidade das propagandas, como se cliente conquistado fosse cliente garantido. Nas palavras do Virgílio Freire:
"Essas empresas acham que sua importância é medida pelo número de usuários, e por isso investem na venda do pré-pago, que faz sucesso nas camadas mais pobres da população. Só que com isso o lucro é pequeno ou negativo, pois, por ele ser mais usado para receber ligações, a conta média costuma ser em torno de R$ 26 por usuário. Se eu fosse presidente de uma empresa de celular, eu não iria me preocupar com o número de clientes.”
Parecem não se preocupar com qualidade provavelmente por outro motivo também. Virgílio Freire não afirma, até porque se houvesse provas as empresas seriam punidas, mas levanta suspeitas sobre a prática de colusão entre as empresas de telefonia. Segundo ele, elas podem estar combinando os mercados em que atuam:
“Não tenho provas, mas é possível que esteja havendo uma combinação entre as empresas, que dividiram o território brasileiro. Há uma divisão de mercado que elas mais ou menos assumem, há uma estratégia suicida por parte de todas elas, na qual entraram e da qual não estão sabendo sair. Por exemplo, a Oi não entra em São Paulo e a Vivo não entra no Rio de Janeiro, mas elas poderiam entrar.”
Mais do que suspeitas porém, há um potencial muito grande para a formação de oligopólios prejudiciais aos clientes porque cada empresa possui sua própria infraestrutura de rede para funcionar ou precisa acordar o uso da infraestrutura de uma dessas empresas. Para uma nova empresa de telecomunicações entrar, ou investe em cabos e torres de transmissão pelo país todo ou paga o preço de uma das empresas já no mercado.
Em um cenário ideal, na chamada desagregação das redes de telecomunicações, uma única empresa, pública ou privada, teria o controle de toda a infraestrutura de rede do país e as demais pagariam o mesmo preço para utilizá-las. Uma das propostas de reativação da Telebrás é a de justamente colocá-la como esta empresa de controle da infraestrutura. Desta forma, as empresas que prestam serviço ao consumidor final teriam que competir mais pela qualidade dos serviços prestados utilizando a infraestrutura disponível do que pelo preço.
Mas tais mudanças passam por mudanças também na forma de punir as empresas infratoras. Hoje parece ser praticamente impossível para um cliente obter um bom atendimento de uma reclamação sem reclamar com a ANATEL logo em seguida. Com um protocolo da ANATEL, a empresa tem um prazo de 5 dias úteis para responder ao cliente. Só que a ANATEL só resolve os casos dos clientes que reclamam. A agência não pune as empresas pelo conjunto de danos causados, por exemplo.
Outro problema da agência é que ela não possui independência como, por exemplo, o Banco Central. Segundo Virgílio Freire:
“A solução seria despolitizar e desvincular a Anatel do governo, criar algum tipo de proteção na lei que impedisse o Executivo de interferir, além de colocar só profissionais, como no FCC [Federal Communications Commission – agência análoga nos EUA]. O senador Fernando Collor de Mello sugeriu que se exigisse do profissional que quisesse trabalhar num órgão regulador pelo menos 10 anos de experiência na área. O resultado seria uma Anatel independente e competente.”
Temos, portanto, problemas na forma como serviços são ofertados, na qualidade dos mesmos, e na regulamentação do setor. O mais triste é que este deveria ser um dos setores mais estratégicos do país. E logo nele parece que ainda estamos engatinhando atrás de países muito mais pobres e atrasados economicamente.
Telefonia ruim no Brasil – O problema dos incentivos errados
Fico me perguntando porque a telefonia no Brasil é tão ruim assim. E quando digo ruim, digo muito ruim mesmo. Não é por acaso que praticamente todas as empresas de telefonia celular e fixa no Brasil estão no topo de rankings de reclamação do Procon ou de sites como o Reclame Aqui. E como se não bastasse serem as piores prestadoras de serviço do Brasil, estes serviços são também um dos mais caros do mundo!
Em um relatório [pdf em inglês] divulgado no dia 23 de fevereiro de 2010 pela União Internacional de Telecomunicações (UIT), uma tabela lista o ranking de países de acordo com o custo da banda larga, e telefonia fixa e móvel em relação à paridade de poder de compra per capita da população. Nesta lista, o Brasil amarga a posição 87 de um total de 161 países avaliados. Temos serviços de telefonia e banda larga mais baratos apenas que os mais pobres países da África, da América do Sul e Central, e do leste europeu (Mais informações em português).
É caro e ruim, pois. Mas por que? Para mim tem a ver com os incentivos econômicos que definem, de fato, as atuais regras do jogo. Os incentivos das operadoras para os clientes moldam a maneira como estes últimos adquirem serviços de telefonia. E os incentivos (ou desincentivos) do governo definem como as operadoras se portam no mercado, e a maneira como elas oferecem os incentivos aos clientes.
Estou vendo o problema sob a ótica de um arcabouço institucional. Instituições, aqui, não são propriamente empresas ou o governo mas as “regras do jogo” [inglês] . Instituições formais são aquelas em forma de leis, por exemplo, e as informais são as regras implícitas de uma sociedade, como códigos de conduta. Sem perceber, somos o tempo todo movidos por estas instituições. No trânsito, por exemplo, há regras formais nos dizendo como conduzir o veículo (as leis de trânsito) mas também as informais como evitar a buzina, ter a cortesia de dar a passagem, etc.
Assim, através de instituições, é possível alterar a maneira como nos comportamos em sociedade. Por exemplo, aumentar os impostos para carros e baratear o transporte público pode fazer com que as pessoas deixem seus carros em casa com mais frequência, e campanhas de educação no trânsito podem torná-lo mais agradável. De maneira formal ou informal, o governo pode trabalhar para mudar as regras do jogo no trânsito.
Como no caso do trânsito, instituições definem a maneira como mercados funcionam. Mas não é tão simples quanto parece entendê-las ou modelá-las, seja qual for o objetivo. Primeiro que as instituições informais nem sempre são tão óbvias e variam de uma sociedade para outra. Assim uma mesma regra formalmente definida pode não funcionar em todas as sociedades por conta das regras informais. Segundo que não é possível criar regras infalíveis. Como já citei antes aqui no blog,
“(...) até nos casos onde o arcabouço institucional contribui para capturar mais ganhos com comércio em relação a frameworks passados, ainda assim vão existir incentivos para trapaças, passageiros clandestinos, etc. que contribuirão para as imperfeições do mercado. Dadas as características comportamentais dos seres humanos, simplesmente não há nenhuma forma de se elaborar instituições capazes de resolver os complexos problemas inerentes às transações e ao mesmo tempo se ver livre de incentivos incompatíveis.” Douglass North (1990, p. 108)
Por isto, os incentivos em prática no mercado de telefonia devem ser revistos com cuidado. Na próxima e última parte desta série trato de algumas possibilidades.
Os problemas do software livre
O software livre também tem a sua fatia de problemas exclusivos, que não são encontrados no software proprietário. Existem pelo menos quatro deles que precisam ser destacados para que produtores e consumidores possam se beneficiar mais e melhor dos softwares que, respectivamente, produzem e usam. Isto porque software livre, por si só, não é solução para nada. Para o desenvolvedor, ele precisa ser entendido como uma modalidade de desenvolvimento, e para o usuário como uma alternativa para aquisição.
Primeiro, software livre não te dá, necessariamente, livre acesso ao código fonte. Nem mesmo para vê-lo. Muitas vezes você precisa ser parte da comunidade de desenvolvedores de uma organização para poder ter acesso ao código. E mesmo que você seja um membro da equipe de desenvolvimento do, digamos, Firefox, isto não te dará o direito de mudar o código ao seu bel prazer. Software livre não significa desenvolvimento livre.
Muito pelo contrário, a maioria dos grandes e mais interessantes projetos possui toda uma hierarquia definida na equipe e modularização do código. Se por um lado esta divisão e controle garante maior eficiência ao desenvolvimento, por outro, torna o processo mais rígido e menos prazeroso, obrigando programadores a muitas vezes trabalhar em tarefas que não gostariam. Veja, por exemplo, a história de Con Kolivas, ex-desenvolver do núcleo do Linux e que parou de contribuir porque cansou de ter suas contribuições rejeitadas. Como consequência, todo software livre possui sempre o risco potencial de se dividir, o chamado ‘fork’. Em outras palavras, um mesmo projeto pode se transformar em dois ou três porque alguns programadores não estão satisfeitos e preferem criar uma nova continuação do projeto a suas maneiras.
Outro problema deste tipo de controle é a estratégia de algumas empresas em iniciar um projeto de software livre para atrair desenvolvedores e baratear seu custo de desenvolvimento. Depois, com um software um pouco mais robusto e bem acabado, esta mesma empresa fecha o projeto e torna-o proprietário. Nem sempre é possível reaver o código fonte depois que isto ocorre e os programadores que haviam contribuído para o código ficam a ver navios. Assim, seja porque um grupo de programadores dividiu o projeto ou porque uma empresa fechou seu código, os usuários de software livre correm sempre o risco de ficarem desamparados da noite para o dia.
Segundo, software livre não é software gratuito. Este é um erro muito comum mas que pode ter graves consequências. O Google, por exemplo, tem um discurso muito bonito de uso de software livre. Mas a maioria de seus principais produtos e serviços não são livres, são gratuitos. O conceito de livre é uma questão de liberdade. Deve ser pensado como em “liberdade de expressão”, não em "cerveja grátis”.
Não é possível nem ao menos ver o código fonte do Gmail, do Google Reader, Google Docs, do mecanismo de busca, dentre tantos outros produtos da empresa. Não temos esta liberdade. Pior, os dados dos usuários ficam nos servidores do Google e não nos computadores dos usuários. Para Richard Stallman [en], fundador da Free Software Foundation (Fundação para o Software Livre), “a computação na nuvem é uma armadilha (...) O conceito de usar programas na web como o Gmail do Google é pior que a estupidez.” Isto porque, em tese, não dá para simplesmente copiar os seus e-mails do Gmail de uma pasta para outra como você faria se estivesse usando um programa instalado no seu computador. É preciso toda uma sequência de passos para que você possa mover os seus e-mails para outro provedor. E, pior, você não tem como saber de fato o que uma empresa como o Google está realmente fazendo com seus dados.
Ter a liberdade de fazer o que quiser com o código-fonte de um software não significa que será possível usufruí-la. A maioria dos usuários não o faz (nem se importa) e apenas usa o software livre que também é grátis. Para ter a liberdade de alterar o código é preciso entendê-lo e/ou custear uma equipe ou uma empresa terceira para mantê-lo atualizado e em sintonia com seus interesses (ou da sua empresa).
Terceiro, software livre não é necessariamente melhor para o usuário final. Michelle Levesque, por exemplo, discute em um artigo científico seu (publicado no periódico First Monday – de acesso gratuito ao conteúdo) cinco potenciais problemas do software livre neste sentido: 1) A frequente falta de investimentos no desenvolvimento da interface com o usuário, 2) a pouca documentação disponível, 3) a falta de foco em tornar o software mais robuto, 4) a falta de foco também no desenvolvimento de recursos para o usuário final e, finalmente, 5) muitas vezes por teimosia, a recusa de alguns programadores em aprender com o software proprietário e a usar inovações destes no software livre que desenvolvem.
A comparação entre a qualidade de software livre e proprietário é tema de muita discussão. Em geral, pode-se dizer que na média o software livre tem menos erros que os proprietários. Isto ocorre porque o software livre depende de sua qualidade para sobreviver já que não investe praticamente nada em marketing. Entretanto, um estudo publicado na Business Week em 2006 afirma que dentre os melhores softwares de cada um dos 15 mercados analisados, o software proprietário está na frente em 11. Em outras palavras, há muito mais software proprietário ruim que livre mas os melhores softwares proprietários são muito melhores que os melhores livres.
Quarto, software livre nem sempre é mais barato como a ilusão da palavra “livre” faz parecer. Afinal, os produtores dele também precisam ganhar dinheiro de alguma forma. Mas é difícil medir os custos de software de maneira agregada. Cada implantação tem suas particularidades e custos específicos, o que prejudica a medição precisa. Assim, sites que defendem o software proprietário publicam estudos a seu favor, da mesma forma que sites a favor do software livre o fazem com estudos a favor do software livre. Sobra para o usuário negociar o seu caso com as opções disponíveis.
Por exemplo, por conta da competição com o software livre empresas de software proprietário estão cada vez mais dispostas a baixar seus preços tornando-as uma opção mais barata – se já não a são. Mais ainda se os usuários que usarão o sistema proprietário já estiverem familiarizado com ele e se ele for, de fato, melhor. Mudar de software (independente da licença) significa arcar com os custos da mudança (os chamados “switching costs”), o que pode significar altos custos na troca do servidor, no treinamento dos usuários, e na migração dos dados.
Em outro cenário, ao optar por desenvolver um software livre que não existe, com o objetivo de substituir um software proprietário, muito dinheiro vai para o ralo por um motivo muito simples: Para a maioria dos projetos, pode não haver adesão de desenvolvedores voluntários o suficiente. Aí, no meio do caminho o projeto corre o risco de ser interrompido. E, neste caso, todos os esforços e recursos usados até aquele momento irão para o ralo também. Veja, por exemplo, os relatos de quem trabalha em projetos de software livre do governo federal:
“(...) Realmente falta massa. É um tanto difícil criar uma comunidade, um ecossistema de colaboração, já observado em projetos como Drupal e WordPress. No desenvolvimento do i-Educar, no qual participo, basicamente essa tarefa tem sido feita por 2 pessoas, num universo de 5.500 pessoas cadastradas na comunidade do projeto.
A missão é difícil. Muitos prestadores de serviços nesses softwares são despreparados e não possuem ainda a consciência de que é necessário contribuir aos projetos, nem que sejam pequenas contribuições.”
Demais comentários na discussão em torno dos projetos do governo também contém reclamações da burocracia para participação e da baixa qualidade atual dos mesmos. A iniciativa do governo é louvável mas é preciso a ele perceber que não é qualquer projeto que dará certo no modelo de desenvolvimento do software livre.
Na próxima semana: porque estes problemas são inerentes ao atual paradigma de desenvolvimento de software livre.
PS: As imagens que ilustram este texto são de Phillip Torrone e fazem parte do guia de 2009 da revista Make para hardwares desenvolvidos de forma aberta e livre.
De corrupção, exemplos pontuais, e dados manipulados
Este final de semana tive uma longa e interessante discussão sobre, dentre outros assuntos, política. Mais especificamente a política brasileira atual. Foi uma boa conversa mas o resultado, pelo menos neste tópico, não me surpreendeu. Em geral, quando o assunto é política, entro numa roda com este tópico e as opiniões já estão formadas e as defesas preparadas. Mas não quero entrar no mérito deste comportamento. O objetivo aqui é expor três dos argumentos que considero mais comuns e a problemática de suas utilizações.
Começo pela corrupção e a crítica de que o governo atual é corrupto. Quem a faz parece esquecer-se que a corrupção faz parte de todas as sociedades, desde pelo menos Platão. Existe no mundo todo, mesmo entre países ricos e desenvolvidos, entre setores públicos e privados, e entre governos de direita e de esquerda. Além do mais, é difícil dizer se o Brasil é mais ou menos corrupto que outros países. Esta é uma medição tão difícil que até mesmo a organização Transparência Internacional parou de atualizar o seu Índice de Percepção da Corrupção. Por ser tão ubíqua, a corrupção não é, para mim, argumento para criticar ou elogiar um governo.
Não estou dizendo que devemos aceitá-la. Corrupção se previne, combate e pune, claro. Mas mesmo assim ela continuará existindo. Em Teoria de Jogos, a corrupção ocorre, por exemplo, quando os agentes (ou jogadores) conseguem burlar os mecanismos de um jogo e lucrar mais assim. Num jogo cujo objetivo é puramente maximizar os lucros, os jogadores sempre tentarão tomar ações com este objetivo em mente; e se for possível fazê-lo roubando ou mentindo, pouco importa. Na República de Platão (III, 361d), Glauco já se referia a tais possibilidades ao dizer que "não se deve querer ser justo, mas parecê-lo". Glauco também cita a garantia de impunidade como uma das origens da corrupção.
Por isto as teorias se desenvolveram ao longo da história prevendo mecanismos de controle e de outros incentivos que não apenas o lucro. O objetivo era evitar, por exemplo, situações do tipo encontrado em jogos de soma zero, onde para um ganhar o outro tem que perder. Infelizmente, como bem diz o vencedor do Nobel de Economia, Douglass North (1990, p. 108), "(...) até nos casos onde o framework institucional contribui para capturar mais ganhos com comércio em relação a frameworks passados, ainda assim vão existir incentivos para trapaças, passageiros clandestinos, etc. que contribuirão para as imperfeições do mercado. Dadas as características comportamentais dos seres humanos, simplesmente não há nenhuma forma de se elaborar instituições capazes de resolver os complexos problemas inerentes às transações e ao mesmo tempo se ver livre de incentivos incompatíveis."
Assim, não é porque uma organização se envolveu numa atividade ilícita ou que alguns de seus integrantes sejam corruptos que todas as suas qualidades devem ser descartadas. Para trazer um exemplo prático citado na conversa com meus amigos, a Petrobras foi acusada por um deles de realizar despejo programado de lixo de maneira irregular no mar. Ora, ela faz isto porque, voltando à teoria de jogos, ela "ganha" mais assim. Fosse outra empresa, pública ou privada, a história provavelmente seria a mesma. O desmatamento da Amazônia, o despejo de lixo no mar e em rios, a caça e pesca indiscriminada, dentre outros exemplos de violência ao meio-ambiente são cometidos por pessoas físicas e jurídicas de todos os tipos, no Brasil e no mundo inteiro. A Vale, para citar um exemplo de grande empresa privada brasileira, não é nenhuma santa também. Utilizar este argumento para invalidar todas as conquistas da Petrobrás é uma falácia lógica. Uma muito comum, aliás, de "prova por exemplo". No exemplo aqui exposto, tal argumento só pode ser utilizado para afirmar que existe alguém na Petrobrás que age contra as leis ambientais. E, assim, não digo que esta pessoa está certa, pelo contrário, acho tal denúncia séria, deve ser investigada e o(s) envolvido(s) punido(s) para que, aí sim, o trabalho da empresa seja cada vez mais transparente e dentro das leis.
Desta maneira, quando defendo o trabalho e as conquistas do atual governo, não estou citando alguns exemplos isolados ou afirmando a incorruptibilidade do mesmo. E não é também uma defesa ideológica. Refiro-me a dados comparativos e a fatos. Mas daí, quando começo a falar deles, ouço que estatísticas podem ser manipuladas. Ora! Que conveniente, não é mesmo? Agora, quando os números não interessam é porque foram mascarados. Os números do Banco Mundial, da OECD e de órgãos brasileiros de medição que existem desde antes da nossa atual democracia, todos eles agora mascaram números, aparentemente só porque favorecem o atual governo de um único país. Em outras palavras, afirmar manipulação estatística é afirmar que todos os governos anteriores foram idôneos em relação às medições de seus indicadores e o governo atual foi o único a manipular os números para que houvessem as atuais quebras de recordes em séries históricas. Se não esta afirmação, ou seja, se houve manipulação em anos anteriores, o governo atual manipulou tanto a mais assim? Tal distorção não seria percebida pela oposição e imprensa, tão ávidas em refutar as conquistas deste governo?
Estes três argumentos, o da corrupção, o de exemplos isolados e o da manipulação estatística, para justificar uma suposta má qualidade da gestão do governo Lula são fracos. E mais interessante, irônico até, é que os mesmos poderiam facilmente ser aplicados a qualquer um dos lados. Fosse um governo liberal, de direita, que por ventura tivesse tido as mesmas conquistas, as mesmas poderiam ser "invalidadas" por causa da corrupção no governo, exemplos de fracasso, e uma suposta manipulação estatística. Onde está o mérito desta oposição, então? Não há. Na opinião de Rafael Galvão, em um dos blogs que mais me agrada atualmente, a oposição ao atual governo não consegue mostrar uma alternativa superior. O jornalista Pedro Dória também falou disto ao comentar a vitória do novo presidente americano ano passado: "Um dos resultados da eleição de Barack Obama é que a direita brasileira periga ficar órfã e terminar sem argumentos."
Aí, sem saída, muitas pessoas parecem preferir repetir retóricas como as acima a mudar suas convicções.
A produção de software no Brasil e o porquê da Índia ser melhor
Ano passado um russo veio à Bangalore visitar o Instituto onde estudo, vindo de Vitória, ES, cidade onde morei praticamente toda minha infância. É isto mesmo. Fiquei tão impressionado com a coincidência que 3 horas em um restaurante próximo não foram suficientes para tanto assunto. O sujeito é pesquisador na Universidade de Berkeley (Califórnia) e conheceu a esposa lá. Ela é carioca, a propósito.
Obviamente a origem da esposa foi mais do que motivo suficiente para ele iniciar um trabalho de pesquisa no Rio. Não me recordo quanto tempo ele ficou na cidade, mas o foco do estudo era no entendimento da metodologia adotada pelos cariocas no processo de desenvolvimento de software. Por que o Rio? Bem, além do fato da esposa ser de lá, outro motivo, segundo ele, é que mais cidades no mundo podem ser comparadas ao Rio, ao contrário da grandiosa São Paulo, o que possibilita um uso mais diverso do resultado. Outro aspecto que ele considera curioso no Rio é a maneira como a cidade se coloca no mercado, à sombra de sua vizinha paulista.
Entre um arroz biryani e outro, ele me apresentou a sua visão do mercado brasileiro de software – bem interessante, por sinal. Por que, por exemplo, os brasileiros produzem software para o mercado interno enquanto a Índia fatura horrores com a exportação? Certamente a língua não é o principal fator. Segundo ele, o fato do software estar em português, o que implicaria em algum custo para tradução (principalmente se o software não foi originalmente projetado para várias línguas) não é (ou não deveria ser), de longe, o principal entrave à exportação. Vencido este primeiro obstáculo, são inúmeras as etapas a serem cumpridas para que o software possa ser comercializado internacionalmente. A língua é, literalmente, o de menos...
Mas então, por que não vendemos software lá fora?
A culpa é do nosso pequeno mercado e da maneira como as empresas brasileiras atuam nele. Ele é, na verdade, ao mesmo tempo uma benção e um calo no pé. É claro que o fato de possuirmos um mercado interno estimula a produção de software local e sem ele nossas atuais empresas provavelmente não existiriam. Entretanto, graças a ele também é que estas mesmas empresas acabam se acomodando: “O meu cliente está logo ali, para que ir mais longe?”.
Outra característica peculiar de nossas empresas de software está na relação com os clientes. Primeiro que elas nascem ou já com um cliente em mente ou pensando em arrumar um cliente. Raramente uma empresa de software no Brasil surge com um plano de negócios focado em um mercado para produzir software numa economia de escala. O foco da empresa no cliente está na natureza de nossas relações. Dificilmente negamos as solicitações dos clientes o que acaba resultando em versões customizadas de um mesmo produto para cada um deles. É mais ou menos como se a relação precisasse ser informal, em tom de amizade [en]. Parece familiar? Pois é, para mim também. Este comportamento acaba fazendo com que as empresas de software do Brasil aceitem praticamente todas as solicitações dos clientes, indo ao extremo de detalhar no software particularidades exclusivas de cada um se preciso.
Além disto, o nosso principal cliente, o governo, tem características muito distintas que exigem grande esforço e investimento na relação comercial. Este mesmo governo também dita o tipo de serviço prestado pelas empresas locais. Nas décadas de 80 e começo de 90, por exemplo, quando o governo impunha severas restrições à entrada de hardware no Brasil, houve uma demanda pela produção interna dele.
Este tipo incentivo tem grandes desvantagens. Primeiro que incentivar a produção de tecnologia em detrimento do uso, acaba favorecendo apenas um setor da indústria quando vários poderiam se beneficiar se o incentivo do governo estivesse no uso da tecnologia. Segundo que, no caso particular da produção de hardware, o mercado internacional é altamente competitivo e dominado por grandes empresas principalmente estabelecidas nos EUA.
Assim, quando se iniciou no Brasil um processo de abertura comercial, muitas das empresas de hardware brasileiras tiveram que encolher consideravelmente ou simplesmente fechar as portas. Com políticas mais recentes do governo, este quadro está se revertendo um pouco. De 2000 para cá é evidente o crescimento de nossa indústria de hardware e software.
No caso do mercado externo, entretanto, são duas razões principais para nossas pífias exportações: 1) lá fora as empresas de software brasileiras não conhecem ninguém, o que dificulta qualquer aproximação mais pessoal da maneira como fazemos no Brasil; e 2) elas muitas vezes não possuem o interesse pois o mercado brasileiro é aparentemente suficiente para elas....
Normalmente uma empresa brasileira inicia alguma operação no mercado internacional apenas quando a oportunidade bate a sua porta. Ou seja, se algum comprador internacional procurar a empresa brasileira, demonstrando bastante interesse, então a ela terá a motivação necessária para tal empreitada.
Como em toda regra, entretanto, esta também possui suas exceções. O melhor exemplo talvez seja a linguagem de programação Lua. Ela foi criada na PUC do Rio em 1993 e desde o seu nascimento foi projetada em inglês, para o mercado externo. Para se ter uma idéia, nem existe manual em português. Aliás, os melhores livros dela só são encontrados fora do Brasil e sem tradução para nossa língua. Segundo o site oficial, Lua é usada em várias aplicações de grande porte (por exemplo, o Adobe Photoshop Lightroom) e é a linguagem de script dominante na criação de jogos. Menos de 10% dos mais de 1300 assinantes da lista de discussão são do Brasil.
Para fechar, o meu amigo russo acha que os brasileiros das empresas de software são megalomaníacos (ele fala um bom português e literalmente usou esta palavra). São todos cheios de grandes planos, sonham em atingir o mercado internacional, mas pouco fazem na prática para tornar os sonhos concretos. É a perfeita justificativa, segundo ele, para que nosso país continue sendo o “país de futuro”, sem planos no presente.
***
O estudo do pesquisador ocorreu essencialmente no Rio de Janeiro. Embora alguma extrapolação seja possível, a generalização oculta outros padrões que se destacam principalmente em algumas regiões do Sul do Brasil, em São Paulo, e em Recife. Ainda assim, estamos muito atrás da Índia na indústria de software. Temos grandes empresas mas a maioria ainda é estrangeira (inclusive as Indianas Wipro e Satyam) e que só agora começam a se organizar para tornar o país competitivo. O resultado deste individualismo e falta de pró-atividade é um mercado menor que a metade do mercado Indiano (cerca de US$ 20 bilhões em comparação aos US$ 50 bi Indianos), com déficit na balança comercial, e ainda bastante dependente do governo para se sustentar.
Para mais informações:
- Sobre o mercado Brasileiro, acesse o site da BRASSCOM, criada em 2004 copiando o modelo Indiano;
- Sobre o mercado Indiano, acesse o site da NASSCOMM [en], criada em 1988 (!!) e hoje uma poderosa associação que defende os interesses da indústria de software Indiana;
- Sobre as diferentes características do crescimento das indústrias de software Indiana e Brasileira, leia o excelente livro From Underdogs to Tigers: The Rise and Growth of the Software Industry in Brazil, China, India, Ireland, and Israel [en].


