LINUX.ORG.RU

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

 ,


3

5

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

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

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

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

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

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

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



Проверено: jollheef ()

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

«количество лошадей увеличивается с такой скоростью, что вскоре жители столицы будут ходить по колено в конском навозе».

mandala ★★★ ()
Ответ на: комментарий от Dark_SavanT

В патчи смотрят как правило не только мейнтейнеры. И не только мейнтейнеры именно этой подсистемы. Есть подсистемы, где внимания не очень много, и есть много политики, но вцелом система работает очень хорошо.

slapin ★★★★★ ()

Вот вы ржете, а тем не менее история линукса рано или поздно будет состоять из двух частей - до Торвальдса и после Торвальдса
И что-то мне подсказывает, что вторая будет совсем другая история

kto_tama ★★★★★ ()
Ответ на: комментарий от kto_tama

+

Ну ничего, запилят свой патченный gitlab и придут к распределенным ревью. Честно говоря, работа с патчами почтой намного менее автоматизируема _для ревью_.

«Собери 33 thumbs up и замержи в master!»

Там сразу и CI прозрачное появится. По чуть-чуть выплывет, с технической стороны я проблем не вижу.

А вот политика решит, конечно.

PtiCa ★★★★★ ()
Ответ на: комментарий от PtiCa

А вот политика решит, конечно.

И я про то же
Глобализация превращается в миф
Через несколько лет мир кардинально изменится в сторону децентрализации
Это неминуемо наложит свой отпечаток на процесс разработки ядра, когда большие корпорации типа интела перестанут вносить вклад в open source

kto_tama ★★★★★ ()
Ответ на: комментарий от kto_tama

Есть еще Cox, Love и прочие. Одним троллящим мудаком станет меньше, это да, но в целом мало что изменится. В россии вон уже тысячу лет ничего не меняется и от царька не зависит ничего.

rj45 ()
Ответ на: комментарий от kto_tama

когда большие корпорации типа интела перестанут вносить вклад в open source

Ну не знаю, может про _большие_ ты и прав.

Мелкие - довольно активно используют преимущество open source.

Хотелось бы сдвинуть акценты всё-таки в сторону свободного кода, а не только открытого. Но для этого нужен гениальный прорыв в бизнесе, предыдущие подходы работают слабовато, что ни говори.

Будет интересно, короче.

PtiCa ★★★★★ ()
Ответ на: комментарий от PtiCa

patchwork спасет отца русской демократии.

Забавно сколько в треде теоретиков, решающих судьбы ядра и мира. Беда, что количество нубов-революционеров везде растет - ничего не знают, знать не хотят, но хотят всё поломать.

slapin ★★★★★ ()
Ответ на: комментарий от PtiCa

Сейчас вся модель разработки завязана на одного человека
Уже сейчас очевидно, что с каждым годом его влияние становится все меньше
Рано или поздно это время закончится
Дальше возможны различные сценарии, где скорее всего будет преобладать хаос
Дистрибутивов станет на порядок больше, глюков тоже

kto_tama ★★★★★ ()
Ответ на: комментарий от PtiCa

Короче, модель распределённой разработки ядра Linux, хоть она основана на таком инструменте, как Git, на текущей момент использует концепции и парадигмы централизации кода (CVS, SVN) - просто некоторые вещи автоматизированы, существенно облегчены в техническом плане и не вызывают вопросов, а вот человеческий фактор «держать и не пущать» (см. «вахтёрство») - осталось. И вот это давит на психику.

iZEN ★★★★★ ()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от slapin

patchwork

я работал с ним с проектом qemu . Костыль же, говорю. Всего лишь красивое отображение. Как 'tig' для гита: когда нужен ребейз берешь в руки rebase -i и не жужжишь.

Забавно сколько в треде теоретиков, решающих судьбы ядра и мира.

Так для этого и тред, не? Или предполагается, что все будут сидеть молча перед мониторами, задумчиво кивая головами?

количество нубов-революционеров везде растет

закономерно. Информация становится доступнее, все больше людей находят интересным занятие анализа и аналитики. Пусть и диванной. Ничего плохого нет, наоборот, будет происходить эволюция сознания. Глобально, хуже не будет для цивилизации.

хотят всё поломать.

Все больше становится возможностей откатить поломанное, и это хорошо.

PtiCa ★★★★★ ()
Ответ на: комментарий от kto_tama

да это я так. Немного злой и ироничный намек на то, что «их и так уже много».

А вот на Нового Столлмана большие надежды, на самом деле. Поди, уже родился. Но это оффтоп тут ;-) (Потому что еще не прозвучало сакральное GNU/Linux!)

PtiCa ★★★★★ ()
Последнее исправление: PtiCa (всего исправлений: 1)
Ответ на: комментарий от PtiCa

костыль

patchwork делает работу с патчами удобной, если используется хомячковый почтовый клиент. Оно позволяет извлекать патчи и наборы патчай, облегчает review и тестирование. Значительная часть трудоемких операций автоматизирована.

откатить поломанное

Поломанные процессы откатывать дорого

slapin ★★★★★ ()

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

Леннарт в этом распределении будет участвовать?

anonymous ()
Ответ на: комментарий от slapin

Пока преимущество почтовых патчей - это исключительная производительность (компьютерная, разумеется), на таких огромных проектах как линукс.

Я уверен, что gitlab не вытянет весь трафик коммуникации, относящийся к ядру сейчас. Поэтому и полагаю, что будет сделано усовершенствованное что-то, более распределенное, с архитектурной изюменкой. Но не менее удобное. Эдакое пустое теоретизирование в специальной для этого теме :)

PtiCa ★★★★★ ()
Ответ на: комментарий от slapin

Поломанные процессы откатывать дорого

да, факт. Методики управления развиваются, давая возможность делать что-то подобное дешевле. Хорошее поле для исследований, материала сейчас завались уже можно собрать и промоделировать.

PtiCa ★★★★★ ()
Ответ на: комментарий от kto_tama

Дальше

Линус - закостенелый дед и уже говорил что после смерти на его место встанет такой же опенсорсный гик из числа тех что уже работают над ядром. Вроде. Но это не точно.

entefeed ★★ ()
Ответ на: комментарий от darkenshvein

Что такое «собственные навыки»?

Если человек говорит, всё я теперь буду решать конфликты, выбирать технологии, определять политику и выполнять определённые представительские функции, то почему у этого человека должен вообще быть навык написания кода?

Это что-то типа «ты же компьютерщик, погляди почему у меня макрос в экселе барахлит»?

control ()

Все правильно, если сложность не контроллировать то ядро закончит невероятным монстром в котором никто ничего не понимает. Есть надежда на redux.

anonymous ()
Ответ на: комментарий от anonymous

если сложность не контролировать, то ядро закончит невероятным монстром в котором никто ничего не понимает.

Это невозможно.

Если же вы хотели сказать, что ни останется никого, кто бы имел глубокое представление обо всех частях Линукса, то серьезной проблемой это не является. И я не уверен, что оно уже́ не так.

Zmicier ★★★★★ ()

Есть что-то такое, да. Допустим, я посрался в рассылке с каким-нибудь мэйнтейнером, подозреваю, что патчи эту подсистему можно уже не слать зря :)

Harald ★★★★★ ()

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

Новая модель новостей на lor'е в действии? Уже даже заглавие не в состоянии нормально написать?

anonymous ()
Ответ на: комментарий от Harald

На самом деле не факт - могут обматерить и забить. Если ты совсем отжигал, то тебе может кто-нибудь из старших мейнтейнеров запретить слать почту в лист. Но если ты просто послал патч, каким бы ты мудаком не был, патч отревьювят и примут, если пригоден.

slapin ★★★★★ ()

судя по другим статьям, этот Веттер хочет запилить в разработке ядра очередное диверсное инклюзивное (с) комьюнити со священным километровым Code of Conduct (тм), в котором феминистки-мейнтейнеры будут отказываться принимать патчи и банить за неправильные лайки в твиттере. Не говоря уже про конференции и прочие митапы.

Подумайте - оно вам надо?

anonymous ()