Uma Breve História do Debian - Uma história detalhada
4.1 As versões 0.x
O Debian foi iniciado em 1993 por Ian Murdock, então um estudante na Universidade Pardue. O Debian foi patrocinado pelo Projeto GNU da Free Software Foundation, a organização de Richard Stallman e associada com a Licença Pública Geral (GPL), por um ano -- de Novembro de 1994 a Novembro de 1995.
A Debian 0.01 até Debian 0.90, que foram lançadas entre Agosto e Dezembro de 1993. Ian Murdock escreveu o seguinte:
"A Debian 0.91 foi lançada em Janeiro de 1994. Esta tinha um sistema de pacotes primário que permitia os usuários a manipular pacotes mas nada mais (certamente não haviam dependências ou algo do tipo). Naquele tempo, em que haviam meia dúzias de pessoas trabalhando no Debian, eu praticamente construí essa versão sozinho. A versão 0.91 foi a última a ser lançada dessa forma.
A maior parte do ano de 1994 foi gasto organizando o Projeto Debian, de forma que outros podessem contribuir mais efetivamente e também trabalhando no dpkg (Ian Jackson foi o maior responsável por ele). Não houveram lançamentos para o público em 1994 pelo o que posso me lembrar, apesar de terem ocorridos vários lançamentos internos para que pudéssemos trabalhar em tornar o processo o mais correto possível.
O lançamento da Debian 0.93 versão 5 ocorreu em Março de 1995 e foi a primeira versão "moderna" do Debian: existiam muito mais desenvolvedores (A não me lembro exatamente quantos), cada um mantendo seus próprios pacotes, e o dpkg começou a ser utilizado para instalar e manter todos estes pacotes depois que um sistema básico havia sido instalado.
O lançamento da Debian 0.93 versão 6 ocorreu em Novembro de 1995 e foi a última versão com o a.out. Haviam mais 60 desenvolvedores mantendo pacotes na 0.93R6. Se eu me lembro corretamente, o dselect fez sua primeira aparição na 0.93R6."
Ian Murdock também nota que a Debian 0.93R6 "... sempre foi minha versão preferida do Debian", embora ele admita alguma influência pessoal, já que ele parou de trabalhar ativamente no projeto em Março de 1996 durante a pré-produção da Debian 1.0, que foi lançada como Debian 1.1 para evitar confusão depois da produção em CDROM rotulada incorretamente como 1.0 e não lançada. O incidente levou a criação do conceito de imagens de CDROM "oficiais", como uma forma do projeto ajudar os vendedores a evitar este tipo de engano.
Durante o mês de Agosto de 1995 (entre o Debian 0.93 versão 5 e o Debian 0.93 versão 6), Hartmut Koptein iniciou o primeiro porte do Debian, para a família Motorola m68k. Ele relatou que "muitos, muitos pacotes são i386-centric (little endian, -m486, -O6 e todos para a libc4), demorou um tempo para obter uma base de pacotes inicial em minha máquina (uma Atari Medusa 68040, 32 MHz). Depois de três meses (em Novembro de 1995), foram enviados 200 pacotes de 250 pacotes disponíveis, todos para a libc5!" Depois ele iniciou outro porte junto com Vincent Renardias e Martin Schulze, para a família PowerPC.
Desde aquele tempo, o Projeto Debian cresceu muito, incluindo vários portes para outras arquiteturas, e um porte para um novo kernel (não-Linux), o microkernel GNU Hurd.
"... começou entre o 0.99r8 e o 0.99r15. Por um longo tempo, eu pude compilar o kernel em menos de 30 minutos em uma máquina 386, com 20 Mhz e pude também fazer uma instalação do Debian, no mesmo tempo, em um disco com 10Mb.
" ... lembro que o grupo inicial incluía Ian Murdock, eu, Ian Jackson, outro Ian do qual eu não me lembro o sobrenome, Dan Quinlan, e outras pessoas das quais eu não lembro o nome. Matt Welsh também fez parte do grupo inicial ou juntou-se bem cedo (ele deixou o projeto hoje). Alguém configurou uma lista de discussão e aqui estamos.
Pelo que me lembro, nós não começamos com um plano e nós não planejamos qualquer organização. Começamos pegando códigos de um grupo variado de pacotes. Depois de um tempo, nos focamos em um grupo de itens que são necessários em uma distribuição: o kernel, um shell, update, getty, vários outros programas e arquivos suportados necessários para inicializar o sistema e um grupo de utilitários. "
4.1.1 O Primeiro Sistema de Empacotamento Debian
Nos primeiros estágios do projeto, os membros consideravam a distribuição de pacotes apenas com seu código. Cada pacote consistia no código do autor e um patch 'debianizado", e os usuários poderiam descompactar o código, aplicar os patchs e compilar os binários eles mesmos. No entanto, eles logo viram que algum tipo de esquema de distribuição de binários era necessário. A primeira ferramenta de empacotamento, escrita por Ian Murdock e chamada de dpkg, criava um pacote em formato binário específico do Debian e podia ser usado para descompactar e instalar os arquivos do pacote.
Ian Jackson logo terminou o desenvolvimento da ferramenta de empacotamento, renomeando-a para dpkg-deb e escreveu uma interface, que ele chamou de dpkg, para facilitar o uso do dpkg-deb e que forneceu o sistema de Dependências e Conflitos do sistema Debian de hoje. Os pacotes produzidos por estas ferramentas têm um cabeçalho que lista a versão da ferramenta usada para criá-los e uma impressão dentro do arquivo, um outro arquivo produzido pelo tar, que foi separado do cabeçalho por algumas informações de controle.
Neste momento, começou um debate entre os membros do projeto - alguns sentiram que o formato específico do Debian criado pelo dpkg-deb deveria ser retirado, em favor do formato produzido pelo programa ar. Depois de vários formatos de arquivos e ferramentas de empacotamento revisados, o formato ar foi adotado. O principal fator dessa mudança é que isso faz com que seja possível que um pacote Debian seja novamente empacotado em qualquer sistema Unix-like sem que seja necessário rodar um executável não confiável. Em outras palavras, somente ferramentas padrões, presentes em qualquer sistema Unix, como 'ar' e 'tar' são necessárias para desempacotar um pacote binário Debian e examinar seu conteúdo.
4.2 As versões 1.x
Quando o Ian Murdock deixou o Debian, ele indicou o Bruce Perens para se tornar o próximo líder do projeto. Bruce se interessou pelo Debian quando estava tentando criar uma distribuição Linux que rodasse a partir do CD, chamada "Linux for Hams", que incluiria todos os softwares para operadores de rádio. Vendo que o sistema básico do Debian necessitava de muito mais para suportar seu projeto, Bruce acabou trabalhando duro no sistema básico do Linux e ferramentas de instalação relacionadas, adiando sua distribuição, incluindo a organização (junto com o Ian Murdock) do primeiro conjunto de scripts de inicialização, o que resultou nos disquetes de boot que o Debian usa hoje.
"Bruce é a escolha natural de um sucessor meu, uma vez que ele vem mantendo o sistema básico por mais um ano, e cobria os buracos que eu deixava, já que o tempo que destinava para o Debian, diminuía cada vez mais."
Ele iniciou muitas coisas importantes do projeto, incluindo a coordenação do esforço para produzir o documento Debian Free Software Guidelines (Definição Debian de Software Livre) e a inicialização do Open Hardware Project. Durante o seu tempo como Líder do Projeto, o Debian obteve um grande marketing e ganhou a reputação de uma plataforma para usuários tecnicamente capazes e sérios.
Bruce Perens também liderou o esforço para criar a Software in the Public Interest, Inc.. Originalmente criada para fornecer ao Projeto Debian uma entidade legal capaz de aceitar doações, ela rapidamente se tornou uma entidade que suporta vários outros projetos de software livre.
1.1 Buzz lançada em Junho de 1996 (474 pacotes, kernel 2.0, totalmente em ELF, dpkg)
1.2 Rex lançada em Dezembro de 1996 (848 pacotes, 120 desenvolvedores)
1.3 Bo lançada em Julho de 1997 (974 pacotes, 200 desenvolvedores)
Houveram vários "pontos de lançamento" para a 1.3, sendo o último o 1.3.1R6.
Bruce Perens foi substituído por Ian Jackson no começo de Janeiro de 1998, depois de liderar o projeto até a preparação da versão 2.0.
4.3 As versões 2.x
Ian Jackson tornou-se o líder do Projeto Debian no começo de 1998, e desde então foi adicionado a diretoria da "Software in the Public Interest", como vice-presidente. Depois da saída do tesoureiro (Tim Sailer), do presidente (Bruce Perens) e do secretário (Ian Murdock), ele se tornou presidente e três novos membros foram escolhidos: Martin Schulze (vice-presidente), Dale Scheetz (secretário) e Nils Lohner (tesoureiro).
A Debian 2.0 (Hamm) foi lançada em julho de 1998 para as arquiteturas Intel i386 e Motorola 68000. Este lançamento marcou a mudança para uma nova versão das bibliotecas de sistemas C (glibc2 ou libc6, por questões históricas). No momento do lançamento, haviam 1500+ pacotes mantidos por mais de 400 desenvolvedores Debian.
Wichert Akkerman sucedeu o Ian Jackson como líder do Projeto Debian em Janeiro de 1999. A Debian 2.1 foi lançada em 09 de Março de 1999, depois de um atraso de uma semana, quando algumas questões de última hora apareceram.
A Debian 2.1 (Slink) apresentou o suporte oficial a duas novas arquiteturas: Alpha e Sparc. Os pacotes X-Windows incluídos no Debian 2.1 foram altamente organizados e a 2.1 incluiu o apt, a nova geração da interface de gerenciamento de pacotes Debian. Também, este lançamento do Debian foi o primeiro a requerer 2 CD-ROMs para o "Conjunto Oficial de CDs Debian"; a distribuição incluia cerca de 2250 pacotes.
Em 21 de Abril de 1999, a Corel Corporation e o Projeto K Desktop efetivamente formaram uma aliança com o Debian quando a Corel anunciou sua intenção de lançar uma distribuição Linux baseada no Debian e no desktop produzido pelo KDE. Durante os meses de verão e primavera seguintes, uma outra distribuição baseada no Debian, Storm Linux, apareceu, e o Projeto Debian escolheu um novo logo, apresentando tanto uma versão oficial para uso em materiais encorajados pelo Debian, como CD-ROMs e websites oficiais do projeto, e um logo não oficial para uso em materiais que mencionem ou derivem do Debian.
Um novo, único, porte do Debian também havia começado nessa época, para o Hurd. Este era o primeiro porte para um kernel não Linux, em vez de usar o GNU Hurd, uma versão GNU do microkernel Mach.
A Debian 2.2 (potato) foi lançado em 15 de Agosto de 2000 para as arquiteturas Intel i386, Motorola séries 68000, alpha, SUN Sparc, PowerPC e ARM. Este foi o primeiro lançamento a incluir os portes para PowerPC e ARM. Na época do lançamento, haviam mais de 3900 pacotes binários e mais 2600 pacotes de fonte mantidos por mais de 450 desenvolvedores Debian.
Um fato interessante sobre o Debian 2.2 é que ele mostrou como um esforço de software livre pode levar a um sistema operacional moderno, despistando todas as questões em torno disso. Ele foi estudado a fundo por um grupo de interesse em um artigo chamado Contando batatas, do qual segue uma parte do texto:
"[...] nós usamos o sistema de sloccount de David A. Wheeler para determinar o número de linhas de código físicas do código (SLOC) do Debian 2.2 (conhecido como potato). Nós verificamos que o Debian 2.2 inclui mais de 55,000,000 SLOC físicos (quase duas vezes mais que o Red Hat 7.1, lançado quase 8 meses depois), mostrando que o modelo de desenvolvimento do Debian (baseado no trabalho de um grande grupo de desenvolvedores voluntários espalhados ao redor do mundo) é tão capaz quanto outros métodos de desenvolvimento [...] Isto também mostrou que se o Debian estivesse sendo desenvolvido usando os tradicionais métodos proprietários, o modelo COCOMO estima que o custo estaria perto de $1.9 bilhões de dólares para desenvolver o Debian 2.2. Adicionalmente, nós oferecemos tanto uma análise das linguagens usadas na distribuição (a maioria em C, com cerca de 70%, C++ com 10%, LISP e Shell em torno de 5%, e outras), e os maiores pacotes (Mozilla, o kernel Linux, PM3, XFree86, etc.)"
4.4 As versões 3.x
Antes que a woody pudesse ser preparada para seu lançamento, uma mudança no sistema de arquivos no ftp-master teve que ser feito. Filas de pacotes, que permitiam a criação de distribuições para propósitos especiais, como a nova distribuição "Teste" usada pela primeira vez para deixar a woody pronta para lançamento, foram ativadas no ftp-master no meio de Dezembro de 2000. Uma fila de pacotes é apenas uma coleção de diferentes versões de um determinado pacote, do qual múltiplas distribuições (atualmente experimental, instável, teste e estável) podem extrair e incluir os que desejar em seu arquivo Packages.
Ao mesmo tempo uma nova distribuição A teste havia sido introduzida. Principalmente, pacotes da instável que pareciam estáveis eram movidos para a teste (depois de um período de algumas semanas). Isto foi feito para reduzir o tempo de congelamento (freeze) e dar ao projeto a possibilidade de preparar uma nova versão ao mesmo tempo.
Naquele período, algumas das companhias que distribuiam versões modificadas do Debian fecharam, começando pela Corel, que vendeu sua divisão Linux no primeiro trimestre de 2001, seguida da Stormix que declarou falência em 17 de Janeiro de 2001 e, finalmente, a Progeny parou o desenvolvimento de sua própria distribuição em 1 de Outubro de 2001.
O congelamento da nova versão começou em 1 de Julho de 2001. No entanto, o projeto levou um pouco mais de um ano para lançá-la, devido a problemas nos disquetes de boot, causados pela introdução de software criptografado no arquivo principal e a mudança na base das arquiteturas (o arquivo incoming e a arquitetura de segurança). Neste momento, no entanto, a versão estável (Debian 2.2) havia sido revisada por sete vezes e dois líderes do projeto haviam sido eleitos: Ben Collins (em 2001) e Bdale Garbee. Também, o trabalho em muitas áreas do Debian, além do empacotamento, continuaram a crescer, incluindo internacionalização, o web site do Debian (mais de mil páginas web) tem sido traduzido para mais de 20 línguas diferentes e a instalação para a próxima versão já está pronta em mais de 23 línguas. Dois projetos internos, Debian Junior (para crianças) e Debian Med (para médicos), iniciaram durante o lançamento da woody, dando ao projeto diferentes focos e fazendo do Debian uma ferramenta útil para tais tarefas.
O trabalho em torno do Debian não fez com que os desenvolvedores parassem de organizar um encontro anual chamado Debconf. O primeiro encontro ocorreu entre 2 e 5 de Julho junto com o Encontro de Software Livre (Libre Software Meeting) - LSM, em Bordeaux, na França, reunindo 40 desenvolvedores Debian. A segunda conferência ocorreu em Toronto (Canadá), em 05 de Julho de 2002, com mais de oitenta participantes.
A Debian 3.0 (woody) foi lançada em 19 de Julho de 2002, para as arquiteturas Intel i386, Motorola 68000, alpha, SUN Sparc, PowerPC, ARM, HP PA-RISC, IA-64, MIPS, MIPS (DEC) e IBM s/390. Este foi a primeira versão a incluir portes para HP PA-RISC, IA-64, MIPS, MIPS (DEC) e IBM s/390 ports. No momento do lançamento, haviam mais de 9000 pacotes binários mantidos por mais de mil desenvolvedores Debian, tornando-se a primeira versão a estar disponível via DVD e CD-ROMs.
4.5 Eventos Importantes
4.5.1 Julho de 2000: Joel Klecker morre
Em 11 de Julho de 2000, Joel Klecker, que também era conhecido como Espy, morreu aos 21 anos de idade. Ninguém que viu 'Espy' no #mklinux, nas listas Debian ou nos canais sabia que atrás do nick havia um jovem que sofria de uma forma de distrofia muscular. A maioria das pessoas o conhecia apenas como o cara "da glibc e do powerpc do Debian" e não tinha a menor idéia do sofrimento que Joel passava. Apesar de seu defeito físico, ele compartilhou sua grande mente com outros.
4.5.2 Outubro de 2000: Implementação da Fila de Pacotes
James Troup relatou que ele esteve trabalhando na re-implementação das ferramentas de manutenção do arquivo e trocando para a fila de pacotes. A partir dessa data, os arquivos são guardados em um diretório denominado após a inserção do pacote fonte correspondente dentro do diretório de filas. Os diretórios de distribuição terão apenas os arquivos Packages que contém referências para a fila. Isto simplifica a transição entre distribuições como teste e instável. O arquivo também passa a ser dirigido por uma base de dados PostgreSQL que também aumenta a velocidade das pesquisas.
4.5.3 Março de 2001: Christopher Rutter morre
Em 1 de Março de 2001, Christopher Matthew Rutter (também conhecido como cmr) morre após ser atropelado por um carro aos 19 anos. Christopher era um jovem e conhecido membro do projeto Debian que ajuda no porte para ARM.
4.5.4 Março de 2001: Fabrizio Polacco morre
Em 28 de Março de 2001, Fabrizio Polacco faleceu depois de um longo período doente. O projeto Debian honra seu ótimo trabalho e forte dedicação ao Debian e ao Software Livre. As contribuições de Fabrizio não serão esquecidas e outros desenvolvedores continuaram seu trabalho.
4.5.5 Julho de 2002: Martin Butterweck morre
Em 21 de Julho de 2002, Martin Butterweck (também conhecido como blendi) morre após lutar contra a leucemia. Martin era um jovem membro do projeto Debian e havia se juntado ao projeto recentemente.
4.5.6 Novembro de 2002: Incêndio queima servidor Debian
Perto das 08:00h de 20 de Novembro de 2002, o Centro de Operações de Rede da Universidade de Twente (NOC) pegou fogo. O prédio queimou até desabar. Os bombeiros tentaram proteger a área do servidor. Entre outras coisas o NOC hospedava o satie.debian.org, que continha tanto os arquivos da security como do non-US e as base de dados de novos mantenedores (nm) e do time de qualidade (qa). O Debian reconstruiu estes serviços na máquina klecker, que foi recentemente movido dos E.U.A para a Holanda.
4.6 O que vem a seguir?
O Projeto Debian continua a trabalhar na distribuição instável (codinome sid, o infernal e "instável" menino vizinho do filme Toy Story, que nunca deve sair para o mundo). Sid é o nome permanente da distribuição instável e está 'sempre em desenvolvimento' (em inglês, o termo seria 'Still In Development' - SID :). Os pacotes mais novos ou atualizados são enviados para esta distribuição.
A versão teste tem como intenção tornar-se a próxima versão estável e seu codinome atual é sarge. Os pacotes migram semi-automaticamente da instável para a teste através do atual gerente de lançamento, Anthony Towns e de alguns scripts para manter a integridade.
Para a sarge, o Debian está trabalhando em uma nova interface de instalação chamada debian-installer, na nova Glibc 2.3 e no novo GNU GCC 3.2.