Код старых выпусков как и раньше остаётся доступен под лицензией Apache 2.0, но все вносимые в перелицензированные компоненты изменения будут публиковаться только под лицензией AGPLv3, что не позволит форку Incus переносить изменения из LXD без перевода своей кодовой базы на лицензию AGPLv3. Лицензии Apache 2.0 и AGPLv3 имеют одностороннюю совместимость, которая сводится к тому, что код под лицензией Apache 2.0 может включаться в код под лицензией AGPLv3, но не наоборот. Изменение означает полное прекращение сотрудничества между проектами LXD и Incus, так как переносу изменений из LXD в Incus мешает новая лицензия, а из Incus в LXD необходимость подписания СLA-соглашения, которое разработчики Incus подписывать не намерены.
Особенностью лицензии AGPLv3 является введение дополнительных ограничений для приложений, обеспечивающих функционирование сетевых сервисов. При использовании AGPL-компонентов в работе сетевых сервисов, разработчик обязан предоставить пользователю исходный код всех внесённых в эти компоненты изменений, даже если лежащее в основе сервиса программное обеспечение не распространяется и используется исключительно во внутренней инфраструктуре для организации работы сервиса. Лицензия AGPL также накладывает условия копилефта, т.е. для включении AGPL-кода из LXD в свой проект, кодовая база собственного проекта должна быть перелицензирована под лицензией AGPL.
Среди добавленных в LXD 5.20 возможностей:
- Во время создания пулов хранения на базе Cephfs предоставлена возможность создания метаданных и данных для пулов OSD (Object Storage Daemon), используя параметры cephfs.create_missing, cephfs.meta_pool и cephfs.data_pool. Например:
lxc storage create mypool cephfs source=cephfs cephfs.create_missing=true cephfs.data_pool=xyz_data cephfs.meta_pool=xyz_meta
- В snap-пакете LXD в прошивку EDK2 добавлена возможность настройки приоритета загрузки с разных дисков при использовании режима security.csm.
- В прошивку EDK2 UEFI добавлен отладочный режим (boot.debug_edk2=true) для диагностики проблем при загрузке виртуальных машин. Отладочный лог сохраняется в файл $LXD_DIR/logs/‹instance_name›/edk2.log.
- Код авторизации переведён на модульную основу, позволившую обеспечить поддержку OpenFGA в дополнение к авторизации по сертификатам TLS и Canonical RBAC.
- Для компиляции LXD теперь требуется как минимум версия языка Go 1.20.
- Удалена поддержка Shiftfs. Для маппинга идентификаторов пользователей следует использовать монтирование с idmap, поддерживаемое для Ext4, XFS, Btrfs, ZFS и Cephfs.
- Удалена поддержка прошивок UEFI, размером 2MB (необходимо использовать прошивки, размером 4MB).
- Из кодовой базы форка Incus перенесена поддержка создания хранилищ на базе технологии NVME. Для указания типа диска добавлен новый параметр конфигурации «io.bus», который по умолчанию выставлен в значение «virtio-scsi». При изменении значения на «nvme», накопитель в виртуальной машине будет виден как NVME SSD.
- Из кодовой базы форка Incus перенесена поддержка горячего подключения и горячего удаления (hot-plug/hot-remove) файловых путей или отдельных разделов, проброшенных из хост-окружения. Ранее подобный проброс при помощи драйвера virtio-fs или ФС 9p требовал остановки виртуальной машины. Для обхода этого ограничения задействована возможность QEMU по горячему подключению PCI-устройств и монтирование пути внутри гостевой системы через incus-agent.
- Идентификатор устройства org.linuxcontainers.lxd переименован в com.canonical.lxd (для сохранения обратной совместимости поддержка старого идентификатора сохранена).
Источник: http://www.opennet.ru/opennews/art.shtml?num=60281