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



Чуть позже, вновь в свободное время, он занялся переписыванием и оптимизацией кода управления памятью для разрабатывавшейся тогда версии 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 года.