terça-feira, 26 de agosto de 2008

Definição

Um software é considerado como livre quando atende aos quatro tipos de liberdade para os usuários do software definidas pela Free Software Foundation:

  • A liberdade para executar o programa, para qualquer propósito (liberdade nº 0);
  • A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade nº 1). Acesso ao código-fonte é um pré-requisito para esta liberdade;
  • A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2);
  • A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade;

A liberdade de executar o programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem que seja necessário atender a alguma restrição imposta pelo fornecedor.

A liberdade de redistribuir deve incluir a possibilidade de se repassar os códigos-fonte bem como, quando possível, os arquivos binários gerados da compilação desses códigos, seja em sua versão original ou modificada. Não é necessária a autorização do autor ou do distribuidor do software para que ele possa ser redistribuído, já que as licenças de software livre assim o permitem.

Para que seja possível estudar ou modificar o software (para uso particular ou para distribuir) é necessário ter acesso ao código-fonte. Por isso a disponibilidade desses arquivos é pré-requisito para a liberdade do software. Cada licença determina como será feito o fornecimento do fonte para distribuições típicas, como é o caso de distribuições em mídia portátil somente com os códigos binários já finalizados (sem o fonte). No caso da licença GPL, a fonte deve ser disponibilizada em local de onde possa ser acessado, ou deve ser entregue ao usuário, se solicitado, sem custos adicionais (exceto transporte e mídia).

Para que essas liberdades sejam reais, elas devem ser irrevogáveis. Caso o desenvolvedor do software tenha o poder de revogar a licença, o software não é livre.

Tais liberdades não fazem referência aos custos envolvidos. É possível que um software-livre não seja gratuito. Quando gratuito, empresas podem explorá-lo comercialmente através do serviço envolvido (principalmente suporte).

A maioria dos softwares livres é licenciada através de uma licença de software livre, como a GNU GPL, a mais conhecida.

Software Livre e Software em Domínio Público

Software livre é diferente de software em domínio público. O primeiro, quando utilizado em combinação com licenças típicas (como as licenças GPL e BSD), garante a autoria do desenvolvedor ou organização. O segundo caso acontece quando se passam os anos previsto nas leis de cada país de proteção dos direitos do autor e este se torna bem comum. Ainda assim, um software em domínio público pode ser considerado como um software livre.

Software Livre e Copyleft

Licenças como a GPL contêm um conceito adicional, conhecido como Copyleft, que se baseia na propagação dos direitos. Um software livre sem copyleft pode ser tornado não-livre por um usuário, caso assim o deseje. Já um software livre protegido por uma licença que ofereça copyleft, se distribuído, deverá ser sob a mesma licença, ou seja, repassando os direitos.

Associando os conceitos de copyleft e software livre, programas e serviços derivados de um código livre devem obrigatoriamente permanecer com uma licença livre (os detalhes de quais programas, quais serviços e quais licenças são definidos pela licença original do programa). O usuário, porém, permanece com a possibilidade de não distribuir o programa e manter as modificações ou serviços utilizados para si próprio.

Venda de Software Livre

As licenças de software livre permitem que eles sejam vendidos, mas estes em sua grande maioria estão disponíveis gratuitamente.

Uma vez que o comprador do software livre tem direito as quatro liberdades listadas, este poderia redistribuir este software gratuitamente ou por um preço menor que aquele que foi pago.

Como exemplo poderíamos citar o Red Hat Enterprise Linux que é comercializado pela Red Hat, a partir dele foram criados diversos clones como o CentOS que pode ser baixado gratuitamente.

Muitas empresas optam então por distribuir o mesmo produto sobre duas ou mais licenças, geralmente uma sobre uma licença copyleft e gratuita como a GPL e outra sobre uma licença proprietária e paga.

Movimento Software Livre

Os desenvolvedores de software na década de 70 frequentemente compartilhavam seus programas de uma maneira similar aos princípios do software livre. No final da mesma década, as empresas começaram a impor restrições aos usuários com o uso de contratos de licença de software. Em 1983, Richard Stallman iniciou o projeto GNU, e em outubro de 1985 fundou a Free Software Foundation (FSF). Stallman introduziu os conceitos de software livre e copyleft, os quais foram especificamente desenvolvidos para garantir que a liberdade dos usuários fosse preservada.

Ideologia: as diferenças entre Software Livre e Código Aberto

Muitos defensores do software livre argumentam que a liberdade é valiosa não só do ponto de vista técnico, mas também sob a ótica da moral e ética. É neste aspecto que o movimento de software livre (encabeçado pela FSF) se distingue do movimento de código aberto (encabeçado pela OSI), que enfatiza a superioridade técnica em relação a software proprietário, ao menos em potencial.

Os defensores do código aberto (também conhecido como Open source em inglês) argumentam a respeito das virtudes pragmáticas do software livre ao invés das questões morais. A discordância básica dos movimentos está no discurso. Enquanto o foco do movimento encabeçado pela FSF chama a atenção para valores morais, ética, direitos e liberdade o movimento encabeçado pela OSI defende um discurso mais agradável ás empresas. por este fato o movimento de software livre condena o uso e desenvolvimento de software proprietário, enquanto o movimento de código aberto é conivente com o desenvolvimento de software proprietário.

As definições oficiais de software livre e de código aberto são as mesmas, porém escritas de formas distintas. A OSI define o código aberto usando a definição Debian de software livre, que é apenas um detalhamento das 4 liberdades da FSF. Desta forma todo software de código aberto é também software livre.

O movimento software livre não costuma tomar uma posição sobre trabalhos que não sejam software e documentação dos mesmos, mas alguns defensores do software livre acreditam que outros trabalhos que servem um propósito prático também devem ser livres (veja Free content).

Para o Movimento do software livre, que é um movimento social, não é ético aprisionar conhecimento científico, que deve estar sempre disponível, para assim permitir a evolução da humanidade. Já o movimento pelo Código Aberto, que é um movimento mais voltado ao mercado, prega que o software desse tipo traz diversas vantagens técnicas e econômicas. O segundo surgiu para levar as empresas a adotarem o modelo de desenvolvimento de software livre.

Como a diferença entre os movimentos "Software Livre" e "Código Aberto" está apenas na argumentação em prol dos mesmos softwares, é comum que esses grupos se unam em diversas situações ou que sejam citados de uma forma agregadora através da sigla "FLOSS" (Free/Libre and Open Source Software).

Movimentos Relacionados

Inspirados na GPL e nas propostas do movimento do software livre, foi criado um repositório de licenças públicas, chamado Creative Commons, cujos termos se aplicam a variados trabalhos criativos, como criações artísticas colaborativas, textos e software. Entretanto a maioria destas licenças não são reconhecidas como realmente livres pela FSF e pelo movimento de software livre.

O software livre está inserido num contexto mais amplo onde a informação (de todos os tipos, não apenas software) é considerada um legado da humanidade e deve ser livre (visão esta que se choca diretamente ao conceito tradicional de propriedade intelectual). Coerentemente, muitas das pessoas que contribuem para os movimentos de Conhecimento Aberto — movimento do software livre, sites Wiki, Creative Commons, etc. — fazem parte da comunidade científica.

Cientistas estão acostumados a trabalhar com processos de revisão mútua (ou por pares) e o conteúdo desenvolvido é agregado ao conhecimento científico global. Embora existam casos onde se aplicam as patentes de produtos relacionados ao trabalho científico, a ciência pura, em geral, é livre.

Software Freedom Day

No dia 15 de setembro comemora-se o Dia da Liberdade do Software (Software Freedom Day) com eventos envolvendo as comunidades de usuários e desenvolvedores de software livre em todo o mundo.