O Projeto GNU e Software Livre
O Projeto GNU e Software Livre
Por Fábio dos Reis
Software livre é software sobre o qual os usuários possuem a liberdade para distribuir e alterar. Alguns usuários podem obter cópias sem custo, enquanto outros pagam para obter essas cópias, dependendo da forma como software é distribuído.
O projeto GNU foi um projeto de desenvolvimento de software livre para um sistema operacional completo (kernel e programas de sistema), colaborativo, que foi anunciado em setembro de 1983 por Richard Stallman no MIT, com o objetivo de fornecer aos usuários de computadores liberdade e controle totais no uso de seus equipamentos por meio do desenvolvimento colaborativo de software, o qual é baseado nos chamados “direitos de liberdade”, a saber: direitos de executar, compartilhar, estudar e modificar os programas por qualquer um que deseje.
Esses direitos são garantidos por uma licença especial, a GPL (General Public License / Licença Pública Geral, em português), que garante que o software utilizado seja denominado Software Livre (Free Software), onde a palavra “Livre” se refere às quatro liberdades citadas acima (e não ao custo do software, como muitas vezes se supõe – erroneamente). “Free”, neste sentido, significa que você pode realizar várias ações sobre o software livre que não são possíveis de se realizar em um software proprietário. A licença GPL é mantida pela organização FSF – Free Software Foundation, fundada pelo próprio Richard Stallman, em 1985. Podemos resumir essas quatro liberdades da seguinte forma:
- Liberdade 0: Executar o programa para qualquer propósito desejado
- Liberdade 1: Estudar como o programa funciona, e alterá-lo para que ele funcione da maneira que você deseja.
- Liberdade 2: Redistribuir cópias do software de modo que você possa ajudar seu próximo.
- Liberdade 3: Melhorar o programa, e liberar as melhorias para o público, de modo que toda a comunidade seja beneficiada.
Para que seja possível implementar as liberdades 1 e 3 é necessário que haja acesso ao código-fonte do software disponível. Softwares para os quais o código-fonte está disponível livremente são denominados softwares de Código Aberto (Open Source).
Quando o código é redistribuído, a mesma licença deve ser distribuída com ele, de modo que o código e a licença são inseparáveis. Assim, se você obtiver o código de um software a partir da Internet, por exemplo, e o modificar, deve distribuí-lo juntamente com a licença GPL, caso deseje repassá-lo adiante. Chamamos esse esquema de “Copyleft“, pois ele dá direitos em vez de limitá-los, em contraste com o esquema tradicional de copyright.
Algumas das regras presentes na GPL incluem:
- O software GPL deve estar disponível em forma de código-fonte e ser usado para quaisquer propósitos desejados pelo usuário.
- É expressamente permitido modificar o código e distribui-lo (modificado ou não), desde que os mesmos direitos sejam repassados juntamente com o software.
- Também é expressamente permitido distribuir ou vender software GPL compilado (executável). Neste caso, o código-fonte e os direitos GPL devem ser fornecidos junto com o software executável, ou ser disponibilizado se for requisitado.
- Caso você escreva um novo programa que utiliza partes de um programa GPL existente, o novo programa será considerado como um trabalho derivado e deverá ser distribuído sob a licença GPL também.
A licença GPL não discorre a respeito de preços que devem ou podem ser praticados para comercialização de software. É completamente legal distribuir gratuitamente cópias do software GPL ou então cobrar por elas – desde que o código-fonte seja fornecido ou disponibilizado se requisitado, e o receptor do software também recebe os direitos GPL. Em outras palavras, software GPL não é necessariamente Freeware (software grátis).
A licença GPL completa, que atualmente está na versão 3, pode ser consultada no site oficial do projeto GNU, que é o www.gnu.org/licenses/licenses.html
Um outro termo muito importante e utilizado pela comunidade do software livre é FOSS – Free and Open Source Software, que indica que um software é livre e ao mesmo tempo de código aberto.
A palavra “Free” em inglês é um termo ambíguo, podendo assumir mais de um significado. Por exemplo, pode significar “Preço igual a zero (grátis)”, ou “Livre (com liberdade)”, e é com este último significado que deve ser encarada a expressão “Free Software”.
Exemplos de Software Livre
A seguir temos uma seleção de alguns dos mais importantes softwares livres ou Open Source disponíveis atualmente para sistemas Linux (muitos também possuem versões para outros sistemas operacionais, como o Windows, BSD e Mac OS X):
- LibreOffice: Pacote de escritórios que contém processador de textos, planilha eletrônica, software para apresentações e banco de dados, editor de equações e gerador de gráficos.
- Samba: Software para criação de servidores de arquivos no Linux, de modo que clientes Windows possam acessá-los pela rede.
- GIMP: Programa para edição de fotos e imagens no estilo do Adobe Photoshop.
- MySQL: Servidor de banco de dados relacional amplamente utilizado na Web. O website do autor utiliza este banco de dados.
- Audacity: Programa para gravação de áudio, mesa de mixagem de som e estação para edição de áudio, incluindo versões para Microsoft Windows e Mac OS X também.
- Apache: O mais popular servidor Web na Internet. Mais da metade dos sites existentes atualmente rodam sobre o Apache.
Outras licenças
Existem outras licenças no mundo do software FOSS. Algumas delas são:
Licença BSD
Essa licença se originou na Universidade da Califórnia a partir da distribuição Unix de Berkeley e ela é muito simples: quem recebe o software basicamente tem permissão de fazer com o software o que bem entender, desde que não passe a impressão de que seu uso seja endossado pela Universidade. O texto da licença deve ser entregue junto do código-fonte do programa e sua documentação.
Uma diferença entre a licença BSD e a licença GPL é a de que na licença BSD é possível integrar software que use essa licença em um novo projeto de software sem que seja obrigatório distribui-lo juntamente com o código-fonte, como acontece com software sob licença GPL.
Licença Apache
A licença Apache se parece com a licença BSD, pois permite o uso e adoção do código licenciado sem que código modificado seja disponibilizado para o público. Porém, essa licença é mais complexa que a licença BSD, pois possui cláusulas que dizem respeito a patentes e registros de marca, entre outras.
O Manifesto GNU
Stallman publicou um texto denominado “Manifesto GNU” ao anunciar o projeto, e esse manifesto se inicia com as seguintes linhas:
“GNU, que significa Gnu´s Not UNIX, é o nome do software de sistema completo e compatível com UNIX que eu estou escrevendo de modo que eu possa cedê-lo de forma livre para qualquer um que queira usá-lo”.
(Stallman, Richard. Manifesto GNU).
Para que todo o software executado em um computador pudesse ser considerado livre, um sistema operacional também deveria ser desenvolvido seguindo essa filosofia, e Stallman incluiu isso como meta primária do projeto GNU, e para isso os desenvolvedores trabalharam durante muito tempo em um projeto de kernel denominado GNU Hurd.
Como vimos na introdução do Manifesto, a palavra GNU foi escolhida por Stallman para batizar seu sistema e é um acrônimo recursivo que significa “GNU is Not Unix” (GNU não é Unix), pois o sistema operacional a ser criado teria o design baseado no Unix, mas sem usar nenhum código proprietário.
Em 1991 os desenvolvedores no projeto GNU já haviam desenvolvido uma grande quantidade de softwares e componentes requeridos para a criação de um sistema operacional livre completo, mas ainda não possuíam um kernel – ainda estava em desenvolvimento o kernel GNU Hurd, porém ainda longe de ser completado.
Hoje, o sistema operacional GNU roda sobre o kernel do FreeBSD, possuindo compatibilidade binária com o Linux (software de um sistema pode ser executado no outro), e também sobre versões de pré-lançamento do Hurd e Darwin, neste caso sem a compatibilidade com o Linux.
GNU + Kernel do Linux = Sistema Completo
Em 1992, o kernel 0.99 do Linux foi lançado por Linus Torvalds sob a licença GNU GPL, de modo que desenvolvedores do Linux e de programas GNU puderam trabalhar em conjunto para integrar os componentes GNU com esse kernel e, assim, criar um sistema operacional totalmente completo, funcional – e livre.
O desenvolvimento do Linux é realizado pela Comunidade Linux, que é composta por milhares de programadores no mundo todo que utilizam o sistema e enviam melhorias para os mantenedores. Além de programadores individuais, muitas empresas também colaboram com o desenvolvimento do Linux (kernel) e das aplicações que rodam sobre ele, incluindo grandes corporações como IBM, Intel e Oracle, entre outras.
O Linux é um sistema de código aberto, ou Open Source, o que significa que o código fonte do sistema pode ser obtido livremente para análise, estudo ou modificação – característica que permite trazer maior segurança do sistema, além de muito maior agilidade na detecção e correção de erros e bugs.
O kernel do Linux e grande parte do software que compõe o sistema são distribuídos sob a licença GPL.
Próximo: O que são Distribuições Linux
Escreva um comentário