Линус Торвальдс расктритиковал разработчиков systemd

5/04/2014 11:57

В списке рассылки разработчиков ядра Linux Линус Торвальдс разразился жёсткой критикой в отношении разработчиков системного менеджера systemd, после попыток продвижения в ядро патча с реализацией обходного пути для решения проблемы с некорректной обработкой в systemd ситуации с передачей в числе параметров ядра опции "debug". Линус выдвинул ультиматум и заявил, что пока ситуация не изменится, он отказывается принимать в ядро код, подготовленный Кеем Сиверсом (Kay Sievers, активный разработчик systemd и один из создателей udev). Такой шаг в том числе подорвёт планы разработчиков systemd по интеграции в ядро системы Kdbus. По словам Линуса, подобная практика сваливания проблем на ядро продолжается годы и не намечается никакого положительного сдвига в сторону исправления ситуации. Поэтому Линус отказывается принимать в ядро код Kdbus и другие патчи Кея Сиверса, так как данный мэйнтейнер показал неспособность позаботиться об исправлении ошибок и регрессивных изменений, перемещая ответственность за проблемы на другие проекты и вынуждая их применять обходные пути. В продолжении обсуждения Линус выразил недовольство тем, что некоторые разработчики думают, что мир вращается вокруг их проектов, в то время как передаваемые при загрузке ядра опции, доступные через /proc/cmdline, являются универсальным инструментом, не ограничиваются ядром и не могут быть привязаны к конкретным сервисам. Подобные опции могут обрабатываться как ядром, так и использоваться внешними приложениями, поэтому все переданные опции отражаются /proc/cmdline, независимо от того используются они ядром или нет. Данные флаги для всех и не могут быть ограничены использованием в отдельных сервисах. Например, флаг "debug" включает отладочный режим ядра, но может обрабатываться и на пользовательском уровне. В случае systemd, при наличии флага "debug" системный менеджер включает отладочный режим, что в совокупности с отладочными данными ядра приводит к нагромождению вывода в dmesg и невозможности войти в систему. На предложение использовать для включения отладки в systemd отдельную опцию, например, "systemd.debug" (соответствующий патч был подготовлен и опубликован уже на следующий день), вместо уже используемой в ядре опции "debug", Кей Сиверс указал, что опция "debug" является базовой и не принадлежит тому, кто первый ей воспользовался. Таким образом, при включении отладочного режима ядра, пользователи систем на основе systemd, столкнулись с невозможностью загрузки и отказом разработчиков systemd устранить ошибку, поэтому были вынуждены попытаться продвинуть в ядро патч, скрывающий опцию "debug" из вывода /proc/cmdline.
Источник