Definições

Nesta página tentarei esclarecer algumas das dúvidas mais comuns entre os(as) novos(as) usuários(as) dos sistemas operacionais GNU/Linux, trazendo algumas definições e explicações sobre alguns assuntos relativos ao tema, e tudo, é claro, de acordo com a minha opinião e visão das fontes consultadas. As definições e explicações aqui apresentadas podem sofrer variações e/ou adições ao longo do tempo, ou mesmo ter significados diferentes de acordo com a fonte de pesquisa que você utilizar.

Para começar, o que é o tal do software livre?

A primeira coisa que temos de entender sobre o assunto é que o software livre tem de ser enxergado sob a visão da liberdade, não do preço. A denominação inglesa ” free software ” muitas vezes confunde as pessoas, e muitas delas acham que o ” free ” quer dizer simplesmente que o software é ” grátis “. Veremos que a real tradução dessa expressão, através da filosofia que ela traz embutida, quer transmitir muito mais do que a idéia de economia.

Dispomos de alguns requisitos, compilados por duas organizações principais e distintas, para que um software possa ser considerado livre. A primeira lista de que irei tratar é a compilada pela Free Software Foundation, empresa criada em 1984, e que traz quatro liberdades básicas que um software deve possuir/conceder para que possa ser considerado livre:

Liberdade nº 0: A liberdade de executar o programa para qualquer propósito;

Liberdade nº 1: A liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades. Acesso ao código fonte é um pré-requisito para esta liberdade;

Liberdade nº 2: A liberdade de redistribuir cópias deste programa, então você poderá ajudar ao(à) seu(ua) vizinho(a);

Liberdade nº 3: A liberdade de melhorar o programa, e liberar suas melhorias ao público, assim toda a comunidade é beneficiada. Acesso ao código fonte é um pré-requisito para esta liberdade.

Um programa é software livre se os(as) usuários(as) possuem todas essas liberdades. Portanto, você deveria ser livre para redistribuir cópias dele, com ou sem modificações, gratuitamente ou cobrando por isso, a qualquer um(a) em qualquer lugar. Ser livre para fazer essas coisas significa ( entre outras coisas ) que você não tem de pedir ou pagar por permissão.

Você deveria também ter a liberdade de realizar modificações e usá-las em seu trabalho, ou por diversão, sem nem mesmo mencionar que elas existem. Se você divulgar as suas modificações, não deveria ser-lhe requerido que notificasse a alguém em particular, ou de algum modo em particular.

A liberdade de executar o programa, significa a liberdade para qualquer tipo de pessoa, ou organização, de utilizá-lo em qualquer sistema computacional, para qualquer tipo de trabalho e propósito, sem que seja necessário comunicar aos desenvolvedores ou qualquer entidade.

Nesta liberdade, é o propósito do(a) usuário(a) que importa, não o do(a) desenvolvedor(a). Você como usuário(a) é livre para executá-lo para os seus propósitos, e se você distribuí-lo a outra(s) pessoa(s), ela(s) também será(ão) livre(s) para executá-lo para o(s) propósito(s) dela(s).

Entretanto, certos tipos de regras quanto à sua distribuição são aceitáveis, desde que não sejam conflitantes com as liberdades citadas acima. Por exemplo, a copyleft ( de uma maneira muito simples ) é uma regra que diz que, quando você distribui um software livre, você não pode adicionar-lhe restrições que neguem às outras pessoas as liberdades centrais. Essa regra não conflita com as liberdades; ao invés disso as protege.

Essas são as liberdades básicas principais para que um software possa ser considerado livre.

Em adição a essas liberdades a Open Source Iniciative, criada em 1998, nos traz mais alguns pré-requisitos que nos explicam o que é um software de código aberto:

1 – Livre Redistribuição: A licença não deve restringir qualquer parte de vender ou doar o software como um componente de uma agregação de softwares distribuídos contendo programas de várias fontes diferentes. A licença não deve requerer royalty ou outro pagamento por tal venda;

2 – Código Fonte: O programa deve incluir o código fonte, e deve permitir a sua distribuição nesse formato ou em forma compilada. Onde alguma forma do produto não for distribuída com o código fonte, devem haver maneiras bem divulgadas de se obter esse código fonte, preferencialmente por não mais que um custo razoável de reprodução, ou baixando via Internet sem custos. O código fonte deve estar preferencialmente em um formato no qual um programador possa modificá-lo. Código fonte deliberadamente ofuscado não é permitido. Formas intermediárias, como as da saída de um pré-processador, ou de um tradutor, não são permitidas;

3 – Trabalhos Derivados: A licença deve permitir modificações e trabalhos derivados, e deve permitir também que sejam distribuídas sob os mesmos termos do software original;

4 – Integridade do Autor do Código Fonte: A licença talvez restrinja a distribuição do código fonte na forma modificada somente se ela permitir a distribuição de arquivos de correção com o código fonte, para o propósito de modificar o programa em tempo de execução. A licença deve permitir explícitamente a distribuição do programa construído a partir de um código fonte modificado. A licença talvez requeira que trabalhos derivados carreguem um nome ou número de versão diferente do software original.

5 – Não Discriminar Pessoas ou Grupos: A licença não deve discriminar pessoas ou grupos de pessoas;

6 – Não Discriminar Campos de Trabalho: A licença não deve restringir ninguém de fazer uso do programa em um específico campo de trabalho. Por exemplo, ela não pode restringir um programa de ser usado em um negócio, ou pesquisa científica;

7 – Distribuição de Licença: Os direitos ligados ao programa devem ser aplicados a todos(as) àqueles(as) a quem o software é distribuído sem a necessidade de execução de licenciamento adicional entre elas;

8 – A Licença Não Deve Ser Específica Para Um Produto: Os direitos ligados a um programa não devem depender de que este seja parte de uma distribuição particular de softwares. Se o programa é extraído daquela distribuição, e utilizado ou distribuído dentro dos termos de sua licença, todas as partes daquele programa que é redistribuído devem ter os mesmos direitos que são garantidos em conjunto com a distribuição original do software.

9 – A Licença Não Deve Restringir Outro Software: A licença não deve colocar restrições em outro software que seja distribuído em conjunto com o software licenciado. Por exempo, a licença não deve insistir para que todos os outros programas distribuídos na mesma mídia sejam softwares livres;

10 – A licença Deve Ser Neutra Tecnologicamente: Nenhuma provisão da licença deve ser atríbuída a uma tecnologia individual ou estilo de interface.

Vemos então que as definições de um software de código aberto, compiladas pela Open souce Iniciative, são bem parecidas com as da Free Software Foundation, só que as explicam de uma forma mais ampla e detalhada.

Para entender melhor em como somos beneficiados(as) por essas liberdades, recomendo a leitura de um artigo escrito por Richard Stallman, idealizador e fundador da Free Software Foundation e das quatro liberdades fundamentais de um software livre, e que traduzi livremente para o português. O texto é entitulado ” Porque as escolas deveriam utilizar exclusivamente softwares livres. “

E o que é o Linux afinal?

Linux é o nome pelo qual hoje a maioria das pessoas conhecem o sistema operacional comparável ao Windows ou Mac OS, porém esta denominação refere-se somente ao núcleo ( ou kernel ) do sistema operacional de código fonte aberto e livre.

Inicialmente, ele foi desenvolvido apenas como um hobby pelo então estudante da Universidade de Helsink, na Finlândia, Linus Torvalds. Linus tinha interesse no Minix, um pequeno sistema Unix, e decidiu desenvolver um sistema que excedesse os padrões do Minix. Ele iniciou seu trabalho em 1991, quando liberou a versão 0.02, e trabalhou firmemente até 1994, quando a versão 1.0 do Kernel Linux foi liberada. Daí origina-se o nome ( Linus + Unix = Linux ).

Ele é desenvolvido e liberado sob a GPL ( GNU General Public Licence ) com a ajuda de desenvolvedores voluntários ao redor do mundo, além de empresas como HP, IBM e Hitachi, todos sob a coordenação do mesmo Linus, hoje um programador reconhecido e respeitado mundialmente.

Por ser um software de código aberto e livre, o Linux é perfeitamente modificável e adaptável a diversos tipos de necessidades e equipamentos, sendo hoje utilizado em arquiteturas que vão desde poderosos mainframes a diminutos telefones celulares.

Então, se não é de Linux, como devo chamá-lo?

Embora exista muita discussão a respeito do assunto, acredito que o mais correto é chamá-lo de GNU/Linux. Isso deve-se ao fato de existirem muitos outros programas anexados ao Kernel Linux, e que o tornam o sistema operacional que conhecemos e utilizamos hoje em dia.

Bem antes do início do desenvolvimento do Linux, em 1984 para ser mais exato, o Projeto GNU foi iniciado para desenvolver um sistema operacional completo, compatível com o Unix, e que fosse inteiramente software livre: O sistema GNU. Um sistema operacional não limita-se ao kernel, inclui também compiladores, editores, formatadores de texto, software de e-mail, entre outras coisas. Portanto escrever um sistema operacional completo é uma tarefa difícil e demorada.

Nos anos 90 o Projeto já havia escrito ou encontrado todos os componentes principais para que o objetivo inicial fosse atingido, exceto um — o Kernel. Como já devem imaginar, para que os projetos se encontrassem foi só uma questão de tempo, e em 1991 a combinação do quase completo sistema GNU com o Kernel Linux gerou o que hoje chamo e, volto a dizer, deveríamos chamar de sistema operacional GNU/Linux.

E por quê existem tantos GNU/Linux?

Como o código fonte de todos os programas de código aberto estão disponíveis para o download, estudo, modificação e redistribuição, qualquer pessoa ou empresa que se interesse pode baixá-los e criar a sua própria versão dos mesmos. Daí a existência deste grande número de variantes, que damos o nome de distribuições GNU/Linux.

Algumas são criadas e atingem enorme sucesso e longevidade, como é o caso das enormemente conhecidas distribuições Slackware, Debian e Red Hat. Outras são criadas com base em distribuições já existentes como é o caso do Ubuntu, Slax, Fedora, entre outras.

A grande maioria destas distribuições são desenhadas para serem instaladas nos discos rígidos do computadores, operando como sistema operacional único ou em inicialização múltipla quando instalado junto a outros sistemas operacionais, o que lhe permite escolher qual sistema deseja carregar a cada inicialização de seu computador.

Outras são desenvolvidas para executarem como Live CDs que são carregados a partir de mídias removíveis, tipicamente CDs mas podendo estar também em DVDs, pen drives ou mesmo disquetes, sendo completamente carregados e executados na memória RAM. As distribuições Live são úteis pois permitem a execução de sistemas operacionais diferentes, sem que estes afetem o conteúdo existente no disco rígido.

E como consigo o meu GNU/Linux?

Existem diversas maneiras de se obter uma distribuição GNU/Linux sendo a mais fácil, na maioria dos casos, realizar o download através de um dos diversos espelhos existentes na internet. O site Distrowatch reúne informações sobre inúmeras distribuições, além de exibir links para seus respectivos downloads, página principal dos projetos, screenshots, entre outros. Basta escolher entre elas, baixar a imagem ISO e queimar uma mídia para poder começar a brincar/aprender.

Outra opção é comprar uma em um site que as oferte. Sim isso mesmo! Embora o GNU/Linux seja um software livre, sua licença lhe concede tamanha liberdade que você pode inclusive vendê-lo, desde que ao fazê-lo você inclua todos os códigos fontes dos programas incluídos nos pacotes que esteja oferecendo. Você encontra pessoas que as vendem em sites como Mercado Livre, Arremate.com, etc., ou mesmo diretamente nos sites dos projetos das distribuições.

Adquirindo-as nos sites oficiais, você também ajuda a manter as distribuições em desenvolvimento, contribuindo financeiramente com estes projetos.

Referências utilizadas para a concepção desta seção:

GNU Operating System – The Free Software Definition

Open Source Initiative – The Open Source Definition

Linux. com – What is Linux?

Linux Online – What is Linux

O Sistema Operacional GNU

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.