2008-06-08

O sucesso da GPL é um milagre?

Antes de começar esse post, quero deixar claro que adoro software GPL, sempre tenho preferência por usar Software Livre (e ainda escrevo com letras maiúsculas!) e, não por acaso, ganho a vida escrevendo sobre Código Aberto (também com letra maiúscula!).

Acho um pouco estranho um software GPL como o (kernel) Linux ter alcançado a ampla difusão mais rápido do que seus equivalentes licenciados sob a licença BSD.

Entenda as diferenças

De uma forma extremamente simplificada, a GPL exige, entre outras coisas, que o código-fonte de todo programa seja disponibilizado para o usuário sem custo adicional. Além disso, ela demanda que toda alteração feita ao código-fonte de um programa, ao ser redistribuída, seja entregue de volta à comunidade. Com isso, é obrigatório compartilhar com a comunidade todos os avanços implementados no programa.

A BSD, por sua vez, é muito mais permissiva. Qualquer software licenciado sob a BSD pode ser redistribuído sem o código-fonte, e as alterações feitas ao código não precisam ser compartilhadas com ninguém. Porém, se forem compartilhadas com a comunidade, essas alterações devem seguir a licença BSD. Ou seja, basicamente a BSD permite que se faça o que quiser com o código, inclusive fechá-lo à vontade.

O que me leva a esse pensamento é que a BSD parece muito mais viável comercialmente do que a GPL. Na GPL, a obrigatoriedade do retorno do código alterado à comunidade é ótima para a comunidade, claro. Porém, para empresas que desejem usar esse código em seus produtos, acrescentando a ele algumas alterações, essa obrigação pelo menos parece um problema.

No início da popularização do Software Livre, a GPL era chamada de "câncer" justamente por isso: ela "contaminava" os softwares desenvolvidos a partir de outros que a adotassem, obrigando o fabricante a retornar à comunidade trechos que ele não desejava. Então, a adoção do Software Livre como base para o desenvolvimento seguiu a lenta percepção das empresas de que colaborar é melhor do que reinventar a roda.

Com código BSD, essa percepção de que colaborar é melhor do que reinventar a roda poderia surgir mais gradativamente. Com uma base de código de alta qualidade liberada sob a BSD para todas as empresas, todas poderiam tomá-lo para si e desenvolver sobre ele, sem retornar nada a princípio. Porém, certamente algumas perceberiam as vantagens de retornar à comunidade pelo menos alguns trechos.

Com uma barreira de entrada reduzida, mais empresas usariam código aberto (BSD, no caso). Assim, existiria o argumento de que "quase todo mundo usa nosso software", o que, por sua vez, creio que facilitaria na hora de convencer as empresas usuárias e desenvolvedoras de que o código aberto tem boa qualidade e portanto vale a pena todos compartilharem seus desenvolvimentos com o restante da comunidade.

É claro que eu sei que isso não aconteceu, e que houve motivos. Só não sei exatamente quais foram esses motivos. Sugestões?

8 comentários:

Anônimo disse...

http://en.wikipedia.org/wiki/USL_v._BSDi

Pablo disse...

Hmmm, discordo que esse problema judicial tenha sido o responsável.

O Linux disparou na frente do (Free)BSD somente no final da década de 1990, quando o problema do BSD já tinha sido totalmente resolvido.

Unknown disse...

no caso do Linux, pode ter sido o modelo de desenvolvimento (bazaar).

Anônimo disse...

Pablo,

Na verdade ele está correto. Os sistemas BSD ficaram em um "low profile" muito grande até 1997, quando acabou o processo.

Isto deu um "momentum" excepcional ao linux que dominou o mundo SL praticamente solitário na década de 90.

Este é o sucesso do GPL. Toda a liderança que teve nos anos 90 somado a inercia adquirida. Os BSDs vem tentando se re-colocar, mas é dificil atingir uma inercia igual, principalmente com a divulgação que o linux vem tendo na midia a alguns anos.

Abs,

Anônimo disse...

A licença BSD é uma licença arcaica e eu não a considero como 100% livre. Imagine se o Apache ou Kernel Linux fossem uma licença BSD ? A M$ iria adorar ter um Linux e Apache dela com código fechado.

Fernando Leme disse...

Algumas respostas estão nos livros indicados na palestra do Lawrence Lessig no google talks, disponível no youtube.
Vale a pena principalmente pra entender que "novo mercado" é esse?

Unknown disse...

Na verdade, eu considero a Licença BSD em si como anarquista e a GNU GPL como livre.

O anarquismo é facilmente reconhecido em algo onde você tem poderes para fazer o que lá queira, isto é, impedir que uma licença chamada livre exerça seu propósito em algo proprietário.

É o que diferencia a Licença BSD das licenças livres copyleft.

Anônimo disse...

Bem, o MacOS foi baseado (pelo menos há uns anos) em trechos do código do BSD. O MacOS é um sucesso de mercado, mas e aí? A parte do software livre morreu quando o código virou proprietário.

Se você pensar em programas com suporta via comunidade grande, como é o caso de vários programas GPL, há uma facilidade maior de se aproveitar códigos e compartilhar códigos de outras pessoas.