Logo que Linus Torvalds passou a disponibilizar o Linux, ou seja na sua versão 0.01, já havia suporte ao disco rígido, tela, teclado e portas seriais, o sistema de arquivos adotava o mesmo layout do Minix (embora não houvesse código do Minix no Linux), havia extensos trechos em assembly, e ela já era capaz de rodar o bash e o gcc.
|
|
|
O próprio usuário deveria procurar os programas que dessem funcionalidade ao seu sistema, compilá-los e configurá-los. Talvez por isso, o Linux tenha carregado consigo a etiqueta de sistema operativo apenas para técnicos. Foi neste ambiente que surgiu a MCC Interim Linux, do Manchester Computer Centre, a primeira distribuição Linux, desenvolvida por Owen Le Blancda Universidade de Manchester, capaz de ser instalada independentemente em um computador. Foi uma primeira tentativa de facilitar a instalação do Linux.
Desde o começo, o núcleo Linux incluía um sistema básico para chamadas do sistema e acesso aos dispositivos do computador. O núcleo de um sistema operativo define entre várias operações, o gerenciamento da memória, de processos, dos dispositivos físicos no computador e é uma parte essencial de qualquer sistema operacional utilizável, contudo para um sistema operacional adquirir funcionalidade são necessários também vários outros aplicativos que determinam funções específicas que aquele sistema será capaz de desenvolver, os aplicativos existentes em um sistema operacional com a única exceção do núcleo são determinados pelo usuário do computador, como por exemplo: interpretadores de comandos, gerenciadores de janelas, que oferecem respectivamente uma interface para o usuário do computador, CLI ou GUI, e outros aplicativos como editores de texto, editores de imagem, tocadores de som, e, mas não necessariamente, compiladores.
A maioria dos sistemas inclui ferramentas e utilitários baseados no BSDe tipicamente usam XFree86ou X.Org para oferecer a funcionalidade do sistemas de janelas X— interface gráfica. Assim como também oferecem ferramentas desenvolvidas pelo projeto GNU.
No momento do desenvolvimento do Linux, vários aplicativos já vinham sendo reunidos pelo Projeto GNUda Free Software Foundation (‘Fundação Software Livre’), que embarcara em um subprojeto que ainda continua para obter um núcleo, o GNU Hurd. Porém devido a várias complicações o projeto GNU e demora em desenvolver o Hurd, Stallman acabou adotando o núcleo Linux como base para distribuir os programas do projeto GNU , não obstante diversas pessoas e instituições tiveram a mesma ideia e assim várias distribuições começaram a surgir baseadas no núcleo desenvolvido inicialmente por Linus.
Então o que é GNU/Linux ?
O sistema Linux tem sua origem no Unix, um sistema operacional multitarefa e multiusuário que tem a vantagem de rodar em uma grande variedade de computadores.
Uma grande razão de sucesso é seu equilíbrio entre sua produtividade e portabilidade.
Ele é dividido em 2 partes, a 1ª é o kernel, que é o núcleo do sistema responsável pela comunicação com o hardware e o 2ª são os programas e serviços que dependem do kernel para interação.
1965- A Bell Telephone Labs da AT&T, juntamente com a General Electric e o projeto MAC doMIT (Massachusetts Institute of Technology), desenvolvem o sistema operacional Multics.
1969- Como o Multics não atinge seu propósito o Laboratório Bell saí do projeto.
Por causa de um jogo chamado Space Travel usado como passatempo durante o projeto Multics, dois engenheiros de software da AT&T, Ken Thompson e Dennis Richie, por não terem mais acesso ao sistema, resolveram portar o jogo para rodar em um computador PDP-7 que não era utilizado, desta forma implementaram um sistema operacional rudimentar chamado de Unics como trocadilho ao Multics. De alguma forma, a ortografia do nome tornou-se Unix.
1971- O Unix é escrito para um computador PDP-11.
1973- O Unix é reescrito em linguagem C pelo próprio criador da linguagem, Dennis Ritchie. O uso do Unix dentro da AT&T cresceu tanto que foi criado um grupo de suporte interno para o sistema, que cediam cópias do código fonte para fins educacionais em universidades.
Entre 1977e 1982 a AT&T combinam várias versões do Unix de Ritchie e Thompsom em um único sistema chamado de Unix System III.
A Universidade de Berkeley (Califórnia), partindo de uma versão do Unix anterior ao System III, desenvolvia seu próprio Unix chamado de BSD (Berkeley Systems Division) e em 1978 lança uma versão para computadores VAX.
Bill Joy, um dos diretores do projeto BSD, mais tarde tornou-se fundador da Sun Microsystems, que comercializou outra variante do Unix SunOS para aprimorar suas estações de trabalho.
1983- A AT&T percebendo o potencial comercial do Unix, iniciou a venda do System V comprometendo-se a dar suporte aos seus usuários.
1983- Richard Stallman cientista do MIT lança o projeto GNU (GNU´s not Unix) que tinha a pretensão de criar um sistema operacional do tipo Unix gratuito, em função do desagravo de muitos programadores que haviam contribuído para o aprimoramento do Unix e consideravam injustos que a AT&T e outros se apropriassem do fruto deste trabalho.
1984- O projeto GNU é iniciado oficialmente.
1985- Para organizar o trabalho do projeto GNU, Stallman e outros criam a Free Software Foundation (FSF) uma corporação sem fins lucrativos que busca promover softwares gratuitos eliminando restrições à cópia, redistribuição estudo e modificação do mesmo formulando assim a licença GPL (GNU General Public License).
1989- Um estudante finlandês chamado Linus Torvalds inicia um processo pessoal de aprimoramento do Kernel do Minix um sistema operacional do tipo Unix escrito por Andrew Tannenbaum, chamando esta vertente de Linux como abreviação de Linus´s Minix.
Depois de um certo tempo de trabalho, Linus envia a famosa mensagem para o grupo de discussão comp.os.minix:
1990- A FSF já tinha obtido ou escrito vários componentes importantes do sistema operacional GNU, com exceção de um kernel.
1991- Em 5 de outubro deste ano, Linus Torvalds anuncia a primeira versão oficial do Linux.
1992- No início deste ano, o Linux se integra a GNU com o objetivo de produzir um sistema operacional completo.
Desde então, muitos programadores e usuários espalhados pelo globo terrestre tem seguido os ideais de Richard Stallman e Linus Torvalds.
(Retirado de : http://www.vivaolinux.com.br/artigo/Historia-do-GNU-Linux-1965-assim-tudo-comecou/ de Jefferson Estanislau da Silva )
Uma distribuição do Linux nada mais é que o conjunto de kernel, programas de sistema e aplicativos reunidos num único CD-ROM. Hoje em dia temos milhares de aplicativos para a plataforma Linux, onde cada empresa responsável por sua distribuição escolhe os aplicativos que deverão estar incluídos em seu CD-ROM.
Muitos conhecem e divulgam o sistema operacional do pinguim apenas como Linux, porém o termo correto é GNU/Linux. Em palavras simplificadas, Linux é apenas o kernel do sistema operacional, ele depende de uma série de ferramentas para funcionar, a começar pelo programa usado para compilar seu código-fonte. Essas ferramentas são providas pelo projeto GNU, criado por Richard Stallman. Em outras palavras este sistema operacional é a união do kernel Linux com as ferramentas GNU, por isso o termo GNU/Linux.
Curioso? Leia mais em : http://www.vivaolinux.com.br/linux/
Debian é simultaneamente o nome de uma distribuição não comercial livre (gratuita e de código fonte aberto) de GNU/Linux (amplamente utilizada) e de um grupo de programadores que o mantêm à volta do mundo. Uma vez que o Debian se baseia fortemente no projeto GNU, é usualmente chamado Debian GNU/Linux. O Debian é especialmente conhecido pelo seu sistema de gestão de pacotes, chamado APT, que permite: atualizações relativamente fáceis a partir de versões realmente antigas; instalações quase sem esforço de novos pacotes e remoções limpas dos pacotes antigos. Atualmente o Debian Stable se encontra na versão 6.0, codinome "Squeeze". O Debian Stable procura sempre manter os pacotes mais estáveis, assim, ele mantém o Gnome 2.30 e o KDE 4.4 por padrão. O grande fato dele conter pacotes mais antigos, garantindo a estabilidade, é o grande foco para servidores.
O projeto Debian é mantido por doações através da organização sem fins lucrativos Software in the Public Interest (SPI).
O nome Debian vem dos nomes dos seus fundadores, Ian Murdocke de sua ex-mulher, Debra. A palavra "Debian" é pronunciada em Português como Débian.
Várias distribuições baseiam-se (ou basearam-se) no Debian, incluindo: Linspire (antigo Lindows), Xandros, Knoppix, Kurumin, BrDesktop e Ubuntu.
Está, atualmente, portando o Debian para outros núcleos livres para além do Linux, incluindo o Hurd e o BSD. Para já, no entanto, ainda é muito mais preciso descrever o Debian como uma "Distribuição GNU/Linux", sem mais qualificações.
O Debian foi fundado em 1993 por Ian Murdock, no tempo de estudante universitário, que escreveu o Manifesto Debian que apelava à criação de uma distribuição Linux a ser mantida de uma maneira aberta, segundo o espírito do Linux e do GNU.
O Projeto Debian cresceu vagarosamente e lançou suas versões 0.9x em 1994e 1995, quando dpkg ganhou notoriedade. Os primeiros ports para outras arquiteturas iniciaram em 1995, e a primeira versão 1.x do Debian aconteceu em 1996.
Bruce Perens substituiu Ian Murdock como líder do projeto. Ele iniciou a criação de vários documentos importantes (o contrato social e o free software guidelines) e a legítima umbrella organization(SPI), bem como liderou o projeto através dos lançamentos das versões da ELF/libc5 (1.1, 1.2, 1.3).
Bruce Perens deixou o projeto em 1998 antes do lançamento da primeira versão Debian baseada em glibc, a 2.0. O Projeto continuou elegendo novos líderes e fazendo mais duas versões 2.x, cada qual incluindo mais ports e mais pacotes. APT foi lançada durante este tempo e o Debian GNU/Hurd também iniciou-se.
O ano de 1999 trouxe as primeiras distribuições GNU/Linux baseadas em Debian, Corel Linuxe Stormix's Storm Linux, hoje descontinuadas mas que iniciaram o que é hoje uma notável tendência às distribuições baseadas em Debian.
Perto do ano 2000, o projeto se direcionou ao uso de repositórios de pacotes e à distribuição "testing", alcançando um marco maior no que se refere aos arquivos e o gerenciamento de lançamentos. Em 2001, os desenvolvedores iniciaram conferências anuais, Debconf, com conversas, workshops, e a recepção aos usuários técnicos. A versão 3.0 de 2002 incluiu mais do que o dobro do número de pacotes da versão anterior e estava disponível para cinco novas arquiteturas.
Debian celebrou o seu décimo aniversário em 16 de Agosto de 2003, com muitas festas de aniversário em todo o mundo.
O ciclo de desenvolvimento das versões do Debian passa por três fases:
-
"Unstable" - instável
-
"Testing" - teste
-
"Stable" - estável
Quando as versões estão na fase "testing" elas são identificadas por codinomes tirados dos personagens do filme Toy Story. Ao se tornarem "stable" as versões recebem um número de versão (ex: 5.0).
Versões, codinomes e datas em que se tornaram "stable":
-
6.0—Squeeze 6 de fevereiro de 2011
-
5.0—Lenny 15 de fevereiro de 2009
-
4.0—Etch, 8 de abril de 2007
-
3.1—Sarge, 6 de junho de 2005
-
3.0—Woody, 19 de julho de 2002
-
2.2—Potato, 15 de agosto 2000
-
2.1—Slink, 9 de março de 1999
-
2.0—Hamm, 24 de julho 1998
-
1.3—Bo, 2 de junho de 1997
-
1.2—Rex, 1996
-
1.1—Buzz, 1996
A Versão "testing" atual é a "Wheezy" (7.0).
A versão "unstable" terá sempre o nome Sid (também um personagem do filme Toy Story).
O projecto Debian é uma organização não comercial com três documentos de fundação:
-
O contrato social Debian que define um conjunto de princípios básicos, a partir dos quais os membros devem basear as suas atuações;
-
As linhas mestras do software livre Debian, que clarificam o que se quer dizer com o termo "free software", largamente referido no contracto social;
-
A constituição Debian, que descreve a estrutura organizacional para tomadas de decisão formais dentro do projecto, e enumera os poderes e responsabilidades do Debian Project Leader, o Debian Project Secretary e os programadores Debian em geral.
Os programadores Debian elegem um líder para o projeto entre os seus rankings todos os anos. O líder do projeto Debian tem vários poderes especiais, mas o seu poder não é absoluto. Ele pode ser contactado e a sua decisão revertida, pelo voto dos programadores de acordo com o processo de General Resolution. Na prática, isto ocorre com alguma frequência. (Normalmente apenas a eleição do líder do projeto Debian ocorre no âmbito do General Resolution, mas já ocorreu várias vezes.)
O líder do projeto Debian é empossado para delegar a sua autoridade, e a vários programadores são confiadas responsabilidades especiais delegadas pelo líder, como por exemplo a equipa Debian System Administration (que possui a password do root das máquinas do projecto), e o Release Manager, que decide os objectivos da release de distribuição, supervisiona o processo e toma a decisão final de quanto libertar uma release. Muitos dos delegados mantêm-se nas suas posições durante vários mandatos dos diferentes líderes; as posições mais importantes são mantidas por membros de grande confiança e há muito tempo ativos no projeto, e existem muito poucas mudanças mesmo quando muda o líder do projeto.
Uma lista das posições mais importantes no Projeto Debian está disponível em the Debian organization webpage. Muitos, mas não todas estas posições são delegadas pelo líder do projeto.
O projeto Debian tem um fluxo constante de pessoas que desejam ser Programadores. Estas pessoas devem passar por um processo onde é estabelecida a sua identidade, motivação, conhecimento dos objetivos do projeto (definido no Contrato Social), e competência técnica. Estão disponíveis mais informações sobre o processo do "New Mantainer" em A página do New Mantainer do Debian.
Os Programadores Debian juntam-se ao projeto pelas mais variadas razões. No passado foram citadas várias razões, que incluem:
-
o desejo de retribuir à comunidade de Software Livre (praticamente todos são utilizadores de software livre);
-
o desejo de ver algumas tarefas de software realizadas (alguns veem a comunidade dos utilizadores Debian como um sítio de valor para testar e provar a validade de novo software);
-
um desejo de fazer, ou manter o Software Livre competitivo em relação a alternativas proprietárias;
-
o desejo de trabalhar mais perto de pessoas que partilham as mesmas atitudes, interesses e objetivos (o sentido de partilha das pessoas da comunidade do projeto Debian normalmente não é experimentado por elas nos seus empregos pagos);
-
o simples prazer do processo interativo de desenvolvimento e manutenção de software (alguns programadores têm um nível de dedicação e refinamento do software quase obsessivo).
Os Programadores Debian podem demitir-se das suas posições em qualquer altura, enviando a sua intenção à lista privada do projeto (ou apenas aos Debian System Administrators, se quiserem ser mais discretos). As suas contas serão então apagadas e as suas chaves criptográficas removidas do Project keyring (que permite o upload de pacotes assinados por eles, para que sejam aceitos no arquivo).
Cada pacote Debian tem um mantenedor (tipicamente, apenas um, mas ocasionalmente pequenas equipes de programadores supervisionam peças de software particularmente complexas). É da responsabilidade dos mantenedores manter o ritmo de acordo com as (caso existam) versões definidas pelos autores do software (a que se chama "upstream"), garantir a portabilidade do pacote com as arquiteturas que o Debian suporta, garantir que o pacote é compatível com a política técnica do Debian, corrigir defeitos no pacote reportados pelos seus utilizadores (que também podem ser outros programadores Debian), e melhorias aos pacotes efetuados pelos seus autores que o farão mais fácil de utilizar, mais configurável, mais seguro e por aí fora.
Periodicamente, um mantenedor de pacotes faz uma release de um pacote fazendo o upload para o diretório "incoming" do arquivo de pacotes do Debian (ou usando uma "upload queue" que periodicamente transmite em batch os pacotes para o directório incoming). Após um intervalo (um dia atualmente), o diretório incoming é verificado por um processo automático que garante que o uploadestá bem formado (todos os ficheiros obrigatórios estão no sitio) e que o pacote tem a assinatura digital—produzida por software compatível com oOpenPGP-- do programador Debian. Todos os programadores Debian têm chaves públicas. Os pacotes são assinados devido a duas razões: 1) para permitir verificar se pacotes não assinados, que podem ter sido enviados hostilmente, não serão processados no futuro; e 2) para permitir a contabilização no caso de um pacote conter um defeito sério, uma violação de política ou código malicioso.
Se o novo pacote é validado como: corretamente, assinado e bem formado, é instalado no arquivo, para uma área chamada "pool". Inicialmente, todos os uploads de pacotes aceitos no arquivo são apenas disponibilizados na versão "unstable", que contem a versão mais recente de cada pacote. No entanto, o novo código é também código não experimentado, por isso os pacotes são mantidos nesta área de desenvolvimento/QA durante vários dias (a duração exata depende da urgência do upload).
Para um pacote passar da área de desenvolvimento/QA para a versão "testing" -- ou seja, o grupo de pacotes que são candidatos a fazer parte da próxima release da distribuição Debian—tem de cumprir vários critérios:
-
tem de ter estado na área QA durante uma duração apropriada de tempo;
-
não pode ter nenhum bug "release-critical" a ele associado (bugs tão sérios que fazem com que não possam ser libertados);
-
tem de ser compilado para todas as arquiteturas planeadas para a release (noutras palavras, pacotes para arquitecturas não libertadas existem apenas na versão de desenvolvimento/QA, não na versão release-candidate);
-
não pode depender de versões de nenhum pacote que não cumpra as condições anteriormente definidas
Desta forma, como é de esperar, um bug release-critical num pacote de que vários pacotes dependam, como por exemplo uma shared library, pode impedir muitos pacotes de entrarem na área de testes, porque essa biblioteca é considerada deficiente.
Periodicamente, o Release Manager, que é um delegado do Debian Project Leader, em concordância com as linhas mestras anunciadas aos programadores alguns meses antes, decide fazer uma release. Isto ocorre quando todo o software importante está razoávelmente up-to-date na versão "release-candidate" para todas as arquiteturas para as quais está planejada a release e quando todos os outros objetivos definidos pelo Release Manager foram atingidos. Nesta altura, todos os pacotes na "release-candidate" passam a fazer parte da "release".
Não é possível a um pacote—particularmente a um antigo, estável e alterado frequentemente—pertencer a mais do que uma versão ao mesmo tempo. As versões são apenas coleções de apontadores para a "pool" de pacotes acima mencionada.