Айки Доэрти (Ikey), основатель дистрибутива Solus, опубликовал заметку о последних тенденциях в разработке дистрибутива Serpent OS, на технологиях которого будет построен выпуск Solus 5. Основные моменты:
- Проект Serpent OS находился в состоянии относительного застоя из-за технических проблем, связанных с реализацией дополнительных средств для безопасной работы с памятью в языке программирования D и ограниченностью ресурсов для создания и поддержки пакетов на языке D, который ранее использовался для разработки инструментария Serpent OS.
- Айки Доэрти любит язык программирования D и ценит его выразительность и свободу творчества, в виду чего продолжит использовать D в своих личных проектах, с оптимизмом смотря на его будущее.
- После сотрудничества с компанией Solus приоритеты проекта изменились, и теперь архитектурные решения принимаются с учётом потребностей всех заинтересованных сторон, включая существующий состав сопровождающих.
- При разработке проекта планируется использовать языки Rust, ReactJS/TypeScript и Go. Rust будет применяться для низкоуровневого инструментария (moss, boulder, libstone), ReactJS/TypeScript для фронтенда, а Go для веб-систем и инфраструктуры сборки.
- Новая инфраструктура будет масштабируемой и развёртываться с помощью Kubernetes. Планируется активно использовать кэширование при пересборке всего дистрибутива после изменения какой-то части графа зависимостей.
- В настоящее время проект сосредоточен на реализации пакетного менеджера moss на языке Rust и использовании лицензии MPL-2.0 для нового инструментария.
- Проект закрепляет авторские права за коллективом разработчиков Serpent OS, чтобы предотвратить изменения лицензии в будущем.
.
Дистрибутив SerpentOS не является ответвлением от других проектов и основывается на пакетом менеджере moss, который заимствует многие современные возможности, развиваемые в таких пакетных менеджерах, как eopkg/pisi, rpm, swupd и nix/guix, сохраняя при этом традиционный взгляд на манипуляцию пакетами и использующий сборку в режиме stateless по умолчанию. Пакетный менеджер использует атомарную модель обновления системы, при которой фиксируется состояние rootfs, а после обновления состояние переключается на новое.
Release.
Ссылка here.