Один из основных разработчиков ядра Linux Грег Кроа-Хартман (Greg Kroah-Hartman), мейнтейнер стабильной ветки, автор многих драйверов и целых подсистем, в числе которых debugfs, USB, kref, kobject и sysfs, провёл сессию ответов на вопросы (Ask Me Anything) на Reddit.com.
Предлагаем самые интересные факты из ответов Грега.
- Грег хорошо относится к Android и systemd. Он даже сам внёс в ядро ряд патчей для совместимости с systemd.
- У него нет определённого мнения о Wayland, но он уверен, что X11 — это отнюдь не главная проблема Linux на десктопе.
- Грег изучал языки Rust и Go. Go ему нравится больше, он активно на нём пишет. На вопрос о том, поддерживает ли язык C принципы DRY и loose coupling, а также о том, как он относится к C11, он ответил, что не знает, что такое DRY и loose coupling и что нового появилось в C11.
- Самым главным навыком в разработке ядра он считает умение читать огромное количество электронных писем, поступающих в рассылку разработчиков ядра каждый день. Вообще работа мейнтейнера — это как работа редактора в газете, самое главное — общаться с людьми и выбирать хорошие патчи, а писать код самому — это уже второстепенное занятие.
- На вопрос о том, не планируют ли разработчики ядра перейти с общения по e-mail на активное использование Github, Gerrit и Gitorious, Грег ответил, что это невозможно: эти инструменты просто не справятся с нужным объёмом работы. Наиболее популярные проекты на Github уже сталкиваются с проблемами, а ядро Linux, насколько известно Грегу, — самый большой в мире проект по числу людей, работающих совместно (около 3400 в прошлом году), и по количеству патчей в единицу времени (для ядра 3.16 — в среднем 9,5 патчей в час, 24 часа в день). Даже над ядром Windows работает гораздо меньше программистов.
- До того, как Грег начал работать над ядром Linux, его работа была связана со встроенными устройствами. Ему приходилось в том числе писать драйверы под разные операционные системы для работы с железом, прошитым им самим или его коллегами, в том числе и под Windows. Он отмечает, что писать драйверы под Linux настолько проще, чем под Windows, что «даже не смешно».
- На вопрос о том, какие 5 самых главных тем надо рассматривать на курсах об устройстве ОС, он ответил: «драйверы, драйверы, драйверы, драйверы и драйверы».
- Когда Грега спросили, знает ли он, что если погуглить его имя, на первой же картинке он показывает неприличный жест. Грег сказал, что знает: над ним его дети по этому поводу смеются.
- А ещё Грег любит механические клавиатуры и пользуется двумя Cherry Blue.