Software livre

Disambig grey.svg Nota: Este artigo é sobre o termo que designa os programas de computador. Se procura pelo programa de televisão brasileiro, veja Programa Livre.
Question book-4.svg
Esta página ou secção cita fontes fiáveis e independentes, mas que não cobrem todo o conteúdo, o que compromete a verificabilidade (desde dezembro de 2013). Por favor, insira mais referências no texto. Material sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)
logotipo da Free Software Foundation

Software livre[1] é uma forma de manifestação de um software que, resumidamente, respeita a liberdade e o censo de comunidade do usuário. Não confundir com o movimento Open Source. Seus objetivos concedem aos usuários a liberdade de controle na execução e adaptação a sua computação e processamento de dados às suas necessidades (concessão plena liberdade de controle e independência, através da disponibilidade de código fonte para análise e alterações); bem como permitindo-lhes a liberdade social, para ser capaz de cooperar ativamente com todos os usuários e desenvolvedores de sua escolha.[2][3][4][5] Os usuários de software livre estão livres dessas atividades, porque eles não precisam pedir qualquer permissão, eles não estão restritos nas atividades por meio de licenças proprietárias restritivas (por exemplo, cópia restrita), ou requisitos de ter de concordar com as cláusulas restritivas dos outros (por exemplo, acordos de não divulgação), e eles não estão restritos desde o início (por exemplo, através deliberada a não disponibilidade de código fonte).

Os objetivos do software livre são atingidas por concessão dos seguintes direitos de liberdade: os usuários são livres para executar, copiar, distribuir, estudar, mudar e melhorar o software,[3][4] estas liberdades são explicitamente concedidas e não suprimidas (como é o caso do software proprietário). Assim, o software livre é uma questão de liberdade, não de preço (os usuários são livres – o que inclui a liberdade de redistribuir o software, que pode ser feito gratuitamente ou por uma taxa[6]). Software livre garante as liberdades dos usuários: estudar e modificar software, pela disponibilidade do código fonte, bem como a liberdade de copiar e distribuir.

Definições

Ilustração frequentemente usada como logo para o Projeto GNU.

As duas principais organizações internacionais responsáveis pela proteção e promoção do software livre, a Free Software Foundation (FSF) e a Open Source Initiative (OSI), atuam também para garantir que os termos Free Software e Open Source sejam utilizados de forma correta.

A Free Software Foundation considera um software como livre quando atende aos quatro tipos de liberdade para os usuários:

  1. A liberdade de executar o programa, para qualquer propósito;
  2. A liberdade de estudar o programa, e adaptá-lo para as suas necessidades.
  3. A liberdade de redistribuir cópias do programa de modo que você possa ajudar ao seu próximo;
  4. A liberdade de modificar(aperfeiçoar) o programa e distribuir estas modificações, de modo que toda a comunidade se beneficie.

Lembrando que o acesso ao código-fonte é um pré-requisito para as liberdades 1 e 3, uma vez que não é possível estudar ou adaptar o programa sem acessar o código-fonte.

Para que as quatro liberdades sejam satisfeitas é necessário que o programa seja distribuído juntamente com o seu código-fonte e que não sejam colocadas restrições para que os usuários alterem e redistribuam esse código.[7]

A liberdade de executar o programa significa que qualquer tipo de pessoa física ou jurídica pode utilizar o software em quantos computadores quiser, em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem nenhuma restrição imposta pelo fornecedor.

A liberdade de redistribuir o programa executável (em formato binário) necessariamente inclui a obrigatoriedade de disponibilizar seus códigos-fonte. Caso o software venha a ser modificado e o autor da modificação queira distribuí-lo, gratuitamente ou não, será também obrigatória a distribuição do código fonte das modificações, desde que elas venham a integrar o programa. 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.

A OSI, por conta da ambiguidade da palavra “free” em inglês, prefere a expressão Open Source, que em língua portuguesa é traduzida por software de código aberto ou software aberto. A disponibilidade do código-fonte não é condição suficiente para que ele seja considerado de código aberto. É necessário satisfazer dez critérios, inspirados nas Orientações sobre Software Livre do projeto Debian:

  1. Livre redistribuição: sua licença não pode restringir ninguém, proibindo que se venda ou doe o software a terceiros;
  2. Código-fonte: o programa precisa obrigatoriamente incluir código-fonte e permitir a distribuição tanto do código-fonte quanto do programa já compilado;
  3. Obras derivadas: a licença deve permitir modificações e obras derivadas que possam ser redistribuídas dentro dos mesmos termos da licença original;
  4. Integridade do código do autor: a licença pode proibir que se distribua o código-fonte original modificado desde que a licença permita a distribuição de patch files com a finalidade de modificar o programa em tempo de construção;
  5. Não discriminação contra pessoas ou grupos: a licença não pode discriminar contra pessoas ou grupos;
  6. Não discriminação contra áreas de utilização: a licença não pode restringir os usuários de fazer uso do programa em uma área específica;
  7. Distribuição da licença: Os direitos associados ao programa através da licença são automaticamente repassados a todas as pessoas às quais o programa é redistribuído sem a necessidade de definição ou aceitação de uma nova licença;
  8. Licença não pode ser específica a um produto: os direitos associados a um programa não dependem de qual distribuição em particular aquele programa está inserido. Se o programa é retirado de uma distribuição, os direitos garantidos por sua licença continuam valendo;
  9. Licenças não podem restringir outro software: a licença não pode colocar restrições em relação a outros programas que sejam distribuídos junto com o software em questão; e
  10. Licenças devem ser neutras em relação as tecnologias: nenhuma exigência da licença pode ser específica a uma determinada tecnologia ou estilo de interface.

Ideologia: as diferenças entre software livre e código aberto

Muitos defensores do software livre argumentam que a liberdade é essencial não só do ponto de vista técnico, mas também sob a ótica da moral e da ética. É neste aspecto que o movimento de software livre (liderado pela FSF) se distingue do movimento de código aberto (liderado pela OSI).[8]

Os defensores do código aberto (também conhecido como open source em inglês) normalmente argumentam a respeito das virtudes pragmáticas do software livre ao invés das questões morais. A definição de software livre da FSF concentra-se prioritariamente na questão da liberdade do usuário, a definição de Software Aberto da OSI abrange as mesmas características, mas incluem algumas restrições adicionais focadas no modelo corporativo e em negócios comerciais elaborados em torno do software. Não há uma grande discordância entre as duas vertentes e boa parte da comunidade se identifica com ambas as organizações (FSF e OSI). A diferença sutil está no discurso e no público-alvo. O conjunto de licenças aprovadas pela FSF e pela OSI é quase idêntico e, portanto, em termos pragmáticos, podemos considerar que o movimento pelo software livre e a iniciativa pelo código aberto se preocupam com o mesmo software. Desta forma, todo software de código aberto não pode ser considerado um software livre. O simples fato do programa estar com seu código aberto, não garante nada sobre a sua distribuição, modificação e comercialização. Pode-se ter um programa com código aberto, mas, impossibilitado de modificações, contrariando o conceito de software livre.[9]

A diferença entre software livre e software gratuito

Segundo a Free Software Foundation,[10] é comum que a comunidade de usuários confunda softwares gratuitos (freewares) com softwares livres. No entanto, a fundação enfatiza que há um grande equívoco nisto e que usuários devem entender que um software livre - ao contrário de um software gratuito - é aquele que respeita a liberdade e senso de comunidade dos usuários. Dessa forma, um software livre tem como marcante a característica de dar ao usuário a liberdade de copiar, distribuir, modificar e estudar o programa sem pagar ou pedir permissão ao autor. Para garantir essas liberdades, o software livre garante aos seus usuários acesso a seu código fonte. Diferentemente disso, um software gratuito é apenas um programa gratuitamente copiado e distribuído em sua forma executável, não podendo ser modificado ou estudado dada a ausência do fornecimento do código fonte.[11] Richard Stallman cita que "para entender o conceito, pense em 'liberdade de expressão', não em “cerveja grátis".[4] Isto significa que um desenvolvedor que distribuir um software livre pode cobrar por isto ou fornecer o software de maneira gratuita.[12]

Licenças baseadas em contratos Licenças

A maioria das licenças de software livre são baseadas no copyright, e existem limites para que tipo de requerimentos podem ser impostos por meio do copyright. Se uma licença baseada no copyright respeita a liberdade nas maneiras descritas acima, é improvável que ela possua algum outro tipo de problema nunca antes antecipado (embora isso ocorra ocasionalmente). No entanto, algumas licenças de software livre baseadas em contratos e contratos podem impor uma lista muito maior de restrições possíveis. Isso significa que existem muitas maneiras nas quais tal licença pode ser inaceitavelmente restritiva e não livre.