Модель разработки ядра с помощью мейнтейнеров возможно неэффективна

good-penguin.png

Мейнтейнеры подсистем ядра Линуса могут в будущем оказаться в ситуации, когда они не смогут выполнять свою работу по перенаправлению потока патчей Линусу Торвальдсу. Это может произойти, если они не переработают этот процесс с тем, чтобы сделать его более распределенным — утверждает разработчик ядра Дэниэл Веттер (Daniel Vetter).

Любой человек может присоединиться к процессу разработки ядра, но только избранные разработчики имеют право направлять наборы патчей Линусу. Эти т.н. мейнтейнеры должны обеспечивать качество патчей. Однако система не всегда работает так хорошо, как об этом часто говорится. По словам Дэниэла мейнтейнеры всё меньше и меньше пишут свой собственный код, и т.о. становятся бюрократическим узким местом. Кроме этого, их собственный код проверяется гораздо менее внимательно, чем код третьих лиц, что является наглядным примером двойных стандартов в разработке ядра.

Веттер, сам являясь мейнтейнером ядра i915, пришёл к этим заключениям, проанализировав запросы на включение в ядро. Как он сам заявляет, этот метод позволяет лишь поверхностно оценить тенденции в разработке. Тем не менее, со стороны подсистемы графики ситуация улучшилась, благодаря стараниям его и его коллег: для решения проблемы масштабирования он предлагает поделить работу на большее количество людей и он также предлагает обучать младших мейнтейнеров.

Ситуация особенно плоха в сетевой подсистеме, где только 9% кода на включение в ядро проверяется более, чем одним мейнтейнером. В противовес этому, 83% патчей в графической подсистеме проверяется как минимум двумя людьми.

По очень приблизительным оценкам Дэниэла к 2025 году большинство мейнтейнеров будут заняты проверкой чужого кода, и не будут иметь свободного времени для написания собственного кода, и, при текущем количестве мейнтейнеров и росте размера и сложности кодовой базы, они не смогут справиться даже с этой задачей.

В своём блоге Веттер приводит множество графиков и заключений на основе проведенного им анализа.

>>> Подробности

©  Linux.org.ru