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.

Sobre Fábio dos Reis (1192 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*