Categorias de softwares livres e não livres

Categorias de softwares livres e não livres

Veja também Palavras confusas que você poderia evitar.

Este diagrama, criado por Chao-Kuei e atualizado por muitos outros desde então, explica as diferentes categorias de software. Está disponível nos formatos SVG e XFig, sob os termos de qualquer das seguintes licenças: GNU GPL (v2 ou posterior), GNU FDL (v1.2 ou posterior) ou Creative Commons Atribuição-CompartilhaIgual (v2.0 ou posterior).

Software livre

Software livre é software que vem com permissão para qualquer um copiar, usar e distribuir, com ou sem modificações, gratuitamente ou por um preço. Em particular, isso significa que o código-fonte deve estar disponível. “Se não é fonte, não é software”. Esta é uma descrição simplificada; veja também a definição completa.

Se um programa é livre, ele pode potencialmente ser incluído em um sistema operacional livre, como o GNU, ou versões livres como o sistema GNU/Linux.

Existem muitas diferentes maneiras de se fazer um programa livre — muitos detalhes que poderiam ser resolvidos em mais de uma maneira, e que ainda tornariam o programa livre. Algumas das possíveis variações são descritas abaixo. Para informações sobre licenças de software livre específicas, veja a página de lista de licenças.

Software livre é uma questão de liberdade, não preço. Mas empresas de software privativo geralmente usam o termo “free software” para referir-se ao preço. Algumas vezes eles querem dizer que você pode obter uma cópia binária sem nenhum custo; algumas vezes querem dizer que uma cópia está incluída no computador que você está comprando. Em ambos casos, isso não tem nada a ver com o que nós queremos dizer com software livre no projeto GNU.

Devido a essa potencial confusão, quando uma empresa de software disser que seu produto é “free software”, sempre verifique os termos de distribuição para ver se os usuários realmente possuem todas as liberdades que o software livre implica. Às vezes o software é mesmo livre; às vezes, não é.

Muitos idiomas possuem duas palavras diferentes para “free” (“livre”, em inglês) como em liberdade (“freedom”) e “free” como em preço zero (“gratis”). Por exemplo, o francês tem “libre” e “gratuit”. No inglês, há uma palavra “gratis” que se refere sem ambiguidade ao preço, mas não existe um adjetivo comum que se refira sem ambiguidade à liberdade. Então, se você está falando em um outro idioma, nós sugerimos que você traduza “free” para seu idioma para ficar mais claro. Veja a nossa lista de traduções do termo “free software” para várias outros idiomas.

Software livre é frequentemente mais confiável do que softwares não livres.

Código aberto (open source)

O termo software de “código aberto” é usado por algumas pessoas para dizer mais ou menos a mesma coisa que software livre. Isso não é exatamente a mesma classe de software: eles aceitam algumas licenças que nós consideramos restritivas demais, e há licenças de software livre que eles não aceitaram. Porém, as diferenças na extensão da categoria são pequenas: sabemos de apenas alguns casos em que código-fonte que é código aberto não é livre. Em princípio, pode acontecer de alguns programas livres serem rejeitados como código aberto, mas não sabemos se isso já aconteceu.

Nós preferimos o termo “software livre”, porque ele se refere à liberdade — algo que o termo “código aberto” não faz.

Software de domínio público

Software de domínio público é software não sujeito a copyright. Se o código fonte estiver no domínio público, este é um caso especial de software livre sem copyleft, o que significa que algumas cópias ou versões modificadas podem não ser livres.

Em alguns casos, um programa executável pode estar no domínio público, mas o código-fonte não estar disponível. Isso não é software livre, porque software livre requer acessibilidade ao código-fonte. Enquanto isso, a maioria dos softwares livres não está no domínio público; possui copyright, e os detentores deste copyright autorizaram legalmente permissão para que todo mundo o use livremente, usando uma licença de software livre.

Algumas vezes pessoas usam o termo “domínio público” de uma forma imprecisa para dizer “livre” ou “disponível gratuitamente”. No entanto, “domínio público” é um termo legal e significa, precisamente, “sem copyright”. Para maior clareza, recomendamos usar o termo “domínio público” para este significado apenas, e usar outros termos para transmitir os outros significados.

Sob a Convenção de Berna, da qual a maioria dos países são signatários, qualquer coisa escrita é automaticamente colocada sob copyright. Isso inclui programas. Portanto, se você deseja que um programa que você escreveu esteja no domínio público, você deve tomar algumas medidas legais para renunciar o copyright sobre ele; do contrário, o programa estará protegido sob copyright.

Software com copyleft

Software com copyleft é um software livre cujos termos de distribuição asseguram que todas as cópias de todas as versões carreguem mais ou menos os mesmos termos de distribuição. Isso significa, por exemplo, que as licenças copyleft geralmente proíbem que outros adicionem requisitos ao software (apesar de que um conjunto limitado de requisitos seguros adicionados pode ser permitido) e exigem tornar código-fonte disponível. Isto blinda o programa, e suas versões modificadas, de algumas das formas comuns de tornar um programa privativo.

Algumas licenças copyleft, tal como a GPL versão 3, bloqueiam outros meios de tornar em software em privativo, tal como tivoização.

No projeto GNU, nós distribuímos sob copyleft praticamente todo software que escrevemos, pois nosso objetivo é dar a todo usuário as liberdades que o termo “software livre” implica. Veja o nosso artigo sobre copyleft para maior explicação sobre como o copyleft funciona e por que o usamos.

Copyleft é um conceito geral; para realmente proteger um programa com copyleft, você precisa usar um conjunto específico de termos de distribuição. Existem muitas maneiras possíveis de se escrever esses termos de distribuição, então em princípio podem haver muitas licenças de software livre do tipo copyleft. No entanto, na prática quase todo software com copyleft usa a Licença Pública Geral GNU. Duas licenças diferentes do tipo copyleft normalmente são “incompatíveis”, o que significa que é ilegal a união de código usando uma das licenças a um código usando a outra licença; portanto, é bom para a comunidade que as pessoas usem uma única licença copyleft.

Software livre sem copyleft

Software livre sem copyleft vem do autor com permissão para redistribuir e modificar, e também para incluir restrições adicionais a ele.

Se um programa é livre mas não distribuído sob copyleft, algumas cópias ou versões modificadas podem não ser software livre. Uma empresa de software pode compilar o programa, com ou sem modificações, e distribuir o arquivo executável na forma de um produto privativo.

O X Window System ilustra isso. O X Consortium lançou o X11 com termos de distribuição que o torna software livre sem copyleft, e desenvolvedores subsequentes em sua boa parte seguiram a mesma prática. Uma cópia que tem esses termos de distribuição é software livre. No entanto, também existem versões não livres, e existem (ou pelo menos existiram) estações de trabalho e placas gráficas populares para as quais as versões não livres são as únicas que funcionam. Se você estiver usando este hardware, o X11 não é livre para você. Os desenvolvedores do X11 o tornaram não livre por um tempo; eles foram capazes de fazer isso, porque outros contribuíram seus códigos sob a mesma licença sem copyleft.

Software com licença permissiva e leniente

Licenças permissivas e lenientes incluem a licença X11 e as duas licenças BSD. Essas licenças permitem quase qualquer uso do código, incluindo distribuição de binários privativos com ou sem alteração do código-fonte.

Software coberto pela GPL

A GNU GPL (Licença Pública Geral) é um conjunto específico de termos de distribuição para aplicar copyleft a um programa. O Projeto GNU a utiliza como termos de distribuição para a maior parte dos softwares GNU.

Igualar software livre a software coberto pela GPL é, portanto, um erro.

O sistema operacional GNU

O sistema operacional GNU é um sistema operacional no estilo Unix, porém composto inteiramente de software livre, que nós, no Projeto GNU, desenvolvemos desde 1984.

Um sistema operacional no estilo Unix consiste em muitos programas. O sistema GNU inclui todos os pacotes oficiais do GNU. Ele também inclui muitos outros pacotes, como o X Window System e TeX, que não são softwares GNU.

A primeira versão de teste do sistema GNU completo foi em 1996. Isso inclui o GNU Hurd, nosso kernel, desenvolvido desde 1990. Em 2001, o sistema GNU (incluindo o GNU Hurd) começou a funcionar de maneira bastante confiável, mas o Hurd ainda não possuía alguns recursos importantes, então ele não era amplamente usado. Nesse meio tempo, o sistema GNU/Linux, um descendente do sistema operacional GNU que usa o Linux como kernel, em vez do GNU Hurd, se tornou um grande sucesso desde os anos 90. Como isso mostra, o sistema GNU não é um único conjunto estático de programas; usuários e distribuidores podem selecionar pacotes diferentes de acordo com suas necessidades e desejos. O resultado ainda é uma variante do sistema GNU.

Como o propósito do GNU é ser livre, todo componente no sistema operacional GNU é software livre. Porém, eles não precisam ser todos distribuídos sob copyleft; qualquer tipo de software livre é legalmente apropriado para inclusão se ajudar a atender requisitos técnicos.

Programas GNU

“Programas GNU” é equivalente a softwares GNU. Um programa Foo é um programa GNU se for software GNU. Nós também dizemos que é um “pacote GNU”.

Softwares GNU

Software GNU é um software lançado sob os auspícios do Projeto GNU. Se um programa é software GNU, nós também dizemos que é um programa GNU ou um pacote GNU. O README ou manual de um pacote GNU deve dizer que ele é um; também, o Diretório de Software Livre identifica todos os pacotes GNU.

A maior parte dos softwares GNU possui copyleft, mas nem todos; contudo, todo software GNU deve ser software livre.

Alguns softwares GNU foram escritos pela equipe da Free Software Foundation, mas a maior parte dos softwares GNU vem de muitos voluntários. (Alguns desses voluntário são pagos por empresas ou universidades, mas eles são voluntários para nós.) Algumas contribuições possuem copyright da Free Software Foundation; outras possuem copyright dos contribuidores que as escrevem.

Softwares GNU sujeito ao copyright da FSF

Os desenvolvedores de pacotes GNU podem transferir o copyright para a FSF, ou eles podem mantê-los. A escolha é deles.

Se eles transferiram o copyright para a FSF, o programa é um software GNU sujeito ao copyright da FSF, e a FSF pode impor sua licença. Se eles mantiveram o copyright, a imposição da licença é responsabilidade deles.

A FSF não aceita atribuições de copyright de software que não é um pacote oficial do GNU, como uma regra.

Software não livre

Software não livre é qualquer software que não é livre. Seu uso, redistribuição ou modificação é proibido, ou requer que você peça permissão, ou é restrito de tal forma que você não possa efetivamente fazê-lo livremente.

Software privativo

Software privativo é um outro nome para software não livre. No passado, nós subdividíamos software não livre em “software semilivre”, o qual poderia ser modificado e redistribuído não comercialmente, e “software privativo”, que não poderia. Mas nós descartamos tal distinção e agora usamos “software privativo” como sinônimo de software não livre.

A Free Software Foundation segue a regra de que não podemos instalar qualquer programa privativo em nossos computadores, exceto temporariamente para o propósito específico de escrever um substituto livre para aquele mesmo programa. Fora isso, achamos que não há justificativa possível para instalar um programa privativo.

Por exemplo, nós achamos justificável instalar Unix em nosso computador nos anos 80, porque o estávamos usando para escrever um substituto livre para Unix. Hoje em dia, que um sistema operacional livre está disponível, a desculpa não é mais aplicável; agora usamos nenhum sistema operacional não livre, e qualquer computador novo que instalamos precisa funcionar com um sistema operacional completamente livre.

Nós não insistimos que os usuários do GNU, ou contribuidores do GNU, tenham que viver com essa regra. Essa é uma regra que fizemos para nós mesmos. Mas esperamos que você decida segui-la também, para seu próprio bem.

Freeware

O termo “freeware” não possui uma definição clara e aceita, mas é muito usada para pacotes que permitem redistribuição mas não modificação (e seu código-fonte não está disponível). Estes pacotes não são software livre, portanto não use “freeware” para referir-se a software livre.

Shareware

Shareware é software que vem com permissão para redistribuir cópias, mas diz que qualquer um que continue usando uma cópia é obrigado a pagar por uma licença.

Shareware não é software livre, ou mesmo semilivre. Existe duas razões para isso:

Para maior parte dos sharewares, o código-fonte não está disponível; portanto, você não pode modificar o programa.

Shareware não vem com permissão para fazer uma cópia e instalá-la sem pagar uma licença, nem mesmo para indivíduos engajados a atividades não lucrativas. (Na prática, as pessoas frequentemente desrespeitam os termos da distribuição e fazem isso de qualquer forma, mas os termos não permitem isso).

Softwares privados

Software privado ou personalizado é um software desenvolvido para um usuário (geralmente uma organização ou empresa). Aquele usuário o mantém e o usa, e não o libera para o público como código-fonte ou como binários.

Um programa privado é um software livre (em algum sentido trivial) se seu único usuário tem as quatro liberdades. Em particular, se o usuário tem todos os direitos ao programa privado, o programa é livre. Porém, se o usuário distribui cópias para outros e não fornece as quatro liberdades com aquelas cópias, estas não são software livre.

Software livre é uma questão de liberdade, não de acesso. Em geral, nós não acreditamos que seja errado desenvolver um programa e não lançá-lo. Há ocasiões em que um programa é tão importante que pode-se argumentar que retê-lo do público é fazer errado para a humanidade. Porém, tais casos são raros. A maioria dos programas não são tão importantes, e recusar o lançamento deles não é particularmente errado. Portanto, não há conflito entre o desenvolvimento de software privado ou personalizado e os princípios do movimento software livre.

Quase todos os empregos para programadores são em desenvolvimento de software personalizado e, portanto, a maioria dos trabalhos de programação é, ou poderia ser, feita em uma forma compatível com o movimento software livre.

Software comercial

“Comercial” e “privativo” não são a mesma coisa! Software comercial é software desenvolvido por uma empresa como parte de seu negócio. A maior parte dos softwares comerciais é privativa, mas existem softwares livres comerciais, e softwares não comerciais e não livres.

Por exemplo, o GNU Ada é desenvolvido por uma empresa. Ele é sempre distribuído sob os termos da GNU GPL, e toda cópia é software livre; mas seus desenvolvedores vendem contratos de suporte. Quando seus vendedores falam com clientes em potencial, algumas vezes os clientes dizem, “Nós nos sentiríamos mais seguros com um compilador comercial”. Os vendedores respondem, “GNU Ada é um compilador comercial, apenas acontece de ser um software livre”.

Para o Projeto GNU, as prioridades são de outra ordem: o importante é que o GNU Ada é software livre; que ele é comercial é apenas um detalhe. No entanto, o desenvolvimento adicional do GNU Ada que resulta do mesmo ser comercial é definitivamente benéfico.

Por favor, ajude-nos a divulgar o fato de que software comercial livre é possível. Você pode fazer isso através de um esforço de não dizer “comercial” quando quer dizer “privativo”.

Leave a comment