Журнал "Компьютерра" N732 - Журнал Компьютерра
Шрифт:
Интервал:
Закладка:
Однако SLS был очень далек от современных дистрибутивов и обладал множеством недостатков. Созданный с нуля Debian оказался прорывом - не только с технологической точки зрения (введя такие революционные возможности, как установка и настройка ОС с помощью системы меню и интеллектуальную систему управления пакетами, позволяющую обновить всю систему одной командой), но и с социальной. Обнаружив, что не в состоянии достигнуть своих целей в одиночку, Ян Мёрдок предложил всем желающим участвовать в разработке. Несмотря на то что ядро Linux уже разрабатывалось в распределенной модели, для ОС целиком это казалось почти невозможным. "Как могут люди из разных частей света, разговаривающие на разных языках, безо всякого "генерального плана", без оплаты создать столь сложную штуку, как операционная система?" - писал Мёрдок в 2003 году, вспоминая события десятилетней давности. Оказалось: могут. И еще как!
Debian оказался революционным примером работы децентрализованного некоммерческого сообщества добровольцев, со своей "конституцией" (social contract), своими "законами" (policy) и своей системой принятия решений - максимально открытой и демократичной. Впрочем, демократии, по мнению Мёрдока, в проекте с самого начала было слишком много. Отсутствие "власти лидера", который может поставить точку в любом споре или принять непопулярное, но необходимое решение, может привести к стагнации проекта из-за внутренних противоречий.
- Обсуждения и поиск консенсуса - это хорошо, когда у вас есть небольшое "ядро" разработчиков. - Говорит Мёрдок. - Например, этот метод работает в Apache Foundation. Но он очень плохо масштабируется. Скажем, если вы управляете компанией в десять человек, то можете себе позволить неформальное принятие решений за кружкой пива. Но если сотрудников сотни (а в Debian сейчас больше тысячи разработчиков), вам понадобятся лидеры, менеджеры и т. д. В open source все то же самое - чтобы в проекте что-то реально делалось, нужен сильный лидер.
Ян часто сравнивает управление сообществом добровольцев и коммерческой компанией - и полагает, что между этими двумя видами деятельности много общего, несмотря на разницу в подходах и целях.
- Ключевой вопрос в обоих случаях - это мотивировать людей следовать за вами. В случае коммерческой компании это несколько проще - вы можете мотивировать людей с помощью денег. В случае сообщества - особенно в случае некоммерческого проекта типа Debian, основанного на работе добровольцев, - вам нужно проявить творческий подход, чтобы увлечь людей за собой.
Одним из способов добиться этого, по мнению Мёрдока, - дать людям почувствовать себя частью чего-то большего, превосходящего возможности отдельного человека. Впрочем, даже когда эта задача решена, в сообществе может возникнуть множество других проблем. Мёрдок рассказывает про недавнюю инициативу DuncTank (мы писали о ней в "КТ" #657):
- У Debian всегда были трудности с соблюдением сроков выхода релизов. Лидеры проекта приняли решение собрать некоторые деньги и нанять людей для управления процессом выпуска очередной версии. Но это не помогло и вызвало недовольство многих участников, которые всегда работали бесплатно. Конечно, этого следовало ожидать, ведь мы вводим деньги в сообщество, которое их никогда не видело, - хотя наблюдать за этим было интересно.
Впрочем, это не значит, что финансировать работу свободного сообщества вообще невозможно - но делать это нужно очень аккуратно.
- Мы когда-то делали один продукт, основанный на Debian, и наняли нескольких разработчиков, чтобы они участвовали в деятельности Debian-сообщества. Такого противостояния, как против DuncTank, это не вызвало, скорее наоборот. Вообще, open source стремится быть меритократией (власть достойных) - люди, делающие большую часть работы, имеют наибольшее влияние. И только так можно повлиять на процесс разработки: инвестируя, вкладывая свой код, участвуя в жизни сообщества. Например, в Sun мы нанимаем огромное количество людей, работающих над OpenSolaris.
Open Solaris и все-все-всеКстати, о компании Sun. Конечно, трудно было найти более подходящего человека для популяризации OpenSolaris, чем Ян Мёрдок. Задачи, стоящие перед ним сегодня, не сильно изменились со времен Debian: ему нужно создать сильное, здоровое сообщество. Чтобы достичь этой цели, необходимо сделать систему более простой в установке и работе - в точности то, что требовалось Linux в 1993 году, чтобы стать мэйнстримом.
- Когда я пришел в компанию Sun год назад, я должен был окинуть взглядом Solaris и меняющуюся индустрию и понять, как мы можем сделать свою систему более привлекательной для быстро меняющейся аудитории. Стало ясно, что для динамичного развития нам нужна модульная архитектура, система управления пакетами, утилиты GNU, привычная графическая среда - в общем, требовалось сделать так, чтобы любой Linux-администратор мог работать под OpenSolaris.
Созданием такой системы и занимается Мёрдок в рамках проекта Indiana. Его цель - привнести в Solaris тот опыт, который дал миру Linux, - превратив операционную систему из монолитного образования в удобное средство доставки пользователю тех возможностей, которые ему нужны.
Solaris есть чем похвастаться. На Sun Tech Days много говорилось об уникальных возможностях этой ОС - таких, как файловая система ZFS, позволяющая делать мгновенные "слепки" с содержимого диска и возвращаться к ним в случае необходимости, или инструментарий отладки приложений D-Trace, с помощью которого можно исследовать программу буквально под микроскопом, - поэтому вопроса о том, зачем нам нужен OpenSolaris, когда есть GNU/Linux, у меня лично не возникало. Правда, возник другой вопрос: не проще ли дать возможность разработчикам ядра Linux заимствовать уникальные разработки OpenSolaris и полностью перейти на него? Ну а если это кажется неоправданной филантропией, то хотя бы взять любой GNU/Linux-дистрибутив (тот же Debian), выкинуть из него ядро Linux и заменить его ядром OpenSolaris, получив тем самым все "плюшки" почти бесплатно. (Этим занимается проект Nexenta.) Впрочем, дела обстоят не так просто, как кажется:
- Solaris был сердцем многих дата-центров на протяжении двадцати лет, он проверен временем, в Sun над ним работает более пяти тысяч инженеров, - рассказывает Мёрдок. - Одним из преимуществ нашей системы во все времена была совместимость: вы можете взять бинарный файл, скомпилированный в 1995 году на Solaris 2.5.1, и запустить его сейчас под Solaris 10. Наши пользователи ценят это. Поэтому мы не можем идти путем Nexenta - резкий переход с Solaris на Linux-дистрибутив с ядром OpenSolaris нашим клиентам просто не подходит. Мы стараемся следовать скорее эволюционным путем - начинаем с Solaris и добавляем те части из Linux-сообщества, которые наиболее востребованы нашими пользователями.
Говоря о перспективах OpenSolaris, Ян отметил, что десктопный сегмент рынка, очевидно, не является приоритетом номер 1 для Sun - но это очень хорошая возможная точка приложения усилий сообщества.
LSB, Progeny и все-все-всеDebian и OpenSolaris, конечно, не единственные проекты в жизни Яна Мёрдока. Из других известных инициатив можно отметить работу над Linux Standard Base (LSB), призванной "унифицировать" все многообразие дистрибутивов GNU/Linux с тем, чтобы разработчикам приложений не приходилось выпускать множество сборок. Несмотря на любовь FOSS-сообщества к различным стандартам, критиков LSB хватает: люди говорят, что операционная система и прикладное ПО слишком быстро развиваются и слишком сильно зависят друг от друга, чтобы любой (неизбежно устаревающий по мере выхода) стандарт имел хоть какой-то смысл. Ян частично соглашается с критиками.
- Действительно, стандартизировать такую быстро эволюционирующую вещь очень трудно. Вообще, эта работа отражает разницу между стандартами "старого типа" (такими, как POSIX), фиксирующими некоторые интерфейсы, которые затем реализуются в приложениях, - и новым процессом стандартизации, при котором стандарты задаются реализациями. Сейчас очень часто open source-реализации различных спецификаций, протоколов, интерфейсов фактически становятся стандартами просто в силу своей популярности. Мне кажется, что реальная проблема современного мира, в котором появляются подобные стандарты "де-факто", в том, что стандарты часто принадлежат отдельным компаниям и могут давать им существенное конкурентное преимущество. Такие проекты, как LSB, очень важны, поскольку поддерживают значение стандартов для индустрии. Однако это очень сложный процесс.
Еще один известный проект Мёрдока - компания Progeny, выпускавшая основанный на Debian дистрибутив под названием Progeny Componentized Linux. Она прекратила свою деятельность в мае 2007 года - и выглядело это скорее как провал.
- В каком-то смысле это действительно был провал - мы не достигли тех целей, которых хотели достигнуть, - признается Ян. - С другой стороны, это был в каком-то смысле успех - мы были прибыльной компанией, могли платить зарплату нашим сотрудникам на протяжении нескольких лет и делали интересные вещи. Так что все зависит от того, как мерить успех. Делать интересные вещи - это одно, менять мир - совсем другое.