تم تلخيص نتائج التصويت على أنظمة Debian init

نشرت النتائج التصويت العام (GR, general resolution) разработчиков проекта Debian, участвующих в сопровождении пакетов и поддержании инфраструктуры, проводившегося по вопросу поддержки нескольких систем инициализации. Победил второй пункт («B») в списке — предпочитаемым остаётся systemd, но оставляется возможность сопровождения альтернативных систем инициализации. Голосование проводилось методом Кондорсе, при котором каждый голосующий ранжирует все варианты в порядке их предпочтения, а при вычислении результата учитывается сколько голосующих предпочитает один вариант другому.

Победивший вариант признаёт, что сервисные юниты systemd являются предпочтительным способом настройки запуска демонов и сервисов, но допускает, что существуют окружения, в которых разработчики и пользователи могут создавать и применять альтернативные системы инициализации и функциональные альтернативы возможностям systemd. Разработчикам альтернативных решений требуется предоставление ресурсов для проведения их работы и форматирования пакетов. Альтернативные решения, подобные elogind, применяемые для организации запуска приложений, привязанных к интерфейсам, специфичным для systemd, остаются важными для проекта. Поддержка подобных инициатив требует содействия в областях, в которых развиваемые альтернативные технологии пересекаются с остальным проектом, например, недопустимо затягивание рецензирования патчей и проведения обсуждений.

В пакеты допускается включение как unit-файлов systemd, так и init-скриптов для запуска сервисов. Пакеты могут использовать любые возможности systemd по желанию сопровождающего пакет, при условии, что эти возможности соответствуют требованиям правил Debian и не привязаны к экспериментальным или неподдерживаемым в Debian возможностям из других пакетов. Помимо systemd пакеты также могут включать поддержку альтернативных систем инициализации и предоставлять компоненты для замены специфичных интерфейсов systemd. Решения по включению патчей принимаются сопровождающими в рамках штатных процедур. Debian обязуется работать с производными дистрибутивами, выбравшими для себя другие системы инициализации, но взаимодействие строится на уровне сопровождающих, на которых ложатся решения о том, какие подготовленные сторонними дистрибутивами возможности принимать в основной состав Debian, а какие оставлять в производном дистрибутиве.

دعونا نتذكر أنه في عام 2014 اللجنة الفنية وافق انتقال التوزيع الافتراضي على systemd، ولكن لا تمرنت решения по отношению к поддержке нескольких систем инициализации (при голосовании победил пункт, указывающий на неготовность комитета вынести решение по данному вопросу). Лидер комитета порекомендовал сопровождающим пакеты сохранить поддержку sysvinit в качестве альтернативной системы инициализации, но указал, что не может навязывать свою точку зрения и в каждом случае решение следует принимать самостоятельно.

بعد ذلك، حاول بعض المطورين محاولة تنفيذ التصويت العام، لكن التصويت الأولي أظهر أنه ليست هناك حاجة لاتخاذ قرار بشأن مسألة استخدام أنظمة التهيئة المتعددة. قبل بضعة أشهر، بعد проблем مع تضمين حزمة elogind (الضرورية لتشغيل جنوم بدون systemd) في فرع الاختبار بسبب تعارض مع libsystemd، أثيرت المشكلة مرة أخرى من قبل قائد مشروع دبيان، حيث لم يتمكن المطورون من الاتفاق، وتحولت اتصالاتهم إلى مشكلة المواجهة ووصلت إلى طريق مسدود.

Рассматривавшиеся варианты:

  • التركيز الرئيسي هو على systemd. لا يعد توفير الدعم لأنظمة init البديلة أولوية، ولكن قد يقوم المشرفون بشكل اختياري بتضمين نصوص init لمثل هذه الأنظمة في الحزم.
  • يظل systemd هو المفضل، ولكن تبقى إمكانية الحفاظ على أنظمة تهيئة بديلة. تعتبر تقنيات مثل elogind، التي تسمح للتطبيقات المرتبطة بـ systemd بالعمل في بيئات بديلة، مهمة. قد تتضمن الحزم ملفات init للأنظمة البديلة.
  • دعم مجموعة متنوعة من أنظمة init والقدرة على تشغيل Debian باستخدام أنظمة init أخرى غير systemd.
    لتشغيل الخدمات، يجب أن تتضمن الحزم برامج نصية init؛ ومن غير المقبول توفير ملفات وحدة systemd فقط بدون برامج نصية init sysv.

  • Поддержка систем, не использующих systemd, но без внесения изменений, мешающих развитию. Разработчики соглашаются поддерживать несколько систем инициализации в обозримом будущем, но также считают необходимым работать над улучшением поддержки systemd. Разработкой и сопровождением специфичных решений следует заниматься заинтересованным в таких решениях сообществам, но другие мэйнтейнеры должны активно помогать и способствовать решению проблем, когда в этом возникает необходимость. В идеале пакеты должны функционировать при использовании любой системы инициализации, для чего можно поставлять традиционные init-скрипты или использовать иные механизмы, позволяющие работать без systemd. Невозможность работы без systemd рассматривается как ошибка, но не как ошибка, блокирующая релиз, за исключением случаев, когда имеется готовое решение для работы без systemd, но его отказываются сохранять (например, когда проблема вызвана удалением ранее поставлявшегося init-скрипта).
  • يدعم قابلية النقل دون إدخال تغييرات تعيق التطوير. لا يزال يُنظر إلى دبيان على أنه جسر لدمج البرامج المختلفة التي توفر وظائف مكافئة أو مشابهة. تعد إمكانية النقل بين منصات الأجهزة ومجموعات البرامج هدفًا مهمًا، ويتم تشجيع تكامل التقنيات البديلة، حتى لو كانت النظرة العالمية لمبدعيها تختلف عن الإجماع العام. الموقف المتعلق بـ systemd وأنظمة التهيئة الأخرى يتطابق تمامًا مع النقطة 4.
  • جعل الدعم لأنظمة التهيئة المتعددة إلزاميًا. لا يزال توفير القدرة على تشغيل دبيان مع أنظمة init أخرى غير systemd مهمًا للمشروع. يجب أن تعمل كل حزمة مع معالجات pid1 بخلاف systemd، ما لم يكن البرنامج المضمن في الحزمة مخصصًا في الأصل للعمل مع systemd فقط ولا يدعم التشغيل بدون systemd (لا يتم احتساب غياب البرامج النصية init على أنه مخصص للعمل مع systemd فقط) .
  • يدعم قابلية النقل والتطبيقات المتعددة. المبادئ العامة هي بالضبط نفس النقطة 5، ولكن لا توجد متطلبات محددة لأنظمة systemd وinit، ولا يتم فرض أي التزامات على المطورين. يتم تشجيع المطورين على مراعاة مصالح بعضهم البعض، وتقديم التنازلات وإيجاد حلول مشتركة مرضية لمختلف الأطراف.
  • استمرار المناقشة. يمكن استخدام العنصر لتخفيض الخيارات غير المقبولة.
  • المصدر: opennet.ru

    إضافة تعليق