Кристоф Хелвиг пока остаётся в числе мэйнтейнеров подсистем NVM Express, vmalloc и FreeVXFS. В прошлом Кристоф входил в управляющий технический комитет организации Linux Foundation и участвовал в разработке таких подсистем, как XFS, KVM, Trace events, SCSI и Slab Allocator, а также занимался сопровождением архитектуры PowerPC в ядре Linux. Кроме того Кристоф выступал истцом в судебном разбирательстве с VMware, связанном с нарушением лицензии GPL.
Прекращение сопровождения подсистем dma-mapping и configfs обусловлено заявлением Линуса Торвальдса о намерении включать в ядро обвязки на языке Rust независимо от согласия мэйнтейнеров подсистем, для которых созданы данные обвязки. В январе Кристоф принципиально
отказался принимать в ядро Rust-обвязку над функциями для работы с DMA, что привело к конфликту, в результате которого ядро покинули мэйнтейнеры подсистем Nouveau и ARM/Apple. 24 февраля разработчики проекта Rust for Linux предложили патч со слоем абстракции для ФС configfs, сопровождением которой занимался Кристоф Хелвиг. Кристоф не принял участие в обсуждении новой Rust-обвязки к своей подсистеме, а через несколько дней удалил себя из списка мэйнтейнеров dma-mapping и configfs.
Кристоф Хелвиг считает недопустимым использование нескольких языков программирования в таких сложных проектах как ядро Linux. По мнению Кристофа, смешанные кодовые базы усложняют работу мэйнтейнеров, так как ставят мэйнтейнеров в зависимость от кода на другом языке. В частности, при наличии обвязок на Rust разработчики подсистем, написанных на Си, должны учитывать влияние их изменений на продолжение работоспособности обвязок. Любое изменение структур данных или внутренних функций на Си может привести к необходимости изменения кода обвязок, поэтому влияющие на обвязки изменения в Си коде нужно отслеживать и синхронизировать с кодом на Rust.
В процессе разработки ядра уже были факты отклонения pull-запроса с изменениями в подсистеме управления памятью, так как данное изменение приводило к сбою при попытке сборки ядра с включением поддержки Rust. Сбой возник из-за рассинхронизации с кодом для генерации Rust-обвязок (bindgen) и привёл к тому, что сопровождающие подсистему управления памятью при продвижении изменения, полностью корректного с точки зрения кода на Си и ядра в целом, оказались зависимы от опционального стороннего кода в ядре, за который отвечают другие люди.
Линус Торвальдс считает, что Кристоф Хелвиг не имеет полномочий блокировать приём в ядро Rust-обвязок для подсистемы DMA, так как код данных обвязок не затрагивает код подсистемы DMA Mapping и реализован в отдельном подкаталоге, сопровождением которого занимается отдельный мэйнтейнер. Линус сравнил действия Кристофа с попыткой контролировать область использования подсистемы DMA, при том, что мэйнтейнеры отвечают лишь за код своей подсистемы, но не за то, как и кем используется результат работы этого кода. Например, изменение в коде базовых подсистем может привести к проблемам с работой какого-то драйвера, но это не повод вмешиваться в приём новых драйверов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=62797