Bifurcando o Debian

Abaixo está a mensagem que foi enviada para a lista de discussão DNG em 27 de novembro de 2014 para anunciar o fork do Debian. É mantido aqui por interesse histórico. Uma atualização de 22 de dezembro de 2014 também é interessante.

A partir de hoje, o núcleo da visão permanece o mesmo: Devuan deve ser um sistema mínimo e estável que honre a história do Debian e aceite a inovação, mantendo ao mesmo tempo compatibilidade e interoperabilidade.

Para aqueles que preferem um vídeo ao texto, aqui está uma explicação das razões pelas quais criamos o Devuan, um discurso dado por um de nossos principais desenvolvedores na ocasião do aniversário de dois anos de Devuan na Free Society Conference e na Nordic Summit:

Acesse o vídeo em: https://invidio.us/watch?v=wMvyOGawNwo

[Dng] [debianfork] Não entre em pânico, e continue bifurcando o Debian™!

Caros amantes da liberdade de inicialização,

O coletivo Veteran Unix Admin os saúda.

Como muitos de vocês devem saber, a votação1 referente ao sistema de inicialização do Debian, promovida por Ian Jackson não foi útil para proteger o legado do Debian e seus usuários contra a avalanche do systemd.

Esta situação prevê um bloqueio nas dependências do systemd que é de fato uma ameaça à liberdade de desenvolvimento e tem sérias conseqüências para o Debian, a montante e a jusante.

O CTTE conseguiu trocar uma dependência e ganhar para nós algum tempo antes de uma substituição sutil do sysvinit pelo systemd, mas mesmo este processo foi exaustivo e cheio de drama. Por fim, há uma semana, Ian Jackson renunciou.

O problema obviamente não é apenas técnico: a ideia da VUA de optar por uma "bifurcação" refere-se principalmente à falta de consenso entre divergentes percepções do projeto Debian, sua governança e sua missão. Diversas tentativas de mediação falharam. Hoje todos podemos concordar pacificamente em uma coisa: mais negociações relacionadas ao systemd estão custando muita energia para qualquer um preocupado com a causa da Liberdade de Iniciação.

Acreditamos que esta situação é também o resultado de um processo mais longo que leva à tomada do Debian pela agenda do projeto GNOME. Considerando até que ponto isso se propagou, e a importância do Debian como um sistema operacional universal e sistema básico no panorama das distribuições, o que está em jogo é o futuro do GNU/Linux em um cenário de completa homogeneização e lock-in de toda base de distribuições.

Portanto, olhando a situação como está hoje: precisamos bifurcar.

Em apêndice a este e-mail está a mensagem de Roger Leigh, um desenvolvedor Debian e mantenedor de muitas partes importantes no Debian. Nós temos seu endosso e o de outros 2 DDs anônimos, além de muitas cartas de profissionais preocupados e de colaboradores do Debian.

Recebemos todos os desenvolvedores Debian intrigados com nossos planos. A fundação sem fins lucrativos Dyne.org aceitou nos fornecer apoio e estrutura administrativa necessária para tornar isso realidade. Se todos nós lutamos por elegância, o esforço será leve e enxuto, pense em canalizar as energias gastas até aqui em uma discussão sem desfecho positivo para criar algo novo e belo em sua simplicidade...

Então nós vamos bifurcar!

Primeiro de tudo, nosso projeto é chamado de "Devuan". Nossa página Web está em https://devuan.org. Por favor, espalhe a notícia. Nós precisamos de voluntários. O site Debianfork2 e o canal de IRC permanecem como o primeiro acampamento desta aventura, mas vamos passar a operar sob o nome "Devuan" a partir de agora e convidamos todos a usar este nome para se referir ao nosso projeto.

Agora precisamos de todo o seu apoio e atenção para moldar isso como um processo coletivo e acolhedor para todas as pessoas dentro e fora do Debian que estão dispostas a contribuir para isso.

Nosso projeto vai crescer gradualmente e passo a passo, traçando um caminho que é diferente daquele que os projetos systemd e GNOME estão tentando impor a todos. Há espaço para todos que queiram participar, um bom canal para começar é o #devuan no freenode, os issues3 do GitHub são os TODO (afazeres) e tema principal para esse canal, enquanto o tão produtivo canal #debianfork fica aberto para a discussão mais geral.

Então qual é o plano?

A primeira meta de médio prazo é produzir uma distribuição de base, confiável e minimalista, e que fica longe da homogeneização e do lock-in promovido pelo systemd. Esta distribuição deverá estar pronta quando o Debian Jessie estiver pronto e constituirá uma alternativa perfeita ao seu dist-upgrade. Hoje, os únicos que resistem são as distribuições Slackware e Gentoo, mas precisamos fornecer um terreno sólido também para distribuições baseadas no apt-get. Todos os projetos baseados no Debian, que estão preocupados com a avalanche do systemd são convidados a acompanhar nossa iniciativa e avaliá-la como uma base alternativa. Vamos trabalhar com atenção para tornar isto viável, e nosso principal objetivo aqui será uma remoção limpa do systemd e suas dependências, reconstruindo e corrigindo pacotes quando necessário.

Já existe uma interessante prova de conceito para este plano: o site http://without-systemd.org/debian-jessie/ (por Obri) explica o método de pinning4 e fornece um instalador de 64 bits do Debian "Testing", livre do systemd. Estamos executando um pin sem systemd em nossa nova infraestrutura Devuan, bem preparada para comer da nossa própria comida, é claro. Se você tem experimentos genéricos para contribuir, experiências ou ideias e documentação sobre isto e outras abordagens, sinta-se à vontade para usar o wiki em http://without-systemd.org/wiki/index.php/Main_Page.

Começamos a configurar as primeiras partes de uma infraestrutura central para hospedar um website, lista de e-mails e um repositório de pacotes baseado no dak (para ser espelhado, em breve detalhes!).

Também estamos fazendo upload de materiais em https://github.com/devuan que pretendemos usar como uma plataforma de desenvolvimento, pelo menos nesta fase inicial.

Para aqueles dispostos a ajudar imediatamente, ainda precisamos configurar um BTS (https://www.debian.org/Bugs/), que nos permitirá herdar muito das ferramentas úteis que o Debian desenvolveu.

Finalmente, planejamos a integração contínua de pacotes do GitHub a um Jenkins builder (http://jenkins-debian-glue.org/) e depois para o nossos repositórios de pacotes. Sinta-se à vontade para experimentar e nos informar.

Fluxo de Integração Contínua:

 Github -> Jenkins -> packages.devuan.org -> espelhos

Assim que tudo estiver pronto, estaremos prontos para receber os mantenedores de pacotes.

Além do BTS, usaremos os issues do GitHub em https://github.com/devuan/devuan-baseconf/issues para coordenação de tarefas.

O primeiro pacote de Devuan é, de fato, "devuan-baseconf" que basicamente consiste em um instalador Debian com o preseed do sysvinit-core e um par de pacotes devuan contendo chaveiro devuan, arquivos de lista de repositórios devuan e pinnings de remoção do systemd-sysv. Uma vez instalado e atualizado, este pacote vai evitar o requisito de systemd como PID 1 em qualquer situação e preferirá o uso do pacote systemd-shim quando estritamente necessário.

Mais sobre a visão

Este é apenas um começo, tão ousado quanto parece ser chamá-lo de bifurcação, em um processo que se desdobrará no tempo e envolverá mais pessoas, primeiro para importar e mudar Pacotes Debian e mais tarde para mantê-los em um curso separado. Para ajudar com esta aventura e seu crescimento, pedimos a todos que se envolvam, mas também que doem dinheiro para que possamos cobrir os custos de estabelecimento da nova infraestrutura.

Devuan pretende ser uma distribuição de base cuja missão é sustentar a liberdade de usuários de atuar como desenvolvedores, administradores de sistemas e, em geral, aqueles tecnicamente mais aptos, como é a maioria dos usuários do Debian. Entre as prioridades estão: permitir a diversidade, a interoperabilidade e a retrocompatibilidade com as distribuições baseadas em Debian, que desejem preservar a Liberdade de Iniciação e evitar a opaca e homogeneizante avalanche do systemd.

Devuan irá derivar seu próprio instalador e repositórios de pacotes do Debian, modificando-os quando necessário, com o principal objetivo de remover o systemd, ainda herdando o fluxo de trabalho de desenvolvimento do Debian e dando continuidade em um caminho diferente: livre de inchaços, como uma distro base minimalista deve ser. Usuários serão capazes de mudar do Debian 7 para o Devuan sem problemas, como se eles fizessem um dist-upgrade para o Jessie.

O Devuan fará um esforço para reconstruir uma infraestrutura semelhante ao Debian, mas também aproveitará a oportunidade para inovar em algumas de suas práticas. Desenvolvedores do Devuan olham para este projeto como um novo começo para uma comunidade de pessoas interessadas, e não pretendem impor a vexação de hierarquia e burocracia que muitas vezes se opõem à inovação no Debian. Estamos cientes de que isso é possível principalmente pelo fato de começarmos pequeno novamente e nós faremos o nosso melhor para não repetir os mesmos erros.

A distribuição Devuan fará um esforço para melhorar seu relacionamento tanto com a montante como a jusante e, particularmente na sua fase gestacional, fará o seu melhor para acomodar as necessidades das distribuições dispostas a adotá-la como base. Estamos ansiosos para receber declarações de interesses de tais distribuições, bem como envolvimento nesta fase de planejamento.

Devuan fará o seu melhor para permanecer mínimo e respeitar a filosofia UNIX de "fazer uma coisa e fazê-la bem". Irá promover a diversidade e a liberdade de escolha entre todos os seus componentes e se perceberá não como um fim em si mesmo, mas como um processo, um ponto de partida para os desenvolvedores, uma base viável para sysadmins e uma ferramenta estável para pessoas que têm experiência suficiente com computadores. Devuan nunca se comprometerá com mais eficiência, se às custas da liberdade de seus usuários, em vez de deixar isso a encargo dos desenvolvedores de distribuições downstream, em uma configuração segura.

Se você precisar de Devuan, junte-se a nós e nos apoie agora!

Doações: https://devuan.org/donate.html

Designers e criatividade: contribua com logotipos! nós não temos um ainda.

Wiki: http://without-systemd.org/wiki

GitHub: https://github.com/Devuan

Imprensa e contatos: vua@debianfork.org

Discussão geral (1ª lista de discussão): https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Canais de bate-papo do IRC na freenode: \ #debianfork (discussão genérica) \ #devuan (foco no desenvolvimento)

    • Concluímos citando uma carta de Roger Leigh

Oi,

Eu sou um desenvolvedor Debian, no momento bastante desiludido com o que tem acontecido com o Debian nos últimos dois anos. Eu certamente estaria interessado em me envolver com uma bifurcação.

Se o systemd tivesse sido apenas um sistema de inicialização intercambiável, não seria tão problemático. É o escopo mal definido e bagunça de interdependências que são verdadeiramente chocantes. Tomemos logind, por exemplo. Ao analisar como implementar XDG_RUNTIME_DIR para inits diferentes do systemd, não consegui encontrar nenhuma especificação real de como se faça isso. Isso é porque não há nenhuma, apenas algumas palavras vagamente descritivas; só existe na implementação do systemd. E a sua semântica é muito pobre; não foi desenvolvida com segurança ou flexibilidade em mente. Nós vamos nos arrepender de adotar isso, já que as más decisões de design provavelmente se tornarão arraigadas.

E, mais recentemente, tem havido vários relatos de sistemas não inicializáveis. Isso é inconcebível, e uma séria ruptura com o suporte do Debian, tradicionalmente sólido em termos de compatibilidade com versões anteriores. Aqui, sistemas outrora suportados tiveram esse suporte jogado fora. Com sysvinit, um grande esforço havia sido feito para nunca para quebrar configurações existentes, e isso parece ter sido perdido. A introdução do boot baseado em dependências precisou de dois ciclos estáveis; opcional em um, padrão no seguinte, e obrigatório depois disso. Isso poderia ter sido reduzido, certamente, mas o ponto é que algum tempo foi necessário para garantir a sua correção e robustez (e no começo, ainda precisou de ajustes, então a espera valeu a pena). Isso não ocorreu com o systemd, que foi definido como padrão mesmo sem ainda estar pronto para uso em produção.

O Debian é desenvolvido por centenas de desenvolvedores ativos e usado por um número de pessoas muitas vezes maior. As pessoas confiam no Debian para seus trabalhos e negócios, suas pesquisas e seus hobbies. Não é um playground para tal experimentação radical. A adoção do systemd foi prematuramente forçada e não apenas causou uma simples ruptura, causou ruptura com o nosso passado, quebrando as atualizações confiáveis ​​pelas quais o Debian é renomado.

Pessoalmente, eu gostaria de ver uma consideração muito maior pela estabilidade e retrocompatibilidade, em vez de apenas arrancar o antigo em favor do novo sem qualquer consideração pelo seu verdadeiro valor. Pode não ser o mais atualizado, mas já temos o Fedora para pessoas que valorizam isso como um parâmetro de sistema confiável. É possível estar atualizado sem ser um Fedora; O Debian unstable historicamente fez um bom trabalho com foco nesse propósito.

Atenciosamente,
Roger

--
   .''`.  Roger Leigh
  : :' :  Debian GNU/Linux    http://people.debian.org/~rleigh/
  `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
    `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800

Ver comentários


  1. Nota de tradução: no original, o termo usado não é apenas votação, mas sim Init GR Debian vote, em que "GR" significa General Resolution (resolução geral). Em outras palavras, há um protocolo da comunidade Debian para resolução de conflitos, que neste caso foi aplicado ao sistema de inicialização. ↩︎

  2. Nota de tradução: o termo fork, do inglês, cuja tradução seria neste caso "bifurcação" significa uma derivação do projeto, em que grande parte dele é reaproveitada, porém modificações são aplicadas, gerando um novo projeto, enquanto o projeto a partir do qual ele se originou mantém um rumo diferente. Assim tornam-se dois projetos separados. ↩︎

  3. Nota de tradução: aqui o termo original (issues) foi mantido, pois não faria sentido traduzí-lo (neste caso, para "problemas"). Esse termo é usado como referência aos sistemas integrados aos controles de versionamento, e que são usados para debater e propor soluções aos problemas identificados, bem como para informar sobre o andamento da solução. ↩︎

  4. Nota de tradução: O termo pinning, traduzido ao pé da letra seria "fixação". Porém, esse termo é usado tecnicamente para designar, entre as distribuições cujos pacotes são gerenciados via APT, o uso de pacotes não designados para a versão do sistema. Neste contexto, a técnica foi usada para substituir os pacotes do systemd, ou dependentes dele por pacotes corrigidos. ↩︎