Por que outra distribuição?

Na verdade se trata de um sistema operacional e embora atualmente não tenha seu próprio kernel (ainda sim, também não está necessariamente vinculado a nenhum), possui muitas ferramentas desenvolvidas e em desenvolvimento p'ra ele.

Eltanin vs Glacies

Eltanin é o nome do sistema operacional, glacies é uma distribuição dele (usando um kernel de terceiros). A distinção existe p'ra manter sua identidade clara, pois não tem vínculo com nenhum kernel, outras distribuições podem aparecer e nossa própria solução pode aparecer mais cedo ou mais tarde (participe das comunidades p'ra receber notícias mais cedo).

Por que não ajudar o projeto X?

Você pode ler sobre os principios do projeto na página principal, embora existam outros projetos com objetivos semelhantes, as diferenças são muito significativas p'ra considerar a união com outro projeto do mesmo nicho.

Por exemplo, todas as ferramentas do projeto usam a libC tertium em vez da libC padrão (veja comparação) e redo em vez do make, que (seguindo o princípio da interoperabilidade) é usado p'ra construir o arbor e o venus.

Ele também usa ferramentas de terceiros que estão alinhadas com os objetivos do projeto: execline p'ra criação de scripts, s6 e s6-rc como sistema de inicialização, arcan como servidor de exibição.

#!/bin/execlineb -P
# um exemplo aleatório de interoperabilidade do execline (crie um hash p'ra cada arquivo)
find . -type f -exec
    define o arquivo "{}"
    redirfd -w 1 "${file}.hash"
    cksum $file

Portanto, é mais sensato beneficiar ferramentas alinhadas com os objetivos do projeto (com os testes e atenção extra) em vez de "unir-se" a projetos com visões diferentes.

Sobre Simia

Simia é uma camada de compatibilidade POSIX (semelhante ao glibc ou musl) p'ra tertium, embora atualmente não esteja em uso, assumirá como libC POSIX padrão p'ra todas as distribuições Eltanin (até lá também é possível que as distribuições façam uso de uma versão mesclada). Existe por razões de portabilidade e p'ra interoperar com a não POSIX libC tertium.

Sobre o gerenciador de pacotes

O gerenciamento de pacotes é feito pelo arbor e pelo venus, o primeiro é um sistema de compilação reproduzível que preencherá o repositório; o segundo é um gerenciador de pacotes funcional que usa o repositório p'ra instalar/atualizar/desatualizar atomicamente os pacotes.

  • Atômico?

Quando você instala um pacote, os arquivos do sistema começam a ser substituídos gradualmente. Durante esse período, o aplicativo não funcionará e, se a operação não for bem-sucedida, o sistema ficará em um estado inacabado, com as partes alteradas inoperantes. Já em um modelo atômico, as operações são indivisíveis, ou seja, a operação é totalmente bem-sucedida ou falha por completo. Assim, se a operação for bem-sucedida, o sistema será atualizado instantaneamente p'ra o novo estado; caso contrário, permanecerá como estava, garantindo que o sistema permaneça responsivo o a todo momento.

  • Reprodutível?

Os pacotes são criados com um hash criptográfico exclusivo, portanto, você tem uma maneira de ter certeza de que o pacote que está recebendo é o mesmo que esperava. Dessa forma, você pode saber quando deixar de confiar em um repositório. O gerenciador de pacotes também usa esse fato p'ra usar espelhos sem precisar que você confie neles (já que ele baixa os hashes do seu repositório confiável).