Вход/Регистрация
Журнал "Компьютерра" N734
вернуться

Журнал Компьютерра

Шрифт:

Всем этим Мортон занимался в свободное от работы время на протяжении примерно двух лет.

–  Потом мой друг из Пало-Альто поговорил со своим боссом в компании Digeo, и меня пригласили работать над созданием цифрового медиацентра Moxi, в котором планировалось использовать Linux.

В 2001 году Мортон с женой и тремя детьми переехал из Австралии в США. С этого момента участие в разработке Linux из хобби превратилась в работу. Для Moxi требовалась поддержка файловой системы ext3, которая в тот момент была реализована в виде патча для ядра 2.2. По служебной необходимости Мортон портировал этот патч для совместимости с ядром 2.4, после чего занялся стабилизацией кода и улучшением производительности.

–  Файловые системы в Linux очень тесно интегрированы с системой управления памятью - фактически они являются ее частью, и мне пришлось разбираться, как устроена вся эта область в ядре.

Чуть позже, вновь в свободное время, он занялся переписыванием и оптимизацией кода управления памятью для разрабатывавшейся тогда версии 2.5. Так появилась ветвь с суффиксом -mm (от memory management), а через некоторое время Линус Торвальдс предложил Мортону стать майнтейнером стабильной версии 2.6.

–  Я сказал Линусу, что это работа на полную ставку, и вряд ли Digeo согласится ее оплачивать, - вспоминает Мортон.
– "Да, наша проблема в том, что вы работаете в маленькой компании, которая не может себе этого позволить, - согласился Торвальдс.
– Но, может быть, нам поможет OSDL1?"

В результате между OSDL и Digeo было подписано соглашение, по условиям которого OSDL оплачивал работу Мортона над ядром, хотя он оставался сотрудником небольшого стартапа. Но через четыре года Digeo закрыло проект Moxi, и Мортон перешел в Google. Его должностные обязанности при этом почти не изменились.

Вид снаружи

Проекты свободного ПО зачастую являются "нейтральными площадками", на которых различные компании (порой конкурирующие) совместно разрабатывают продукты, представляющие интерес для всех них. Ядро Linux - уникальная по масштабу и успешности площадка, на которой взаимодействуют независимые разработчики (внося свой существенный вклад), сотрудники небольших компаний и такие "тяжеловесы", как Intel, IBM, HP, Oracle и др.

Все взаимодействие между программистами осуществляется через почтовый список рассылки LKML (Linux Kernel Mailing List) и системы управления кодом - без сложной иерархической структуры и бюрократии, свойственной корпорациям. Как удается неформальному сообществу организовать столь масштабную совместную работу?

–  На самом деле, у нас есть некоторая структура, - рассказывает Мортон.
– В частности, есть аналог менеджеров, их около ста человек (майнтейнеров), каждый из которых отвечает за конкретную часть в ядре - драйверы сети, USB и т. д. Майнтейнер имеет определенную "власть", но эта власть "отрицательная" - он может принять или отвергнуть чью-либо работу, но не может сказать кому-то: "А сейчас ты пойдешь и к ближайшей пятнице исправишь этот баг". Между нами нет отношений "начальник-подчиненный". Никто не работает на меня. И мы не можем планировать наше развитие. Над чем работать, определяют фирмы и индивидуальные разработчики. Но внутри самих фирм вполне может быть четкое планирование, потому что есть управление, распространяющееся "сверху-вниз": скажем, в Intel знают, какие возможности они собираются реализовать в Linux во втором квартале 2008 года.

Впрочем, работая в Google, Мортон продолжает наслаждаться свободой индивидуального разработчика.

–  Я не программирую для Google, а занимаюсь тем же, чем и раньше, - поддерживаю свою ветвь. Иногда консультирую инженеров Google, просматриваю патчи к ядру, которые используются внутри компании, рассказываю, в каком направлении лучше двигаться - но не более того.

Тот факт, что коммерческиие структуры определяют вектор развития Linux, является естественным для мира свободного ПО, но в последнее время он порождает споры. Дело в том, что большинство корпораций, кровно заинтересованных в ОС Linux, ориентированы на ее применение в серверном сегменте, поэтому их влияние вроде бы может увести эту систему прочь от десктопного применения (где она и сейчас не столь популярна). Впрочем, по мнению Мортона, ситуация не такая мрачная, как кажется скептикам.

–  Действительно, наибольшую лепту сейчас вносят компании, которым интересен рынок серверов. С другой стороны, если говорить о самом ядре, то версия 2.4 была не сильно хуже для десктопов, чем 2.6. Изменения потребовались именно для серверного сегмента: у 2.4 были серьезные проблемы на "большом железе". Сейчас я просто не понимаю, какую дополнительную существенную работу можно сделать в ядре для применения на десктопах. Если у кого-то есть проблемы - скажите нам. Сам я вижу несколько мест, которые можно было бы улучшить, - но люди об этом не просят. Пожалуй, у нас есть трудности с горячим подключением устройств - это действительно сложная область, поскольку устройств очень много. Но над этим мы работаем постоянно.

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

–  У меня нет цифр - только ощущения, но я считаю, что такой риск до сих пор существует. Но чтобы что-то изменилось, должны начать жаловаться наши клиенты. Пока же все довольны тем, что мы делаем. Если, например, к нам придут люди из Novell и скажут, что качество нашей работы падает, - значит, пришла пора что-то менять. И мы можем поменять: в качестве одного из средств можно ввести более формальный процесс рецензирования кода. Еще мне иногда хочется сделать этап разработки "no new features", во время которого просто не принимать никаких патчей, реализующих новые функции.

  • Читать дальше
  • 1
  • ...
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: