Serpent OS переходит на применение языков Rust, TypeScript и Go в инструментарии и инфраструктуре

Айки Доэрти (Ikey), основатель дистрибутива Solus, опубликовал заметку о последних тенденциях в разработке дистрибутива Serpent OS, на технологиях которого будет построен выпуск Solus 5. Основные моменты:

  • Проект Serpent OS находился в состоянии относительного застоя из-за технических проблем, связанных с реализацией дополнительных средств для безопасной работы с памятью в языке программирования D и ограниченностью ресурсов для создания и поддержки пакетов на языке D, который ранее использовался для разработки инструментария Serpent OS.

  • Айки Доэрти любит язык программирования D и ценит его выразительность и свободу творчества, в виду чего продолжит использовать D в своих личных проектах, с оптимизмом смотря на его будущее.

  • После сотрудничества с компанией Solus приоритеты проекта изменились, и теперь архитектурные решения принимаются с учётом потребностей всех заинтересованных сторон, включая существующий состав сопровождающих.

  • При разработке проекта планируется использовать языки Rust, ReactJS/TypeScript и Go. Rust будет применяться вместо языка D для низкоуровневого инструментария (moss, boulder, libstone), ReactJS/TypeScript для фронтенда, а Go для веб-систем и инфраструктуры сборки.

  • Новая инфраструктура будет масштабируемой и развёртываться с помощью Kubernetes. Планируется активно использовать кэширование при пересборке всего дистрибутива после изменения какой-то части графа зависимостей.

  • В настоящее время проект сосредоточен на реализации пакетного менеджера moss на языке Rust и использовании лицензии MPL-2.0 для нового инструментария.

  • Проект закрепляет авторские права за коллективом разработчиков Serpent OS, чтобы предотвратить изменения лицензии в будущем.

.

Дистрибутив SerpentOS не является ответвлением от других проектов и основывается на пакетом менеджере moss, который заимствует многие современные возможности, развиваемые в таких пакетных менеджерах, как eopkg/pisi, rpm, swupd и nix/guix, сохраняя при этом традиционный взгляд на манипуляцию пакетами и использующий сборку в режиме stateless по умолчанию. Пакетный менеджер использует атомарную модель обновления системы, при которой фиксируется состояние rootfs, а после обновления состояние переключается на новое.



Источник: http://www.opennet.ru/opennews/art.shtml? num=59756

©  OpenNet