PUBLICIDADE

Foto do(a) blog

O lado livre da internet

As várias formas de liberdade

Como um programa ou projeto pode ser considerado livre?

Por CCSL
Atualização:

Por Nelson Lago*

PUBLICIDADE

Uma das definições formais do software livre, criada pela Free Software Foundation, determina que um software é livre se oferece as quatro liberdades seguintes aos seus usuários: usar o programa para qualquer finalidade; estudar e modificar o programa; redistribuir o programa; e distribuir versões modificadas do programa.

Por lei, o autor é detentor exclusivo dos direitos de uso e outros do software que produz. Assim, se ele pretende que seu software seja livre, precisa explicitamente declarar que seu programa oferece essas liberdades a seus usuários. Ele pode também determinar condições adicionais, desde que elas não contradigam essas liberdades; por exemplo, o autor pode proibir que seu nome seja usado como forma de endosso a um produto baseado em seu programa.

O texto que determina, do ponto de vista legal, as condições de uso e redistribuição do programa é a sua licença, e existem diferentes licenças comumente em uso que atendem, de diferentes maneiras, à definição de software livre. Há quem considere que elas são "burocracias chatas" que atrapalham mais que ajudam a causa do software livre. No entanto, um software disponibilizado sem nenhuma licença explícita não é software livre: por força da Lei, ele não pode ser utilizado, copiado, redistribuído ou modificado por ninguém a não ser o próprio autor.

Se as licenças são necessárias, também é necessário compreender o espírito por trás delas. É comum dividi-las em três categorias: permissivas, recíprocas totais e recíprocas parciais. Todas elas respeitam as quatro liberdades mencionadas acima, mas diferem em seu entendimento sobre como essas liberdades se aplicam a trabalhos derivados e à redistribuição por outras pessoas.

Publicidade

As licenças permissivas possibilitam que qualquer pessoa, ao redistribuir o programa (em sua versão original ou com modificações), tome para si os direitos do autor. Ou seja, qualquer um pode redistribuir um software livre desse tipo sob uma nova licença, não-livre. Em se tratando da versão original do programa, isso não tem muita consequência; afinal, é possível obter o mesmo programa sob licença livre diretamente do autor. Mas quando o programa contém modificações, essa nova versão do programa pode efetivamente deixar de ser livre. Muitos optam por esse tipo de licença porque elas incentivam a adoção do software (e, possivelmente, dos padrões tecnológicos associados) nos mais diferentes contextos, incluindo em produtos não-livres de empresas.

De outro lado, as licenças recíprocas totais impõem regras que exigem que novas versões do programa ou trabalhos derivados dele respeitem sempre as mesmas condições definidas originalmente pelo autor. Assim, se um pedaço de um programa livre com uma licença recíproca for utilizado como parte de um programa maior (o que é muito comum), esse programa maior deve ser distribuído sob a mesma licença livre. Vários autores preferem licenças desse tipo porque incentivam a criação de mais software livre e fortalecem a comunidade.

Finalmente, as licenças recíprocas parciais impõem restrições similares às recíprocas totais, mas apenas a novas versões do próprio programa; se o programa for utilizado como parte de um programa maior, esse programa maior não precisa estar sujeito às mesmas regras do programa original. Diversos autores consideram as licenças desse tipo interessantes por oferecer um meio termo em que o software que era originalmente livre permanece forçosamente livre, mas é possível utilizá-lo em produtos fechados.

As supostas vantagens comerciais de um ou outro tipo de licença são tema de muita discussão. É comum ouvir que as licenças permissivas são as mais favoráveis à exploração comercial, pois possibilitam que o software seja redistribuído de forma não-livre. Uma indicação de que essa visão é limitada é o sucesso comercial do Linux, cuja licença é recíproca. A explicação usual para esse sucesso é que as licenças recíprocas permitem às empresas distribuir seus produtos ou contribuições como SL por saberem que seus concorrentes não vão poder tomar o código e revendê-lo de forma fechada. Isso cria espaço para que essas empresas, mesmo sendo concorrentes, colaborem para o desenvolvimento do software.

A realidade mais provável é que diferentes tipos de projeto, diferentes comunidades e diferentes situações de uso se beneficiem de diferentes formas de distribuição. O que podemos ver é que a comunidade tem se fortalecido mesmo com as diferentes licenças comumente usadas. Mas como essas licenças se relacionam com as várias formas de exploração comercial do SL ainda é assunto de especulação.

Publicidade

*Nelson Lago é gerente técnico do CCSL-IME/USP

Comentários

Os comentários são exclusivos para assinantes do Estadão.