Num 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:
- O valor de seu código, ou o quanto o mercado valoriza financeiramente a quantidade de trabalho empregada para desenvolver aquele software.
- 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.

Há duas vantagens em abrir o código fonte:
- 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.
- 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.


hCard/vCard




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???
[...] Tem uma matéria, que vi no blog do Avi, muito interessante a respeito de quando é o momento de abrir o código(Open Source) de um programa, não é exatamente a mesma coisa que ser Software Livre, na prática [...]
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
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.
Muito bom: concordo plenamente.
Cezar Taurion também analisou muito bem este tema em seu blog.
Muito bom. Gostei. Argumentos solidos e pragmaticos. É um tema que volta e meia debato no blog.
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.
“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.
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.
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
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
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!!