Software Livre

O que é software livre?

Versão em Áudio

Por “software livre” devemos entender aquele software que respeita a liberdade e senso de comunidade dos usuários. Portanto, isso significa que os usuários possuem a liberdade de executar, copiar, distribuir, estudar, mudar e melhorar o software. Assim sendo, “software livre” é uma questão de liberdade, não de preço. 

Nesse mês de dezembro, vou comentar sobre software livre e como você, como usuário, pode ajudar nesta causa importante.

Os quatro princípios do software livre

Um programa é considerado livre se os usuários que o utilizarem poderem exercer as quatro liberdades essenciais que todo software livre deve ter, são elas:

  • A liberdade de executar o programa como você desejar, para qualquer propósito;
  • Estudar como o programa funciona, e adaptá-lo às suas necessidades. Por isso, o acesso ao código-fonte é um pré-requisito;
  • Redistribuir cópias de modo que você possa ajudar outros;
  • Distribuir cópias de suas versões modificadas a outros. Desta forma, você pode dar a toda comunidade a chance de beneficiar de suas mudanças;

Um software é livre se ele dá aos usuários todas essas liberdades de forma adequada. Do contrário, ele é não livre. Sendo assim, essas liberdades devem ser aplicadas em qualquer código do qual planejamos fazer uso, ou que levamos outros a fazer uso para que assim possam usufruir dos mesmos princípios que nós tivemos acesso.

Vale ressaltar que software livre não significa “não comercial”. Significa dizer que o software deve estar disponível para uso, desenvolvimento e distribuição comercial. Desenvolvimento comercial de software livre deixou de ser uma raridade e estava cada vez mais presente em ambientes corporativos.

Você pode ter pago por suas cópias de software livre, ou você pode tê-las obtido a custo zero, mas independentemente de como você conseguiu suas cópias, você sempre deve ter a liberdade para copiar e mudar o software, ou mesmo para vender cópias.

Um programa livre deve oferecer as quatro liberdades a qualquer usuário que obtenha uma cópia do software, desde que o usuário tenha atendido até o momento com as condições da licença livre que cobre o software. 

Colocar algumas das liberdades fora dos limites para alguns usuários, ou exigir que os usuários paguem, em dinheiro ou em espécie, para exercê-las, equivale a não conceder as liberdades em questão e, portanto, torna o programa não-livre, que reserva alguns direitos.

Esclarecendo os quatro princípios

Tela inicial da instalação do debian.
Tela inicial da instalação do debian.

Para esclarecer um pouco melhor como os quatro princípios do software livre podem ser exercidos, vou comentar sobre cada um deles.

A liberdade de executar o programa como você desejar

A liberdade de executar o programa significa que qualquer tipo de pessoa ou organização é livre para usá-lo em qualquer tipo de sistema computacional, ou para qualquer tipo de trabalho e propósito, sem que seja necessário comunicar ao desenvolvedor ou qualquer outra entidade específica. 

Portanto, é o propósito do usuário que importa e não o do desenvolvedor. Você, como usuário, é livre para rodar o programa para seus satisfazer os seus propósitos. No evento de você distribuir para outra pessoa, ela também será livre para executá-lo com os propósitos dela, mas você não é intitulado a impor seus propósitos sobre ela.

A liberdade de executar o programa como você deseja significa que você não está proibido ou impedido de executá-lo. Isso não tem nada a ver com qual funcionalidade o programa possui, se ele é tecnicamente capaz de funcionar em qualquer ambiente dado ou se ele é útil para alguma atividade computacional específica.

A liberdade de estudar o código-fonte

Para que os princípios de modificar o software e publicar versões modificadas façam sentido, você precisa ter acesso ao código-fonte. Consequentemente, o acesso completo ao código-fonte é uma condição necessária para o software livre.

Este princípio inclui a liberdade de usar sua versão modificada em lugar da original. Se um programa é entregue num produto projetado para rodar a versão de outra pessoa, mas se recusa a rodar a sua, este princípio não passa de uma pretensão vazia ao invés de realidade prática. Portanto, esses dois softwares não são software livre mesmo que o código-fonte a partir do qual foram compilados seja livre.

Uma maneira importante de modificar um programa é agregar a ele módulos e sub-rotinas livres. Se a licença do programa diz que você não pode agregar a ele um módulo com uma licença adequada — por exemplo, se ele requer que você seja o detentor dos direitos autorais de qualquer código que adicionar — então essa licença é muito restritiva para ser qualificada como livre.

Se uma modificação constitui ou não um aperfeiçoamento é uma questão subjetiva. Se o seu direito de modificar um programa é limitado, fundamentalmente, a mudanças que outra pessoa considere um aperfeiçoamento, o programa não é livre.

A liberdade de distribuir cópias

Liberdade para distribuir significam que você é livre para redistribuir cópias, modificadas ou não, gratuitamente ou cobrando uma taxa pela distribuição, a qualquer um, em qualquer lugar. Ser livre para fazer tudo isso significa (entre outras coisas) que você não deve ter que pedir ou pagar pela permissão para fazê-lo.

Você também deve ter a liberdade de fazer modificações e usá-las privativamente ou em seu trabalho ou lazer, sem sequer mencionar que eles existem. Se publicar suas modificações, você não deve ser obrigado a avisar ninguém em particular, ou de qualquer modo em particular.

A liberdade de distribuir versões modificadas

O quarto princípio inclui a liberdade de publicar quaisquer versões modificadas como software livre. Uma licença livre também pode permitir outras maneiras de liberá-las; em outras palavras, ela não tem que ser uma licença copyleft. No entanto, a licença que requer que modificações sejam não livres não se qualifica como uma licença livre.

A liberdade de redistribuir cópias deve incluir formas executáveis ou binárias do programa, bem como o código-fonte, tanto da versão modificada quanto da inalterada. Distribuir programas em formato executável é necessário para sistemas operacionais livres e convenientemente instaláveis.

Não há problemas se não for possível produzir uma forma binária ou executável pois algumas linguagens de programação não suportam este recurso, mas deve ser concedida a liberdade de se redistribuir nessas formas caso seja desenvolvido um meio de criá-las.

A licença Copyleft

Tela inicial do ubuntu, um sistema operacional livre
Tela inicial do ubuntu, um sistema operacional livre

Copyleft é uma licença para tornar um programa, ou qualquer outra obra livre e exigir que todas as versões modificadas e extensões do programa também sejam livres. O modo mais simples de tornar um software livre é colocá-lo em domínio público, sem copyright.

Isto permite que as pessoas compartilhem o programa e suas melhorias, se elas estiverem dispostas a tal. Mas isto também permite que pessoas não cooperativas transformem o programa em software proprietário. 

No Projeto GNU, o objetivo é dar a todos os usuários a liberdade de redistribuir e modificar o software GNU. Se algum intermediário fosse capaz de retirar a liberdade, nosso código poderia “ter muitos usuários”, mas ele não os daria liberdade.

Então, em vez de colocar o software GNU em domínio público, nós o tornamos “copyleft”. O copyleft diz que qualquer um que distribui o software, com ou sem modificações, deve passar adiante a liberdade de copiar e modificar novamente o programa. O copyleft garante que todos os usuários tenham liberdade.