Quando Abrir o Código Fonte

Open Source LogoNum evento promovido na Universidade Federal de São Carlos eu fiz uma palestra longa sobre middleware IBM em Linux. No final os estudantes fizeram ótimas perguntas sobre carreira, trabalho, tecnologia e uma das mais interessantes foi essa do título.

A resposta rápida é: se um software fechado ainda traz lucro para seu dono não há porque abrir seu código fonte.

Mas na verdade essa é uma questão deveras delicada, e a decisão é muito difícil de se fazer.

Um software tem dois grandes valores:

  1. O valor de seu código, ou o quanto o mercado valoriza financeiramente a quantidade de trabalho empregada para desenvolver aquele software.
  2. Seu valor ecossistêmico, ou quantas pessoas conhecem bem esse software e estão prontas para trabalhar com (e para) ele, usando, desenvolvendo extensões, escrevendo livros, etc.


O segundo ponto é mais difícil de entender, então para explicar tomemos como exemplo o Adobe Photoshop versus o Gimp. O último tem a maioria das funcionalidades do primeiro e é de graça, mas o primeiro continua sendo muitíssimo mais popular, conhecido, usado, etc. O valor ecossistêmico do Photoshop é bem maior que o do Gimp e isso inclusive aumenta seu valor financeiro.

E para o primeiro ponto, lembrem-se do excelente webserver de código fechado da Netscape que perdeu a guerra ao se deparar com o Apache HTTP Server. O mercado não estava mais disposto a gastar dinheiro com algo tão simples e estrutural como o código fonte de um webserver.

Se você abrir o código cedo demais, vai perder lucro, mas se esperar muito pode perder ecossistema porque seus usuários irão migrar para opções abertas mais flexíveis e mais baratas. A qualidade geral da opção aberta talvez seja inferior num certo momento, mas conforme seu ecossistema cresce, a qualidade também cresce talvez ultrapassando as alternativas fechadas.

Community ROI

Há duas vantagens em abrir o código fonte:

  1. A primeira é tática e está relacionada a terceirizar o trabalho massante de manter um código que não tem mais valor comercial, mas que ainda é vital para outros produtos de maior valor.
  2. A segunda é de ordem estratégica e muito interessante. Consiste em usar o poder social do Open Source em agregar comunidades e assim estabelecer um padrão na área do código que foi aberto. Isso aniquila a concorrência, e se não há um padrão geral estabelecido, a abertura bem sucedida e amadurecida define um Padrão Aberto.

Abrir só com o primeiro ponto em mente, geralmente leva ao fracasso. Foi o caso do Darwin e o OpenSolaris, pois não conseguiram criar ao seu redor um ecossistema viável para sobreviverem sem seu criador. Seu código foi aberto muito tarde, tão tarde que Linux já dominava a cena de sistemas operacionais.


Quando há um equilíbrio entre as duas vantagens acima, abrir o código fonte pode mudar completamente o rumo do mercado naquele setor. Foi o que aconteceu com o Eclipse e o OpenOffice.org. No caso do Eclipse, era uma grossa camada de código muito bem feito mas que dava muito trabalho para manter. Além do fato de que o verdadeiro valor de produto estava no que ficava sobre o Eclipse, como o antigo WSAD da IBM. Quando foram abertos, não havia nem sombra de algo similar em código aberto e com aquela qualidade. O resultado hoje é uma comunidade dinâmica ao seu redor que está levando esses projetos onde nunca se imaginava poderem chegar.

O poder de uma abertura estrategicamente bem pensada pode abalar as bases de um produto bem estabelecido. É o caso do OpenOffice.org mais ODF versus o MS Office e todo o barulho que temos ouvido na mídia e nos governos.

Hoje, softwares que implementam conhecimento muito específico de áreas avançadas como engenharia, arquitetura, negócios, logística, etc estão longe de serem abertos, simplesmente porque o mercado ainda remunera bem seus fabricantes. Há opções abertas, mas é tão difícil criar e autosustentá-las de forma global e com qualidade, que as opções fechadas ainda são melhores.

E softwares que implementam funcionalidades de uso genérico como o de um sistema operacional, servidor de arquivos, webserver, etc, graças ao mundo pequeno que a Internet nos ofereceu já dominam seu escopo inclusive em termos de ecossistema, e ninguém mais se arriscará a criar um concorrente de código fechado. A excessão aqui é o Microsoft Windows, único sistema operacional proprietário e de código fechado, que ainda detém um ecossistema gigante.

Já estamos vivendo uma época em que a decisão de abrir o código fonte não está mais no âmbito da infraestrutura. Nos próximos anos provavelmente vamos ver middlewares populares terem seus códigos abertos. Open Source está avançando nesse setor, e a capacidade dos gestores dessas áreas em tomar decisões inovadoras será o que vai diferencia-los da concorrência.

Isso acontecerá num ritmo natural. Não se pode mudar os nove meses de uma gestação. São idéias que naturalmente estão amadurecendo no mercado.

13 thoughts on “Quando Abrir o Código Fonte”

  1. Interessantíssimo! Eu ainda não havia lido algo tão bem colocado sobre esse assunto. Me ajudou muito na reflexão sobre abrir ou não meu código!

    Valeu!!

  2. Excelente texto, Avi! Numa próxima oportunidade, gostaria também de saber tua opinião no caso da escolha da licença para um novo projeto de software, onde pode haver a possibilidade de buscar a criação de um ecossistema (e as dificuldades em se fazer isto) e comercializá-lo enfrentando a concorrência que, certamente, irá surgir. Claro que não é tão simples assim e que existem fatores a serem considerados como o custo de produção deste novo projeto, a capacidade e vontade do mercado pagar por ele e a sua especificidade ou generalidade (o que implica uma maior ou menor facilidade da criação de um entorno comunitário).

    O que, especialmente, gostei de ver na tua análise é que há uma possibilidade de geração de bons negócios tanto com o código fechado quanto o aberto.

    Um grande abraço!

    Cesar Brod

  3. Corrija-me se eu estiver errado. Mas, até onde eu sei, o Darwin é um sucesso sim! Afinal ele que da suporte aos MacOS mais recentes! Pode-se dizer que a comunidade que ampara o projeto é relativamente pequena quando comparada ao GNU/Linux.

    []´s Fábio

  4. Fabio, fui um pouco vago quanto ao Darwin. Ele é um sucesso como o SO do Mac OS, mas não foi muito bem sucedido em termos de construir um ecossistema.

    Tanto que a Apple se pronunciou que esperava mas calor da comunidade.

  5. “Se você abrir o código cedo demais, vai perder lucro”

    Isso só se aplica a empresas medias e grandes que fizeram investimentos de capital nisso. Via de regra para quem começa o lucro de abrir ou não é quase o mesmo, você acaba prestando serviço.

  6. Frederico, estava falando do lucro referente a venda de licenças.

    Claro que para quem vende serviços junto ao software, o serviço (e seu valor financeiro) continuará a existir.

  7. O ultimo comentario ficou truncado…é o que dá acessar a Internet antes das seis da manhã…rsrsrs: leia-se li e reli, e concordo plenamente com a análise do Avi.

  8. Análise bastante propícia ao momento em que o modelo de produção open source se encontra. Você tem o artigo em ingles, gostaria de enviar para Karl Fogel.

    Obrigado

  9. estava lendo este artigo , e tenho uma dúvida!!!!

    como eu faço para ler o código fonte de um programa de código aberto???

Leave a Reply

Your email address will not be published. Required fields are marked *