Компьютерра, 2008 № 18 (734) 13.05.2008 | страница 44



Что касается принятия решений по техническим вопросам, то здесь у ядра есть свой особый путь. Обычно в сообществах свободного ПО работает одна из двух схем. Либо в проекте есть лидер - "великодушный диктатор" (benevolent dictator), принимающий окончательные решения по своему усмотрению, либо ищется консенсус среди всех активных разработчиков (например, так действуют в Apache Software Foundation). Ядро Linux не использует ни одну из этих схем в чистом виде.

- Линус не является "диктатором", но и нельзя сказать, чтобы у нас был консенсусный подход, - объясняет Мортон. - У нас есть некий набор правил и соглашений о том, какие патчи или новые возможности могут быть включены в ядро, а какие нет. Некоторые правила записаны, некоторые "витают в воздухе", но их знают и понимают очень многие разработчики. И это хорошо, поскольку позволяет не делать работу, которая не будет принята. Обычно, если у кого-то есть возражения по поводу предлагаемого патча, они должны быть учтены, прежде чем код будет включен в ядро. Я вряд ли сделаю merge, пока все участники дискуссии не договорятся между собой. Очень-очень редко мне приходится принимать решения, идущие вразрез с решениями других разработчиков.

Сами правила обычно носят традиционный характер (устоявшиеся со временем принципы) или являются высказываниями Линуса, против которых нет серьезных возражений. "Линус говорит, что есть еще такая вещь, как хороший вкус, - но его, увы, трудно кодифицировать", - добавляет Мортон.

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

- Да, участники LKML иногда бывают грубыми, но обычно это допустимо только между людьми, которые хорошо знают друг друга. Если появляется кто-то, о ком мы никогда не слышали, скажем, с сообщением об ошибке или патчем, мы проявляем к нему большое уважение. У нас действительно была репутация людей, недружелюбно относящихся к новичкам, но ситуация изменилась примерно пять лет назад. Это открыто обсуждалось на Kernel Summit - мы тогда поняли, что наша репутация отталкивает от нас людей и вредит процессу разработки - и решили изменить манеру поведения. Принятое тогда решение приносит плоды: например, у нас существенно выросло количество новых участников из Азии - в частности, из Японии, где вежливость возведена в культ.