Debian оказался революционным примером работы децентрализованного некоммерческого сообщества добровольцев, со своей "конституцией" (social contract), своими "законами" (policy) и своей системой принятия решений - максимально открытой и демократичной. Впрочем, демократии, по мнению Мёрдока, в проекте с самого начала было слишком много. Отсутствие "власти лидера", который может поставить точку в любом споре или принять непопулярное, но необходимое решение, может привести к стагнации проекта из-за внутренних противоречий.
- Обсуждения и поиск консенсуса - это хорошо, когда у вас есть небольшое "ядро" разработчиков. - Говорит Мёрдок. - Например, этот метод работает в Apache Foundation. Но он очень плохо масштабируется. Скажем, если вы управляете компанией в десять человек, то можете себе позволить неформальное принятие решений за кружкой пива. Но если сотрудников сотни (а в Debian сейчас больше тысячи разработчиков), вам понадобятся лидеры, менеджеры и т. д. В open source все то же самое - чтобы в проекте что-то реально делалось, нужен сильный лидер.
Ян часто сравнивает управление сообществом добровольцев и коммерческой компанией - и полагает, что между этими двумя видами деятельности много общего, несмотря на разницу в подходах и целях.
- Ключевой вопрос в обоих случаях - это мотивировать людей следовать за вами. В случае коммерческой компании это несколько проще - вы можете мотивировать людей с помощью денег. В случае сообщества - особенно в случае некоммерческого проекта типа Debian, основанного на работе добровольцев, - вам нужно проявить творческий подход, чтобы увлечь людей за собой.
Одним из способов добиться этого, по мнению Мёрдока, - дать людям почувствовать себя частью чего-то большего, превосходящего возможности отдельного человека. Впрочем, даже когда эта задача решена, в сообществе может возникнуть множество других проблем. Мёрдок рассказывает про недавнюю инициативу DuncTank (мы писали о ней в "КТ" #657):
- У Debian всегда были трудности с соблюдением сроков выхода релизов. Лидеры проекта приняли решение собрать некоторые деньги и нанять людей для управления процессом выпуска очередной версии. Но это не помогло и вызвало недовольство многих участников, которые всегда работали бесплатно. Конечно, этого следовало ожидать, ведь мы вводим деньги в сообщество, которое их никогда не видело, - хотя наблюдать за этим было интересно.
Впрочем, это не значит, что финансировать работу свободного сообщества вообще невозможно - но делать это нужно очень аккуратно.
- Мы когда-то делали один продукт, основанный на Debian, и наняли нескольких разработчиков, чтобы они участвовали в деятельности Debian-сообщества. Такого противостояния, как против DuncTank, это не вызвало, скорее наоборот. Вообще, open source стремится быть меритократией (власть достойных) - люди, делающие большую часть работы, имеют наибольшее влияние. И только так можно повлиять на процесс разработки: инвестируя, вкладывая свой код, участвуя в жизни сообщества. Например, в Sun мы нанимаем огромное количество людей, работающих над OpenSolaris.
Кстати, о компании 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.) Впрочем, дела обстоят не так просто, как кажется: