GNU/Linux

Ontem resolvi pesquisar sobre a história do GNU/Linux e porque algumas pessoas chamam de GNU/Linux o que eu conhecia apenas como Linux.

Em 1983, Richard Stallman planejou desenvolver o sistema GNU, um sistema operacional completamente livre. Então, em 1984 Richard largou seu emprego no MIT e em 1985, fundou a Free Software Foundation (FSF) que tinha como foco principal o desenvolvimento deste sistema.

O projeto foi iniciado e começou a render componentes de qualidade. Só que como o projeto tinha a intenção de ser compatível com o Unix (sistema popular da época), os componentes GNU acabaram sendo usados no próprio Unix e tornaram-se populares neste sistema antes mesmo de o GNU existir. Isto acabou desviando o esforço dos desenvolvedores, que em vez de continuar o projeto GNU e implementar os componentes que faltavam, mantinham os componentes já desenvolvidos, além de portá-los para outras versões do Unix.

Em 1991, o sistema operacional GNU estava quase completo, com bibliotecas, compiladores, editores de texto, uma shell Unix e sistema de janelas, faltando componentes mais próximos do hardware como drivers e o seu kernel, o GNU Hurd. Este kernel possuía um projeto ambicioso, que inesperadamente se mostrou difícil de implementar.

Enquanto o Hurd estava dando seus primeiros passos, Linus Torvalds lançou a primeira versão do seu kernel, o Linux, e felizmente o tornou livre em 1992.

Linus Torvalds era estudante de Ciência da Computação da Universidade de Helsinki, na Finlândia, e em 1991, no seu terceiro ano de universidade, adquiriu um Intel 80386 IBM PC. Em 25 de Agosto de 1991, ele enviou um e-mail perguntando o que as pessoas gostariam de ver no MINIX (sistema minimalista baseado no Unix, projetado para fins educacionais em Ciência da Computação), dizendo que estava desenvolvendo um sistema operaciona livre "apenas como um hobby, nada grande como o GNU" palavras do Linus. O e-mail pode ser conferido em http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b?#b813d52cbc5a044b

O projeto do Linux acabou ganhando colaboradores, e estes portaram alguns programas do projeto GNU, incluindo o GNU C Compiler, para o Linux. Quando os desenvolvedores do projeto GNU souberam do Linux, deram continuidade a esta ideia e adaptaram outras partes do GNU para rodar no kernel Linux. Este trabalho acabou dando origem ao primeiro sistema operacional completamente livre, composto pelo kernel Linux e componentes do projeto GNU, embora Richard Stallman (o mentor do projeto GNU) tivesse planejado o desenvolvimento do kernel pelos participantes do projeto GNU.

Naturalmente, por serem livres, os componentes do GNU Project podem ser usados com outros kernels (não GNU). Todavia, a FSF afirma que o kernel Linux, quando usado com as ferramentas e os utilitários GNU, deve ser considerado um variante do GNU, e defende o uso do termo GNU/Linux para tais sistemas.

O kernel Linux, combinado com componentes GNU, assim como componentes não-GNU e um software de gerenciamento de pacotes adicionais são chamadas de "distribuições Linux".

Em uma análise do código fonte dos pacotes do Red Hat Linux 7.1, uma distribuição típica do Linux, o tamanho total dos pacotes do projeto GNU era muito maior do que o kernel Linux.

Por outro lado, alguns sistemas embarcados, como smartphones, routers, e dispositivos VoIP são arquitetados tendo eficiência de espaço em mente e usam um kernel Linux com poucos ou nenhum componente GNU. O sistema Android da Google, que é baseado no Linux, não usa nenhum componente ou biblioteca GNU. A FSF concorda que "GNU/Linux" não é um nome apropriado para estes sistemas.

A versão alpha mais recente (até hoje 16 de Novembro de 2011) do sistema GNU é o GNU 0.401, lançado em 1 de Abril de 2011. Após 20 anos o HURD ainda não está maduro e nunca atingiu qualidade de produção. Além disso, o sucesso do Linux diminuiu a urgência do desenvolvimento do kernel GNU.

O maior erro do projeto GNU pode ter sido a escolha pelo microkernel Mach, como diz Stallman: "I take full responsibility for the technical decision to develop the GNU kernel based on Mach, a decision which seems to have been responsible for the slowness of the development. I thought using Mach would speed the work by saving us a large part of the job, but I was wrong".

Em 2010, após vinte anos de desenvolvimento, Stallman disse que ele não estava muito otimista com o GNU Hurd. Para ser realmente superior, seria necessário resolver muitos problemas profundos. Além disso, disse que finalizá-lo não é crucial para o sistema GNU, já que um kernel livre já existe no Linux e finalizar o Hurd não resolveria o principal problema para um sistema operacional livre: supote a dispositivos.

Referências:

http://en.wikipedia.org/wiki/GNU
http://en.wikipedia.org/wiki/GNU_project
http://en.wikipedia.org/wiki/GNU_Hurd
http://en.wikipedia.org/wiki/GNU/Linux_naming_controversy
http://en.wikipedia.org/wiki/Linux
http://en.wikipedia.org/wiki/Linus_Torvalds
http://www.gnu.org/gnu/the-gnu-project.html
http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b?pli=1

Nenhum comentário on "GNU/Linux"

Leave a Reply