Linux e o Projeto GNU

Por Richard Stallman

 [imagem de um bebê GNU] [ Inglês | Português | Coreano | Russo ]

Muitos usuários de computador utilizam uma versão modificada do sistema GNU (18k caracteres) todos os dias, sem perceberem. Através de uma peculiar reviravolta dos fatos, a versão do GNU que é largamente utilizada hoje é mais conhecida como ``Linux'', e muitos usuários não estão a par de sua conexão com o Projeto GNU.

Há realmente um Linux; é o núcleo (kernel), e essas pessoas estão utilizando-o. Mas você não pode usar um núcleo sozinho; um núcleo só é útil como parte de todo um sistema operacional. Linux é normalmente utilizado em combinação com o sistema operacional GNU: o sistema é basicamente GNU, com Linux funcionando como núcleo.

Muitos usuários não estão totalmente a par da diferença entre o núcleo, que é o Linux, e todo o sistema operacional, que eles também chamam ``Linux''. O uso ambíguo desse nome não promove o entendimento.

Programadores geralmente sabem que Linux é o núcleo. Mas desde que eles também já ouviram todo o sistema ser chamado ``Linux'', eles muitas vezes visualizam uma história que corresponde ao nome. Por exemplo, muitos acreditam que, assim que Linus Torvalds terminou de escrever o núcleo, seus amigos procuraram por outros programas livres e, por nenhuma razão em particular, praticamente tudo necessário para criar um sistema similar ao Unix já estava disponível.

O que eles acharam não foi nenhum acidente - foi o sistema GNU. O software livre disponível compôs um sistema completo porque o Projeto GNU já estava trabalhando desde 1984 para criar um. O Manifesto GNU (31k caracteres) definiu o objetivo de criar um sistema livre similar ao Unix, chamado GNU. O Anúncio Oficial do sistema GNU também ressalta alguns dos planos originais para o sistema GNU. Quando o Linux foi escrito, o sistema já estava quase acabado.

A maioria dos projetos de software livre tem por objetivo desenvolver um programa em particular para uma tarefa em particular. Por exemplo, Linus Torvalds escreveu um núcleo similar ao Unix (Linux); Donald Knuth escreveu um formatador de textos (TeX); Bob Scheifler escreveu um sistema de janelas (X Windows). É natural medir a contribuição deste tipo de projeto pelos programas específicos que vieram daquele projeto.

Se tentássemos medir a contribuição do projeto GNU dessa forma, o que concluiríamos? Um distribuidor de CD-ROM percebeu que em sua ``distribuição Linux'', software GNU era o maior contingente único, por volta de 28% de todo o código-fonte, e isso incluía alguns dos componentes essenciais sem os quais não poderia haver sistema. O Linux representava por volta de 3%. Assim, se você for escolher um nome para o sistema baseado em quem escreveu os programas no sistema, a escolha simples mais apropriada seria ``GNU''.

Mas nós não concordamos que esta é a maneira correta de considerar a questão. O projeto GNU não foi, não é, um projeto para dessenvolver pacotes específicos de software. Não foi um projeto para desenvolver um compilador C, apesar de o termos feito. Não foi um projeto para desenvolver um editor de textos, apesar de termos desenvolvido um. O objetivo do Projeto GNU era desenvolver um sistema operacional livre similar ao Unix.

Muitas pessoas fizeram grandes contribuições para o software livre no sistema, e todos eles merecem crédito. Mas a razão pela qual temos um sistema - e não somente uma coleção de programas úteis - é porque o Projeto GNU se definiu para fazer um. Nós fizemos uma lista de programas necessários para compor um sistema livre completo, e nós sistematicamente achamos, escrevemos, ou encontramos pessoas para escrever tudo na lista. Nós escrevemos componentes principais, essenciais mas não excitantes, como o montador (assembler) e o editor de ligação (linker), porque não é possível ter um sistema sem eles. Um sistema completo necessita mais do que simplesmente ferramentas de programação; o Bourne Again SHell, o interpretador PostScript Ghostscript, e a biblioteca GNU C são igualmente importantes.

Por volta do início dos anos 90 nós agrupamos todo o sistema à parte do núcleo (e nós ainda estamos trabalhando em um kernel, o GNU Hurd, que executará em cima do Mach). Desenvolver esse núcleo tem sido bem mais difícil do que esperávamos, e nós ainda estamos trabalhando em sua finalização..

Felizmente, você não precisa esperar por ele, porque o Linux está funcionando agora. Quando Linus Torvalds escreveu o Linux, ele completou a última grande lacuna. Pessoas puderam então colocar o Linux junto com o sistema GNU para compor um sistema livre completo: um sistema GNU baseado em Linux (ou sistema GNU/Linux, para simplificar).

Colocar os dois componentes juntos parece simples, mas não foi uma tarefa trivial. A biblioteca GNU C (chamada glibc para simplificar) precisou de mudanças substanciais. Integrar um sistema completo como uma distribuição que funcionasse ``fora da caixa'' foi também um trabalho grande. Requeriu resolver o problema de como instalar e iniciar o sistema (boot) - um problema que ainda não resolvemos, porque ainda não atingimos esse ponto. As pessoas que desenvolveram as várias distribuições de sistema deram uma contribuição substancial.

À parte do GNU, um outro projeto desenvolveu um sistema livre similar ao Unix. Este sistema é conhecido como BSD, e foi desenvolvido na Universidade da Califórnia em Berkeley. Os desenvolvedores do BSD foram inspirados a fazer seu trabalho como software livre seguindo o exemplo do Projeto GNU, e ocasionalmente encorajaram os ativistas do GNU, mas seu trabalho real teve pouca relação com o GNU. Sistemas BSD hoje utilizam algum software GNU, assim como o sistema GNU e suas variantes utilizam algum software BSD, mas, olhando-os como um todo, eles são dois sistemas diferentes que evoluíram separadamente. Um sistema operacional livre que existe hoje é quase com certeza ou uma variante do sistema GNU ou um tipo de sistema BSD.

O Projeto GNU suporta os sistemas GNU/Linux assim como o sistema GNU - mesmo com fundos. Nós financiamos a reescrita das extensões da biblioteca GNU C relacionadas ao Linux, para que agora elas estejam bem integradas, e os novos sistemas GNU/Linux usam a versão corrente da biblioteca sem modificações. Nós também financiamos um estágio inicial do desenvolvimento do Debian GNU/Linux.

Nós utilizamos sistemas GNU baseados em Linux hoje para a maioria do nosso trabalho, e nós esperamos que você também os use. Mas por favor não confunda o público por utilizar o nome ``Linux'' de forma ambígua. Linux é o núcleo, um dos principais componentes essenciais do sistema. O sistema como um todo é mais ou menos o sistema GNU.

Há um número de companhias que vendem computadores com sistemas GNU/Linux totalmente grátis pré-instalados.


Retorna à página inicial do GNU.

Por favor envie dúvidas e/ou questões sobre FSF e/ou GNU para gnu@gnu.org. Há também outros meios de contactar a FSF.

Por favor envie comentários sobre estas páginas web para webmasters@www.gnu.org, envie outras questões para gnu@gnu.org.

Copyright 1997, 1998 Richard Stallman

A cópia fiel e a distribuição deste artigo completo é permitida em qualquer meio, desde que esta nota seja preservada.

Traduzido por: Fernando Lozano <fernando@lozano.eti.br>

Atualizado: $Date: 2007/02/07 02:35:10 $ $Author: mattl $