Долгосрочная поддержка ядра Linux будет сокращена, так как обслуживание остается под напряжением

Долгосрочная поддержка ядра 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 и следующие два будут сняты с поддержки, их не заменят.

Также: Хотите элегантную и удобную альтернативу Windows? Попробуйте Manjaro 23.0 с KDE Plasma

Почему? Просто, объяснил Корбетт: “Долго поддерживать их бессмысленно, потому что их почти никто не использует”. Я согласен. Хотя я уверен, что где-то там все еще работает 4.14 на производственной системе Linux, но их не может быть много.

Еще одна причина, и гораздо большая проблема, чем просто поддержание LTS, по словам Корбетта, в том, что разработчики кода Linux иссушаются. Проблема не в разработчиках. Последние несколько выпусков Linux включали в себя более 2000 программистов – включая около 200 новых разработчиков, работающих над каждым выпуском. Однако ситуация с поддержкой кода – проверкой, соответствует ли он и работает правильно – совсем другая история.

У поддерживающих возникают множество преград для выполнения своей работы. Первая преграда: многие поддерживающие не получают оплату за поддержку. Они поддерживают код, помимо своей основной работы. Кроме того, они сталкиваются с увеличением требований к своему времени – из-за недостатка персонала и использования инструментов для поиска ошибок. Хотя инструменты для поиска ошибок полезны, они также обнаруживают слишком много мелких ошибок, каждую из которых необходимо исследовать и затем отклонить поддерживающими.

Результат? Цитируя Йозефа Басика, разработчика и поддерживающего файловой системы ядра Linux: “Поддерживающие истощаются, потому что поддержка не масштабируется”. Добавил Даррик Вонг, еще один старший поддерживающий ядра Linux: “Этому нельзя позволить. Нам нужна помощь”.

Как они могут получить помощь? Во-первых, Корбетт предлагает поддерживающим обсудить с работодателями возможность оплаты их работы. Как заметил Вонг, “Большинство моих друзей работают в малых компаниях, некоммерческих организациях и местных правительствах. Они сообщают о тех же проблемах с переработкой, всеобщим страхом и гневом и трудностями понимания и адаптации новых идей, которые я наблюдаю здесь. Они видят прямую связь между отсутствием доходов и ресурсов их организации. Они не понимают, почему черт возьми то же самое происходит со мной и моими коллегами по работе в компаниях, которые зарабатывают сотни миллиардов долларов”.

Это хороший вопрос. Компании должны понять, что им нужно возвращать Линуксу, если они хотят продолжать получать его преимущества.

Также: Почему мало людей используют рабочий стол Linux? У меня есть теория, которая вам может не понравиться

Связанная проблема: Linux теперь экспериментально внедряет Rust. Это хорошая новость во многих отношениях – Rust устраняет целые классы ошибок, на которые уязвим язык C, используемый в основном в Linux. Однако это также вызывает проблемы для поддерживающих. Ведь если поддерживающий работает в C уже 30 лет, то просить его стать экспертом по Rust – это большая просьба.

Кроме того, Rust все еще развивается. Для того, чтобы язык Rust хорошо работал на глубоком уровне в Linux, требуются множество патчей. Это также означает, что нужно много сопутствующего кода, чтобы Rust и Linux хорошо работали вместе.

Кроме того, есть некоторые разработчики ядра Linux, которые не любят Rust. Как сказал один из них: “Возможно, есть некоторые хорошо разработанные и написанные части [Linux], которые не имели проблем с безопасностью памяти в течение многих лет. Это оскорбительно представлять это как улучшение по сравнению с тем, что было достигнуто теми, кто проделал всю эту тяжелую работу”.

Тем не менее, Корбетт считает, что решающий момент – станет ли Rust основной частью ядра – приближается. Тот день настанет, отметил он, “когда мы объединим первую функцию, от которой зависят пользователи”.

Также: Как Google использует Rust для уменьшения уязвимостей безопасности памяти в Android

Этот день близок: Как заявил Корбетт, на подходе три важных новых дополнения к коду ядра Linux на основе Rust. Это реализация PuzzleFS, сервер файла системы Plan9 для чтения/записи; и – то, что вызовет наибольший резонанс – драйвер Apple M1 GPU. Действительно, первые совместимые с Linux драйверы OpenGL ES 3.1 теперь доступны для графических процессоров семейства M1 и M2 от Apple, они появились в конце августа 2023 года. С такой работой, Корбетт будет очень удивлен, если Rust не станет постоянной частью Linux.

Другая тема, которая недавно привлекла внимание, – это то, как изменения лицензии 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. Следите за новыми разработками, поскольку этот конфликт продолжает разгораться.

Также: Моя идея для нового дружественного начинающим дистрибутива Linux

С другой стороны, отмечает Корбетт, Android “сильно продвигается к этому общему образу ядра и основывает его на стабильных обновлениях. Это помогает улучшить безопасность Android. Они обнаружили, что подавляющее большинство проблем безопасности раскрываются в ядре и/или даже исправляются в ядрах Android до их раскрытия, потому что они уже были включены до того, как кто-либо узнал, что они на самом деле являются ошибками, связанными с безопасностью”.

Это еще одна проблема, о которой разработчики ядра Linux хорошо осведомлены. Как объяснил Корбетт:

“Одним из интересных аспектов разработки ядра является то, что практически все может быть ошибкой безопасности. И вы на самом деле не знаете, что это такое, пока кто-то не найдет способ эксплуатировать это. Таким образом, вносится множество исправлений, и они не помечаются как исправления безопасности. Это не потому, что сообщество ядра пытается скрыть исправления безопасности. Хотя иногда там происходит немного хитрости, которую лично я не люблю. Но большую часть времени, действительно, никто не знает, что эта ошибка является ошибкой безопасности. Это происходит только потом, когда кто-то это понимает. И поэтому единственный способ защитить себя от таких ошибок – внести все исправления”

Вот почему Корбетт и все, кто действительно знаком с Linux, рекомендуют, чтобы при создании дистрибутива Linux всегда использовались все исправления. Для старых ядер, таких как 4.14, это может быть до 26 799 коммитов. Но если вы попытаетесь выбрать и выбрать, какие исправления использовать, вы непременно откроете двери для угроз безопасности.

Наконец, Корбетт отметил, что Скотт Макнейли, бывший долгое время CEO Sun, когда-то сказал: “Открытый исходный код бесплатен, как щенок бесплатен”. Макнейли был прав. Использование открытого исходного кода и Linux – это просто. Однако оплата за обучение, которое нужно, чтобы он не делал беспорядки на кухонном полу, сложнее.

.