Свободная система для свободных людей

(С) Костромин В.А.
март 2005 г.
Линуксцентр

2005-05-24

назад | к началу | вперед

Распределение полномочий

Первоначально поддержку ядра осуществлял единолично Линус Торвальдс. Но со временем он делегировал часть полномочий по поддержке не самых последних стабильных версий ядра другим лицам. Сам же он сосредоточился на руководстве разработкой самой последней версии ядра.

Сказанное не означает, что все новые функции и доработки вносятся только самим Торвальдсом. Другие разработчики могут выпускать свои версии ядра в экспериментальной ветке. Такие версии помечаются особо, например, версии от Алана Кокса обозначаются примерно так: 2.5.32-ac3. Такие версии служат для отработки самых новых драйверов устройств, опробования каких-то особенностей, предлагаемых независимыми разработчиками. Сам Линус достаточно консервативен и влючает в официальные версии ядра только те изменения и дополнения, которые прошли основательную обкатку в экспериментальной ветке.

Приведу краткие справки о некоторых основных помощниках Линуса Торвальдса (в пределах того, что мне встретилось в Интернете).

Рис. 11. Алан Кокс
Алан Кокс (Alan Cox) является, вероятно, вторым лицом после Торвальдса по тому вкладу, который он внес в развитие Linux. Кокс заинтересовался компьютерами еще в школе и даже приобрел ZX81 (первый из недорогих массовых компьютеров, продавашихся в Англии). После окончания колледжа, перед поступлением в университет он некоторое время занимался переносом игровых программ на компьютеры, продававшиеся в Объединенном королевстве. Интерес к Linux возник у него случайно, в процессе поиска наилучшей платформы для одной из разрабатываемых им игр. По окончании университета (в своем интервью Kerneltrap от 15 января 2002 г. Кокс говорит, что университет дал ему много знаний, которые он позже использовал при работе над Linux) он работал в фирмах Sonix и 3COM, системным администратором у небольшого провайдера услуг Интернет. С 1 января 2000 года Кокс перешел на работу в Red Hat. Он говорит, что это было непростым решением. Превращение хобби в работу всегда связано с риском потери удовольствия от любимого дела. Поэтому я долго раздумывал, пока не принял это решение. Но когда вопрос встал так, что надо либо работать над Linux, либо работать в сфере телекоммуникаций, решение далось легко."

Алан Кокс занимался поддержкой версий 2.0.34/35/36, 2.2.x, 2.4.x вплоть до версии 2.4.17, которая была выпущена уже Марселло Тосатти. Кроме того, он занимался разработкой сетевой подсистемы для версии 2.0, портированием Linux на Mac68K и SGI, программами видеозахвата и многими другими вещами.

Ричард Гуч (Richard E. Gooch) создал множество разных утилит и патчей ядра, включая MTRR, devfs и fastpoll.

Дэвид Миллер (David S. Miller) занимался портированием Linux на 32-битовые и 64-битовые Sparc-платформы, а также на процессоры MIPS. Он также разрабатывал поддержку IP-сетей в ядре и занимался проблемами производительности и масштабируемости.

Теодор Тсо (Theodore Y. T'so) в течение многих лет писал, переписывал и поддерживал управление заданиями, терминальный драйвер, драйвер последовательного порта, поддержку виртуальных дисков, e2fsck/e2fsprogs и других частей кода ядра и различных утилит. Он является членом техничекого комитета (Technical Board) в Linux International, а также членом Internet Engineering Task Force, где он входит в директорат безопасности (Security Area Directorate). Его основная работа в MIT связана с разработкой протокола Kerberos и других вопросов сетевой безопасности и информационной архитектуры.

Роджер Вольф (Roger Wolff) зарабатывает себе на жизнь написанием драйверов устройств для Linux.

Рис. 12. Эндрю Мортон
Эндрю Мортон (Andrew Morton) родился в Англии, но живет (жил?) в Австралии. Окончил факультет электро-инженеров в университете Нового Южного Уэльса. В 1986 году вместе с другом, Колином Мак-Кормаком (Colin McCormack), они собрали компьютер на базе процессора Motorola 68000. В качестве операционной системы на нем использовалась Unix-подобная ОС, представлявшая собой порт Minix. Мортон с Мак-Кормаком продали около 400 таких компьютеров. Потом Мортон 9 лет работал в фирме Nortel Networks R&D, где занимал управляющие должности, а затем перешел в Moxi Digital Inc.

Мортон является пользователем Linux примерно с 1994 года. В марте 2000 года он предложил свой первый патч к ядру 2.3.47, который однако был отвергнут Аланом Коксом как "устаревший". Но это не обескуражило Мортона, и вскоре он отправил Торвальдсу еще один патч объемом 2,500 строк кода. К настоящему времени его вклад включает множество компонент ядра, включая файловую систему ext3 для ядра 2.4 и патч, обеспечивающий малое время отклика системы на запросы.

Рик ван Риэль (Rik van Riel) разработал подсистему управления памятью и планировщик задач. Он является также основателем kernelnewbies.org. Рик родился в 1978 году, на северо-востоке Нидерландов в семье фермера. На самостоятельно заработанные деньги он купил себе компьютер, поработал под MS-DOS и OS/2, а когда в 1994 году приобрел 486-ой, установил себе Linux. В начале 2000 года он поступил на работу в фирму Conectiva, самую большую Linux-компанию в Южной Америке и перебрался в Бразилию.

Рис. 13. Марсело Тосатти
Марсело Тосатти (Marcelo Tosatti) стал майнтейнером ядер ветки 2.4 в ноябре 2001 года, когда ему было 18 лет. Первой выпущенной им версией ядра была версия 2.4.16 (26 ноября 2001 г.). Марсело живет в Бразилии. Впервые он заинтересовался Линуксом где-то в 1995-96 году, когда он работал у Интернет-провайдера, где он заменил на некоторых серверах NT на Linux. Затем он перешел на работу в компанию Conectiva, где проработал 6 лет. Здесь он и начал заниматься разработкой ядра. Сейчас Марсело работает в комании Cyclades Corporation и продолжает заниматься поддержкой ветки 2.4 ядра.

Инго Молнар (Ingo Molnar) работает над развитием ядра с 1995 года. Перечень сделанных им доработок впечатляющ. Из последних его разработок можно отметить новый планировщик задач, который включен в экспериментальное ядро 2.5, и доработки в части управления потоками (the handling of threads). Он разрабатывал также поддержку программных RAID-массивов и встроенные в ядро Web- и FTP-серверы.

Дэвид Вейнхолл (David Weinehall) поддерживает версию 2.0 ядра. Алан Кокс передал ему поддержку ветки 2.0 более 4 лет назад. Как рассказывает сам Дэвид: "В декабре 1999 года обнаружилась досадная ошибка в ядре версии 2.0, которая приводила к тому, что локальный пользователь мог "обрушить" систему. Алан Кокс признался, что у него нет времени на поддержку ядра версии 2.0, и сказал мне, что если я хочу заняться поддержкой ветки 2.0 и устранить эту ошибку (и еще некоторые), он будет только рад."

Андреа Арканджели (Andrea Arcangeli) известен тем, что он полностью переписал систему управлению памяти в ядре 2.4. Многие были удивлены, когда Линус Торвальдс включил ее в версию 2.4.10 ядра, но с тех пор новая подсистема управления памяти полностью доказала правильность этого решения. Андреа живет в Италии и работает на SUSE.

Расти Рассел (Rusty Russell) живет в Австралии, работает в Технологическом Центре IBM по Linux. Он известен своим остроумием и интересными выступлениями на встречах сторонников Linux. Рассел написал программы ipchains и netfilter/iptables, полностью переписал встроенный в ядро загрузчик модулей, а также внес множество других усовершенствований в ядро ветки 2.6.

В интервью CNET News.com в июле 2003 года Линус Торвальдс так ответил на вопрос "Кто ваши главные заместители?":
"Со временем они меняются, и обычно это зависит от подсистемы. Например, за последний год это были Эндрю Мортон (виртуальная память, взаимодействие с файловой системой, "родовой" код), Дэвид Миллер (сетевые дела), Грег Кроу-Хартман (USB, горячее подключение к PCI), Джефф Гарзик (драйверы сетевых устройств), Дженс Эксбоу (block device layer), Дейв Джонс (AGP и clean-ups), Кай Гермашевски (build infrastructure и ISDN), Пэт Мочел (инфраструктура менеджера устройств и sysfs), Расселл Кинг (PCMCIA и ARM), Расти Расселл (cleanups и управление модулями) и Эл Вайроу (файловые системы).
И это не считая мейнтейнеров архитектуры, управляющих своими собственными архитектурами (Itanium, PowerPC и AMD64), и других, кого я, возможно, просто упустил. А есть еще люди, занимающиеся очень специфическими системами: Роланд Макграт и Инго Молнар, которые работают над кодом управления сигналами и потоками.
Но со временем состав меняется. Люди приходят и уходят - первые месяцы некоторые бывают очень активны, потом на какое-то время исчезают, затем возвращаются."

В том же интервью Линус говорит, что почти всем ценным участникам проекта работа над Linux оплачивается в той или иной форме. Мало кто из разработчиков получает деньги с самого начала, но, проявив себя, они без труда находят компании, которые платят за работу над Linux. Например, Эндрю Мортон, назначенный "мейнтейнером" или ответственным за ядро 2.6 вслед за Торвальдсом пришел работать в OSDL.

назад | к началу | вперед