Uma Breve História do Debian
Capítulo 4 - 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.
Um antigo membro do projeto, Bill Mitchell, lembra-se
do kernel Linux:
"... 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.
Em sua declaração, Ian Murdock disse:
"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.
As seguintes versões do Debian foram lançadas
nessa época:
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.
Joel Klecker (também conhecido com Espy)
nos fará falta.
--------------------------------------------------------------------------------
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.
Sentiremos falta de Chris Rutter.
--------------------------------------------------------------------------------
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.
Sentiremos falta de Fabrizio Polacco.
--------------------------------------------------------------------------------
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.
Sentiremos falta de Martin Butterweck.
--------------------------------------------------------------------------------
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.