Conhecendo o Sistema GNU/Linux Parte – 2 (tirando a poeira do blog)

2 05 2008

Pois é… voltando do limbo, retirando a poeira… hehe, andei meio “corrido” nos últimos tempos e infelizmente sem tempo pra atualizar isso aqui, mas estou tentando restaurar as coisas aqui…

Muita coisa rolou nesse tempo, FISL,FLISOL, etc e etc… na medida do que der dou uma “comentada” sobre esses eventos. Mas hoje o papo é sobre a origem do Sistema GNU/Linux.

A Origem do Sistema GNU/Linux

Bom, antes de mais nada, é importante explicar a origem do nome Linux, trata-se de uma fusão de dois nomes, do criador do Kernel Linux (núcleo do sistema operacional) Linus Torvalds e do Sistema Operacional Unix. Certo certo mas o que diabos é Unix? nunca ouviu falar nisso? no problem, estarei detalhando um pouco sobre Unix e sua importância no mundo do software livre, bem como outros fatos e fatores que deram origem ao pinguim mais famoso do mundo logo abaixo: :)

A origem do Unix tem ligação com o sistema operacional Multics, projetado na década de 1960. Esse projeto era realizado pelo Massachusets Institute of Technology (MIT), pela General Eletric (GE) e pelos laboratórios Bell (Bell Labs) e American Telephone na Telegraph (AT&T). A intenção era de que o Multics tivesse características de tempo compartilhado (vários usuários compartilhando os recursos de um único computador), sendo assim o sistema mais arrojado da época. Em 1969, já existia uma versão do Multics rodando num computador GE645.

Ken Thompsom era um pesquisador do Multics e trabalhava na Bell Labs. No entanto, a empresa se retirou do projeto tempos depois, mas ele continuou seus estudos no sistema. Desde então, sua idéia não era continuar no Multics original e sim criar algo menor, mas que conservasse as idéias básicas do sistema. A partir daí, começa o desenvolvimento do sistema Unix. Brian Kernighan, também pesquisador da Bell Labs, foi quem deu esse nome.

Em 1973, outro pesquisador da Bell Labs, Dennis Ritchie, rescreveu todo o sistema Unix numa linguagem de alto nível, chamada C, desenvolvida por ele mesmo. Por causa disso, o sistema passou a ter grande aceitação por usuários externos à Bell Labs. (um pequeno adendo, quando me refiro a linguagem, estou me referindo a linguagem de programação, assim com o ser humano se comunica com outro ser humano atraves de falas, gestos, escritas e sinais que constituem uma linguagem própria, tendo inclusive linguagens diferentes umas das outras, ele também se comunica com as máquinas por meio de linguagens, as chamadas linguagens de programação).

Entre 1977 e 1981, a AT&T, alterou o Unix, fazendo algumas mudanças particulares e lançou o System III. Em 1983, após mais uma série de implementações, foi lançado o conhecido Unix System IV, que passou a ser comercializado. Até hoje esse sistema é usado no mercado, tornando-se o padrão internacional do Unix. Esse sistema é comercializado por empresas como IBM, HP, Sun, etc. O Unix, é um sistema operacional muito caro e é usado em computadores poderosos (como mainframes) por diversas multinacionais.

Tá, e dai? o que isso tem a ver afinal com o GNU/Linux?

Pois bem intrépido leitor, para poder sanar essa dúvida é necessário falar de outro sistema operacional, o Minix. O Minix é uma versão do Unix, porém, gratuita e com o código fonte disponível. Isso significa que qualquer programador experiente pode fazer alterações nele. Ele foi criado originalmente para uso educacional, para quem quisesse estudar o Unix “em casa”. No entanto, vale citar que ele foi escrito do “zero” e apesar de ser uma versão do Unix, não contém nenhum código da AT&T e por isso pode ser distribuído gratuitamente (ou seja sem infringir leis de copyright meu pequeno padawan).

A partir daí, “entra em cena” Linus Torvalds. Ele era um estudante de Ciências da Computação da Universidade de Helsinki, na Filândia e em 1991, por hobby, Linus decidiu desenvolver um sistema mais poderoso que o Minix (e você por hobby fica jogando play 2, devia se envergonhar disso!!!). Para divulgar sua idéia, ele enviou uma mensagem a um grupo pela Usenet (uma espécie de antecessor da Internet). Como curiosidade, coloquei essa mensagem ao final do texto, tá bom, vai ler a mensagem antes do fim do texto que eu espero, leu? beleza, posso continuar? aham… continuando portanto. No mesmo ano, ele disponibilizou a versão do kernel 0.02 e continuou trabalhando até que em 1994 disponibilizou a versão 1.0. A versão atual é a 2.6.

O Linux é um sistema operacional livre e é uma re-implementação das especificações POSIX (padronização da IEEE, Instituto de Engenharia Elétrica e Eletrônica) para sistemas com extensões System V e BSD. Isso signfica que o Linux é bem parecido com Unix, mas não vem do mesmo lugar e foi escrito de outra forma.

Mas por que o Linux é gratuito?

Linus Torvalds, quando desenvolveu o Linux, não tinha a inteção de ganhar dinheiro e sim fazer um sistema para seu uso pessoal, que atendesse suas necessidades (o cara era nerd, não porco capitalista). O estilo de desenvolvimento que foi adotado foi o de ajuda coletiva. Ou seja, você pode estar na China, Europa ou dentro de um vulcão (desde que tenha acesso a internet) que poderá contribuir com o constante desenvolvimento desse sistema, é claro que não é simplesmente mudar o codigo e jogar na rede, todas as alterações passam pelo crivo de uma equipe especializada destinada a justamente analisar essas alterações. Milhares de pessoas contribuem gratuitamente com o desenvolvimento do Linux, simplesmente pelo prazer de fazer um sistema operacional melhor.

Licença GPL

O Linux está sob a licença GNU General Public License (Licença Pública Geral) que permite que qualquer um possa usar os programas que estão sob ela, com o compromisso de não tornar os programas fechados e comercializados. Ou seja, você pode alterar qualquer parte do Linux, modificá-lo e até comercialiazá-lo, mas você não pode fechá-lo (não permitir que outros usuários o modifiquem) e vendê-lo.

Em termos gerais, a GPL baseia-se em 4 liberdades:

  1. A liberdade de executar o programa, para qualquer propósito (liberdade nº 0)
  2. A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades (liberdade nº 1). O acesso ao código-fonte é um pré-requisito para esta liberdade.
  3. A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2).
  4. A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie deles (liberdade nº 3). O acesso ao código-fonte é um pré-requisito para esta liberdade.

Com a garantia destas liberdades, a GPL permite que os programas sejam distribuídos e reaproveitados, mantendo, porém, os direitos do autor por forma a não permitir que essa informação seja usada de uma maneira que limite as liberdades originais. A licença não permite, por exemplo, que o código seja apoderado por outra pessoa.

Veja bem, você não pode vendê-lo com o código fechado, é claro que existem distribuições GNU/Linux que são vendidas, mas seus códigos permanecem abertos (Ex: Red Hat), entretanto a maioria prefere distribuir seus sistemas e vender serviços (suporte, consultoria, treinamento etc…). Ah, agora você entendeu certo? como? ainda tem uma dúvida? ah sim… O QUE AFINAL DE CONTAS É GNU???, certo certo… resposta logo abaixo :)

GNU

Nas savanas africanas, os gnus são vítimas constantes dos leões, leopardos, guepardos ou chitas, hienas e cães selvagens africanos….ops, Gnu errado… hehehe

GNU é um projeto que começou em 1984 com o objetivo de desenvolver um sistema operacional compatível com os de padrão Unix. O Linux em si, é só um kernel (núcleo). Linus Torvalds, na mesma época que escrevia o código-fonte do kernel, começou a usar programas da GNU para fazer seu sistema. Gostando da idéia, resolveu deixar seu kernel dentro da mesma licença.

Mas, o kernel por si só, não é usável. O kernel é a parte mais importante, pois é o núcleo e serve de comunicador entre o usuário e o computador. Por isso, a soma do GNU com o kernel fez com que o  Linux fosse um sistema operacional.

Os programadores que trabalham com ele, sabem que o Linux, é basicamente o kernel, conforme já foi dito, mas todos, chamam esse conjunto de Linux (há quem defenda o uso de GNU/Linux).Bom, abaixo está a carta enviada por Linus Torvalds, sua versão em inglês e a versão traduzida.

Mensagem de Linus Torvalds na Usenet

Ambas as mensagens (original e versão traduzida) foram retiradas deste link: http://www.rootlinux.com.br/documentos/downloads/Historia_do_Linux.txt.

De:Linus Benedict Torvalds (torvalds@klaava.Helsinki.FI)
Assunto:[comp.os.minix] Free minix-like kernel sources for 386-AT
Newsgroups:comp.archives
Data:1991-10-05 09:24:25 PST

Archive-name: auto/comp.os.minix/Free-minix-like-kernel-sources-for-386-AT

Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? Are you without a nice project and just dying
to cut your teeth on a OS you can try to modify for your needs? Are you
finding it frustrating when everything works on minix? No more all-
nighters to get a nifty program working? Then this post might be just
for you :-)

As I mentioned a month(?) ago, I’m working on a free version of a
minix-lookalike for AT-386 computers. It has finally reached the stage
where it’s even usable (though may not be depending on what you want),
and I am willing to put out the sources for wider distribution. It is
just version 0.02 (+1 (very small) patch already), but I’ve successfully
run bash/gcc/gnu-make/gnu-sed/compress etc under it.

Sources for this pet project of mine can be found at nic.funet.fi
(128.214.6.100) in the directory /pub/OS/Linux. The directory also
contains some README-file and a couple of binaries to work under linux
(bash, update and gcc, what more can you ask for :-) . Full kernel
source is provided, as no minix code has been used. Library sources are
only partially free, so that cannot be distributed currently. The
system is able to compile “as-is” and has been known to work. Heh.
Sources to the binaries (bash and gcc) can be found at the same place in
/pub/gnu.

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled
(and gcc-1.40, possibly 1.37.1, haven’t tested), and you need minix to
set it up if you want to run it, so it is not yet a standalone system
for those of you without minix. I’m working on it. You also need to be
something of a hacker to set it up (?), so for those hoping for an
alternative to minix-386, please ignore me. It is currently meant for
hackers interested in operating systems and 386’s with access to minix.

The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If
you are still interested, please ftp the README/RELNOTES, and/or mail me
for additional info.

I can (well, almost) hear you asking yourselves “why?”. Hurd will be
out in a year (or two, or next month, who knows), and I’ve already got
minix. This is a program for hackers by a hacker. I’ve enjouyed doing
it, and somebody might enjoy looking at it and even modifying it for
their own needs. It is still small enough to understand, use and
modify, and I’m looking forward to any comments you might have.

I’m also interested in hearing from anybody who has written any of the
utilities/library functions for minix. If your efforts are freely
distributable (under copyright or even public domain), I’d like to hear
from you, so I can add them to the system. I’m using Earl Chews estdio
right now (thanks for a nice and working system Earl), and similar works
will be very wellcome. Your (C)’s will of course be left intact. Drop me
a line if you are willing to let me use your code.

Tradução para o português:

Você sente falta dos dias do Minix/1.1 quando homens eram homens e escre-
viam seus próprios drivers? Você está sem nenhum projeto legal e está
ansioso para mexer num sistema operacional que você possa modificar
para atender às suas necessidades? Você está achando chato quando tudo
funciona no minix? Não ficar mais a noite inteira tentando arrumar
um programa legal? Então esta mensagem pode ser para você.

Como eu disse há um mês (?) atrás, eu estou trabalhando numa versão
grátis dum similar para o Minix, para computadores AT-386. Ela
finalmente atingiu o estágio onde já é usável (apesar de talvez
não ser, dependendo do que você quer), e eu estou a fim de colocar
(online) o código fonte para uma distribuição melhor. É apenas a ver-
são 0.02 (com mais um patch) mas eu já rodei bash/gcc/gnu-make/gnu-sed/
compress dentro dela.

Códigos fontes para este hobby meu podem ser encontradas em nic.funet.fi
(128.214.6.100) no diretório /pub/OS/Linux. O diretório também contem
alguns arquivos README e um conjunto de arquivos para permitir
trabalho no Linux (bash, update e GCC, o que mais você queria? :-) .
O código-fonte do kernel está disponível por inteiro, porque nenhum
do código do Minix foi usado. Os códigos-fontes das bibliotecas são
apenas parcialmente abertos, portanto não podem ser distribuidos. O
sistema pode compilar “como está” e é provado que funciona. (hehehe)
Código-fonte dos programas (bash e gcc) podem ser encontrados no mesmo FTP
em /pub/gnu.

PERIGO! AVISO! NOTA! Este código fonte ainda precisa do Minix/386 para
compilar (e o gcc-1.4.0, ou o 1.3.7, não testei) e você precisa do Minix
para configurá-lo, então ele ainda não é um sistema por si só para vocês
que não tem o Minix. Eu já estou trabalhando nisto. Você também precisa
ter um jeito hacker (?) para configurá-lo, então para aqueles torcendo
por uma alternativa ao Minix/386, me esqueçam. Ele é atualmente para
hackers com interesse no 386 e no Minix.

O sistema precisa de um monitor EGA/VGA e um disco rígido compatível (IDE
serve). Se você ainda está interessado, pegue no FTP o readme/relnotes
e/ou me mande um e-mail para saber mais.

Eu posso (bem, quase) ouvir vocês perguntando para si mesmos: porquê? O Hurd
vai sair em um ano (ou dois, ou em um mês, quem sabe), e eu já tenho o Minix.
Este é um programa feito por e para hackers. Eu gostei de fazer ele, e alguém
pode começar a olhá-lo e até mesmo modificá-lo às suas necessidades. Ele ainda é
pequeno para entender, usar e modificar, e eu estou otimista em relação a algum
comentário que vocês tenham a fazer.

Então é isso, logo (e espero que seja logo mesmo) a parte 3 do “Conhecendo o Sistema GNU/Linux”.


Acções

Informação

Publicar um comentário