Долгосрочная поддержка ядра Linux будет прекращена, поскольку обслуживание остается под напряжением
Саммит Open Source предоставляет обновленную информацию о том, что нового в ядре Linux и что будет дальше.
БИЛЬБАО, Испания: На Европейском саммите открытого исходного кода Джонатан Корбет, разработчик ядра Linux и исполнительный редактор Linux Weekly News, рассказал всем, что нового в ядре Linux и что будет дальше.
Вот одно важное изменение, которое произойдет в будущем: долгосрочная поддержка (LTS) ядер Linux сокращается с шести до двух лет.
В настоящее время существует шесть ядер LTS Linux — 6.1, 5.15, 5.10, 5.4, 4.19 и 4.14. В соответствии с текущим процессом выпуск версии 4.14 выйдет в январе 2024 года, и будет добавлено еще одно ядро. Однако в будущем, когда ядро 4.14 и следующие два выйдут, они не будут заменены.
Почему? Все просто, объяснил Корбет: «На самом деле нет смысла поддерживать их так долго, потому что люди ими не пользуются». Я согласен. Хотя я уверен, что кто-то все еще использует 4.14 в производственной системе Linux, их не может быть много.
Другая причина, и гораздо более серьезная проблема, чем просто поддержка LTS, по мнению Корбета, заключается в том, что специалисты по сопровождению кода Linux выгорают. Дело не в том, что разработчики — это проблема. Над каждым из последних выпусков Linux работали в среднем более 2000 программистов, в том числе около 200 новых разработчиков. Однако сопровождающие — люди, которые проверяют код, чтобы убедиться, что он подходит и работает правильно — совсем другое дело.
Специалисты по сопровождению сталкиваются с многочисленными препятствиями при выполнении своей работы. Препятствие первое: многим сопровождающим не платят за поддержку. Они поддерживают код в дополнение к своей повседневной работе. Вдобавок ко всему, они сталкиваются с растущими требованиями к своему времени — из-за нехватки персонала и использования фаззеров для поиска ошибок. Хотя фаззеры полезны, они также выявляют слишком много мелких ошибок, каждая из которых должна быть проверена, а затем устранена сопровождающими.
Результат? Цитируя Йозефа Бачика, разработчика и сопровождающего файловой системы ядра Linux: «Мейнтейнеры выгорают, [потому что] сопровождающие не масштабируются». Дэррик Вонг, еще один старший специалист по сопровождению ядра Linux, добавил: «Это не выдержит. Нам нужна помощь».
Как они могут получить помощь? Ну, во-первых, Корбет предлагает специалистам по сопровождению поговорить со своими работодателями об оплате их работы по сопровождению. Как заметил Вонг: «Большинство моих друзей работают в небольших компаниях, некоммерческих организациях и местных органах власти. Они сообщают о тех же проблемах с переутомлением, всепроникающим страхом и гневом, а также изо всех сил пытаются понять и адаптироваться к новым идеям, которые я наблюдаю здесь. Они видят прямая связь между недостатком доходов и ресурсов их организации. Они не понимают, почему, черт возьми, то же самое происходит со мной и моими коллегами по работе, когда мы все работаем в компаниях, которые зарабатывают сотни миллиардов долларов».
Это хороший вопрос. Компании должны осознать, что им необходимо вернуть Linux, если они хотят продолжать пользоваться его преимуществами.
Связанная проблема: Linux сейчас использует Rust в качестве эксперимента. Хотя во многих отношениях это хорошая новость — Rust удаляет целые классы ошибок, к которым уязвим основной язык Linux C, — это также создает проблемы для сопровождающих. В конце концов, если мейнтейнер проработал 30 лет на C, просить его стать экспертом по Rust — большая проблема.
Кроме того, Rust все еще развивается. Для правильной работы языка на глубоком уровне в Linux необходимо множество патчей Rust. Это также означает, что вам понадобится много связующего кода, чтобы обеспечить совместную работу Rust и Linux.
Кроме того, есть некоторые разработчики ядра Linux, которым не нравится Rust. Как сказал один из них: «Возможно, существуют некоторые хорошо спроектированные и написанные части [Linux], в которых за многие годы не возникло проблем с безопасностью памяти. Оскорбительно представлять это как улучшение по сравнению с тем, что было достигнуто теми, кто проделал всю эту тяжелую работу. "
Несмотря на это, Корбет считает, что момент принятия решения о том, станет ли Rust основной частью ядра, наступит скоро. Этот день наступит, отметил он, «когда мы объединим первую функцию, от которой зависят пользователи».
Этот день уже близок: по словам Корбета, уже готовятся три важных новых дополнения к коду ядра Linux на основе Rust. Это реализация PuzzleFS, сервера файловой системы Plan9 для чтения/записи; и – тот, который попадет в заголовки самых громких новостей – драйвер графического процессора Apple M1. Действительно, первые совместимые драйверы Linux OpenGL ES 3.1 теперь доступны для графических процессоров Apple семейств M1 и M2 и появились в конце августа 2023 года. Учитывая, что подобная работа идет полным ходом, Корбетт будет очень удивлен, если Rust не станет постоянным. в Linux.
Еще одна тема в новостях в последнее время связана с тем, как изменения Red Hat в своей лицензии Red Hat Enterprise Linux (RHEL) привели к тому, что Oracle, SUSE и CIQ создали форк RHEL с Open Enterprise Linux Association (OpenELA). Оставляя в стороне сложности бизнеса и лицензирования, которые привели к этой борьбе, существуют также проблемы с ядром Linux.
Эти проблемы вращаются вокруг вопроса: какое ядро вам следует использовать для своего дистрибутива Linux? Есть два реальных варианта: 1) Запустить последнее стабильное ядро или 2) Запустить старое ядро с добавленными исправлениями. Последнее — это то, что обычно делают Red Hat и другие корпоративные дистрибьюторы Linux.
Последнее также приводит к появлению ядер, специфичных для конкретного поставщика. И хотя это обеспечивает стабильность, это отделяет эти дистрибутивы от поддержки сообщества и делает их зависимыми от конкретных поставщиков. Именно это последнее последствие, которое впервые заставило AlmaLinux и Rocky Linux начать свои собственные разработки по CentOS (бесплатный клон RHEL от Red Hat) после того, как Red Hat закрыла CentOS в пользу CentOS Stream , и разожгло огонь между Red Hat и OpenELA. OpenELA хочет клон RHEL, который использует старое исправленное ядро RHEL. Следите за развитием событий, поскольку этот конфликт продолжает разгораться.
С другой стороны, отметил Корбет, Android «очень активно продвигает этот универсальный образ ядра и основывает его на стабильных обновлениях. Это потому, что они считают, что это помогает улучшить безопасность Android. Они обнаружили , что подавляющее большинство средств безопасности проблемы раскрываются в ядре или даже исправляются в ядрах Android до того, как они будут раскрыты, потому что они уже были включены до того, как кто-либо узнал, что это на самом деле ошибки, связанные с безопасностью».
Это еще одна проблема, о которой разработчики ядра Linux болезненно осведомлены. Как объяснил Корбет:
«Одним из интересных аспектов разработки ядра является то, что почти все может быть ошибкой безопасности. И вы на самом деле не узнаете, что это так, пока кто-нибудь не найдет способ каким-то образом это использовать. Итак, вносится очень много исправлений, и они "не помечены как исправления безопасности. Не потому, что сообщество ядра пытается скрыть исправления безопасности. Я имею в виду, что иногда там происходит немного подлости, что лично мне не нравится. Но в большинстве случаев действительно есть просто никто не знает, что эта ошибка является ошибкой безопасности. Только позже кто-то это поймет. И поэтому единственный способ защитить себя от такого рода ошибок - это внести все исправления "
Вот почему Корбет и все, кто действительно знает Linux, рекомендуют, если вы создаете дистрибутив Linux, всегда включать все исправления. Для более старых ядер, таких как 4.14, это может достигать 26 799 коммитов. Но если вы попытаетесь выбирать, какие патчи использовать, вы наверняка откроете двери дырам в безопасности.
Наконец, Корбет отметил, что Скотт МакНили, бывший многолетний генеральный директор Sun, однажды сказал: «Открытый исходный код бесплатен, как щенок». Макнили был прав. Использовать открытый исходный код и Linux легко. Платить за обучение нужно, чтобы не пачкать пол на кухне, это сложнее.
.