Падведзены вынікі галасавання аб сістэмах ініцыялізацыі ў Debian

Апублікаваны вынікі агульнага галасавання (GR, general resolution) распрацоўшчыкаў праекта Debian, якія ўдзельнічаюць у суправаджэнні пакетаў і падтрыманні інфраструктуры, які праводзіўся па пытанні падтрымкі некалькіх сістэм ініцыялізацыі. Перамог другі пункт ("B") у спісе - упадабаным застаецца systemd, але пакідаецца магчымасць суправаджэння альтэрнатыўных сістэм ініцыялізацыі. Галасаванне праводзілася метадам Кандорсе, пры якім кожны галасуючы ранжыруе ўсе варыянты ў парадку іх перавагі, а пры вылічэнні выніку ўлічваецца колькі галасуючых аддае перавагу адзін варыянт іншаму.

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

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

Нагадаем, што ў 2014 годзе тэхнічны камітэт зацвердзіў пераход дыстрыбутыва па змаўчанні на systemd, але не выпрацаваў рашэнні ў адносінах да падтрымкі некалькіх сістэм ініцыялізацыі (пры галасаванні перамог пункт, які паказвае на негатоўнасць камітэта вынесці рашэнне па гэтым пытанні). Лідэр камітэта парэкамендаваў суправаджаючым пакеты захаваць падтрымку sysvinit у якасці альтэрнатыўнай сістэмы ініцыялізацыі, але ўказаў, што не можа навязваць свой пункт гледжання і ў кожным выпадку рашэнне варта прымаць самастойна.

Пасля гэтага некаторымі распрацоўшчыкамі была зроблена спроба правядзення агульнага галасавання, але папярэдняе галасаванне паказала адсутнасць неабходнасці прыняцця рашэння па пытанні выкарыстання некалькіх сістэм ініцыялізацыі. Некалькі месяцаў таму, пасля праблем з уключэннем пакета elogind (неабходны для працы GNOME без systemd) у галінку testing з-за канфлікту з libsystemd, пытанне было паўторна ўзняты лідэрам праекту Debian, бо распрацоўнікі не змаглі дамовіцца, а іх зносіны перарасло ў супрацьстаянне і зайшло ў тупік.

Разглядаліся варыянты:

  • Асноўная ўвага факусуецца на systemd. Прадастаўленне падтрымкі альтэрнатыўных сістэм ініцыялізацыі не з'яўляецца прыярытэтам, але суправаджаючыя маюць права апцыянальна ўключаць у пакеты init-скрыпты для такіх сістэм.
  • Аддае перавагу застаецца systemd, але застаецца магчымасць суправаджэння і альтэрнатыўных сістэм ініцыялізацыі. Тэхналогіі, такія як elogind, якія дазваляюць у альтэрнатыўных асяродках запускаць прыкладанні, прывязаныя да systemd, разглядаюцца як важныя. У пакеты дапушчаецца ўключэнне init-файлаў для альтэрнатыўных сістэм.
  • Падтрымка разнастайных сістэм ініцыялізацыі і магчымасць загрузкі Debian з сістэмамі ініцыялізацыі, адрознымі ад systemd.
    Для запуску сэрвісаў пакеты абавязкова павінны ўключаць init-скрыпты, пастаўка толькі unit-файлаў systemd без sysv init-скрыптоў недапушчальная.

  • Падтрымка сістэм, не выкарыстоўвалых systemd, але без занясення змен, якія замінаюць развіццю. Распрацоўнікі згаджаюцца падтрымліваць некалькі сістэм ініцыялізацыі ў агляднай будучыні, але таксама лічаць неабходным працаваць над паляпшэннем падтрымкі systemd. Распрацоўкай і суправаджэннем спецыфічных рашэнняў варта займацца зацікаўленым у такіх рашэннях супольнасцям, але іншыя мэйнтэйнеры павінны актыўна дапамагаць і спрыяць вырашэнню праблем, калі ў гэтым узнікае неабходнасць. У ідэале пакеты павінны функцыянаваць пры выкарыстанні любой сістэмы ініцыялізацыі, для чаго можна пастаўляць традыцыйныя init-скрыпты ці выкарыстоўваць іншыя механізмы, якія дазваляюць працаваць без systemd. Немагчымасць працы без systemd разглядаецца як памылка, але не як памылка, якая блакуе рэліз, за ​​выключэннем выпадкаў, калі маецца гатовае рашэнне для працы без systemd, але яго адмаўляюцца захоўваць (напрыклад, калі праблема выклікана выдаленнем раней які пастаўляўся init-скрыпту).
  • Падтрымка пераноснасці, без унясення змен, якія замінаюць развіццю. Debian працягвае разглядацца як злучнае звяно для інтэграцыі рознага ПА, які прадстаўляе эквівалентную ці падобную функцыянальнасць. Пераноснасць паміж апаратнымі платформамі і праграмнымі стэкамі ставіцца да важных задач, а інтэграцыя альтэрнатыўных тэхналогій вітаецца, нават калі светапогляд іх стваральнікаў разыходзяцца з агульным меркаваннем. Пазіцыя ў стаўленні systemd і іншых сістэм ініцыялізацыі цалкам супадае з 4 пунктам.
  • Перавод падтрымкі некалькіх сістэм ініцыялізацыі ў абавязковы разрад. Прадастаўленне магчымасці запуску Debian з сістэмамі ініцыялізацыі, выдатнымі ад systemd, працягвае мець значэнне для праекту. Кожны пакет абавязаны працаваць з апрацоўшчыкамі pid1, выдатнымі ад systemd, за выключэннем выпадкаў, калі якое ўваходзіць у пакет ПА першапачаткова прызначана для працы толькі з systemd і адсутнічае падтрымка запуску без systemd (адсутнасць init-скрыптоў не лічыцца прызначэннем толькі для працы з systemd).
  • Падтрымка пераноснасці і некалькіх рэалізацый. Агульныя прынцыпы цалкам супадаюць з пунктам 5, але ў дачыненні да systemd і сістэм ініцыялізацыі не прад'яўляецца канкрэтных патрабаванняў, а таксама не накладваюцца якія-небудзь абавязацельствы на распрацоўшчыкаў. Распрацоўнікам прапануецца ўлічваць інтарэсы адзін аднаго, ісці на кампрамісы і знаходзіць агульныя рашэнні, здавальняючыя для розных бакоў.
  • Працяг абмеркавання. Пункт можа быць выкарыстаны для зніжэння рэйтынгу непрымальных варыянтаў.
  • Крыніца: opennet.ru

    Дадаць каментар