Subscrever RSS Subscrever RSS
Edição de 31-03-2024
  • Edição Actual
  • Jornal Online

    Arquivo: Edição de 30-07-2006

    SECÇÃO: Tecnologias


    Linux e o Projecto GNU

    Muitos utilizadores de computador utilizam uma versão modificada do sistema GNU (18k caracteres) todos os dias, sem se aperceberem. Através de uma peculiar reviravolta dos factos, a versão do GNU que é largamente utilizada hoje é mais conhecida como “Linux”, e muitos utilizadores não estão a par da sua conexão com o Projecto GNU.

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

    Muitos utilizadores não estão totalmente a par da diferença entre o núcleo, que é o Linux, e todo o sistema operativo, que eles também chamam “Linux”. O uso ambíguo desse nome não promove o entendimento.

    Os 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, os seus amigos procuraram outros programas livres e, por nenhuma razão em particular, praticamente tudo o 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 Projecto GNU já estava a trabalhar desde 1984 para criar um. O Manifesto GNU (31k caracteres) definiu o objectivo de criar um sistema livre similar ao Unix, chamado GNU. O Anúncio Oficial do sistema GNU também sublinha alguns dos planos originais para o sistema GNU. Quando o Linux foi escrito, o sistema já estava quase acabado.

    A maioria dos projectos de software livre têm por objectivo 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 projecto pelos programas específicos que vieram daquele projecto.

    Se tentássemos medir a contribuição do projecto GNU dessa forma, o que concluiríamos? Um distribuidor de CD-ROM percebeu que na sua “distribuição Linux”, o 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 à volta de 3%. Assim, se 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 seja a maneira correcta de considerar a questão. O projecto GNU não foi, não é, um projecto para desenvolver pacotes específicos de software. Não foi um projecto para desenvolver um compilador C, apesar de o termos feito. Não foi um projecto para desenvolver um editor de textos, apesar de termos desenvolvido um. O objectivo do Projecto GNU era desenvolver um sistema operativo livre similar ao Unix.

    MUITAS CONTRIBUIÇÕES

    PARA O SOFTWARE LIVRE

    Muitas pessoas deram 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 colecção de programas úteis – é porque o Projecto 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 os 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 agrupámos todo o sistema à parte do núcleo (e nós ainda estamos trabalhando num kernel, o GNU Hurd, que se executará em cima do Mach). Desenvolver esse núcleo tem sido bem mais difícil do que esperávamos, e nós ainda estamos a trabalhar na sua finalização.

    Felizmente, ninguém precisa de esperar por ele, porque o Linux está a funcionar agora. Quando Linus Torvalds escreveu o Linux, ele completou a última grande lacuna. As 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. Requereu 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 projecto 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 o seu trabalho como software livre seguindo o exemplo do Projecto GNU, e ocasionalmente encorajaram os activistas do GNU, mas o seu trabalho real teve pouca relação com o GNU. Os sistemas BSD hoje utilizam algum software GNU, assim como o sistema GNU e as suas variantes utilizam algum software BSD, mas, olhando-os como um todo, eles são dois sistemas diferentes que evoluíram separadamente. Um sistema operativo livre que existe hoje é quase com certeza ou uma variante do sistema GNU ou um tipo de sistema BSD.

    O Projecto 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 com o 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 todos os usem. Mas por favor, não confundam 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.

    Por: Richard Stallman

     

    Outras Notícias

    · A Memória do Rato

     

    este espaço pode ser seu Este espaço pode ser seu Este espaço pode ser seu
    © 2005 A Voz de Ermesinde - Produzido por ardina.com, um produto da Dom Digital.
    Comentários sobre o site: [email protected].