(С) Костромин В.А.
март 2005 г.
Линуксцентр
2005-05-24
Первоначально поддержку ядра осуществлял единолично Линус Торвальдс. Но со временем он делегировал часть полномочий по поддержке не самых последних стабильных версий ядра другим лицам. Сам же он сосредоточился на руководстве разработкой самой последней версии ядра.
Сказанное не означает, что все новые функции и доработки вносятся только самим Торвальдсом. Другие разработчики могут выпускать свои версии ядра в экспериментальной ветке. Такие версии помечаются особо, например, версии от Алана Кокса обозначаются примерно так: 2.5.32-ac3. Такие версии служат для отработки самых новых драйверов устройств, опробования каких-то особенностей, предлагаемых независимыми разработчиками. Сам Линус достаточно консервативен и влючает в официальные версии ядра только те изменения и дополнения, которые прошли основательную обкатку в экспериментальной ветке.
Приведу краткие справки о некоторых основных помощниках Линуса Торвальдса (в пределах того, что мне встретилось в Интернете).
|
| Рис. 11. Алан Кокс |
Алан Кокс занимался поддержкой версий 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. Эндрю Мортон |
Мортон является пользователем 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. Марсело Тосатти |
Инго Молнар (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.