Собор и базар
Собор и базар — эссе американского программиста и публициста Эрика Стивена Реймонда, впервые опубликованное в 1997 году. Работа посвящена анализу двух противоположных моделей разработки программного обеспечения: централизованной, «соборной», и децентрализованной, «базарной». Эссе стало одним из ключевых манифестов движения открытого исходного кода (Open Source) и оказало значительное влияние на развитие индустрии программного обеспечения, в частности, на популяризацию модели разработки, используемой в ядре операционной системы Linux.
История создания
Эссе было написано Эриком Реймондом в 1997 году и впервые представлено на конференции Linux Kongress в мае того же года. Первоначально текст был опубликован в интернете и быстро распространился в сообществе разработчиков. В 1999 году Реймонд дополнил и расширил эссе, включив в него новые наблюдения и примеры. Позднее работа вошла в состав одноимённой книги, сборника статей Реймонда, изданного в 1999 году издательством O'Reilly Media.
Поводом для написания эссе послужил личный опыт Реймонда, связанный с разработкой почтового клиента fetchmail. Изначально Реймонд придерживался традиционных методов разработки, но, наблюдая за успехом Linux и методами работы Линуса Торвальдса, он решил применить децентрализованный подход. Результаты превзошли ожидания, что и побудило его к теоретическому осмыслению и формулировке принципов «базарной» модели.
Основные модели разработки
Реймонд выделяет две фундаментально различные парадигмы создания программного обеспечения, сравнивая их с архитектурными и социальными метафорами.
Соборная модель
Соборная модель представляет собой традиционный, централизованный подход к разработке. Она характеризуется следующими чертами:
- Закрытый исходный код: Исходный код программы доступен только ограниченному кругу разработчиков.
- Иерархическая структура: Проект возглавляется архитектором или небольшой группой, которые принимают все ключевые решения.
- Планирование и контроль: Разработка ведётся по строгому плану, с чёткими этапами, контрольными точками и релизными циклами.
- Редкие релизы: Новые версии выпускаются относительно редко, после тщательного тестирования и отладки.
- Высокий порог входа: Внести изменения в код может только авторизованный разработчик.
Эта модель ассоциируется с разработкой коммерческого программного обеспечения (например, Microsoft Windows, Adobe Photoshop) и крупных проектов с закрытым кодом. Реймонд отмечает, что она эффективна для создания сложных, монолитных систем, но страдает от медлительности и высокой стоимости ошибок, которые выявляются на поздних стадиях.
Базарная модель
Базарная модель — это децентрализованный, открытый подход, который, по мнению Реймонда, стал возможен благодаря интернету. Её ключевые характеристики:
- Открытый исходный код: Исходный код доступен всем желающим для просмотра, использования, модификации и распространения.
- Отсутствие жёсткой иерархии: Проект координируется, но не управляется строго сверху. Лидер проекта (или группа лидеров) выполняет роль «благожелательного диктатора» или «хранителя репозитория».
- Ранние и частые релизы: Разработчики выпускают новые версии программы очень часто, иногда по несколько раз в день, чтобы быстро получать обратную связь.
- Параллельная разработка: Над проектом одновременно работает множество добровольцев, каждый из которых вносит свой вклад в зависимости от своих интересов и навыков.
- Низкий порог входа: Любой желающий может скачать код, внести в него изменения и предложить их для включения в основную ветку.
Реймонд утверждает, что базарная модель позволяет достичь высокой скорости разработки и надёжности за счёт массового параллельного тестирования и отладки. Главным примером такой модели является ядро Linux, разработанное Линусом Торвальдсом.
Ключевые тезисы и афоризмы
Эссе содержит ряд ставших знаменитыми афоризмов, которые отражают суть базарной модели:
- «При достаточном количестве глаз все ошибки лежат на поверхности» (Linus's Law): Этот тезис, сформулированный Реймондом, утверждает, что чем больше людей просматривают исходный код, тем выше вероятность обнаружения и исправления ошибок. В закрытой модели ошибку может найти только ограниченный круг тестировщиков, в то время как в открытой — тысячи пользователей и разработчиков.
- «Относитесь к вашим пользователям как к соразработчикам»: Реймонд призывает не рассматривать пользователей как пассивных потребителей, а вовлекать их в процесс разработки, поощряя сообщать об ошибках, предлагать идеи и даже присылать патчи.
- «Выпускайте рано. Выпускайте часто. И прислушивайтесь к своим пользователям»: Этот принцип подчёркивает важность быстрой обратной связи. Частые релизы позволяют разработчикам быстро адаптироваться к потребностям пользователей и исправлять ошибки на ранних стадиях.
- «Если у вас есть правильная мотивация, то ошибки обнаружатся сами собой»: Реймонд полагает, что интерес и энтузиазм разработчиков являются более мощным стимулом для поиска ошибок, чем формальные процедуры контроля качества.
Критика и ограничения
Несмотря на широкое признание, эссе «Собор и базар» подвергалось критике по ряду направлений:
- Идеализация базарной модели: Критики отмечают, что базарная модель эффективна не для всех типов проектов. Она хорошо работает для системных утилит, компиляторов и ядер операционных систем, но может быть менее применима для разработки сложных пользовательских интерфейсов или приложений, требующих строгой архитектурной целостности.
- Роль лидера: Реймонд недооценивает роль сильного лидера (благожелательного диктатора) в проектах с открытым исходным кодом. На практике, такие проекты, как Linux, имеют чёткую иерархию и жёсткий контроль со стороны Торвальдса, что противоречит идее анархичного «базара».
- Проблема координации: В больших проектах с тысячами участников координация становится сложной задачей. Возникают проблемы с дублированием работы, конфликтами версий и необходимостью поддержания единого стиля кода.
- Экономическая модель: Эссе не рассматривает вопросы финансирования разработки. Базарная модель, основанная на добровольном труде, может быть неустойчивой в долгосрочной перспективе, особенно для проектов, требующих значительных ресурсов.
Влияние и значение
Эссе «Собор и базар» сыграло ключевую роль в популяризации движения за открытый исходный код. Оно предоставило теоретическую базу и убедительную аргументацию для модели разработки, которая ранее воспринималась как хаотичная и ненадёжная. Работа Реймонда помогла убедить многие компании, в том числе Netscape, перевести свои продукты в разряд открытого программного обеспечения. В 1998 году, во многом под влиянием этого эссе, была основана организация Open Source Initiative (OSI), которая занимается продвижением и сертификацией открытого программного обеспечения.
Сегодня принципы, описанные в эссе, применяются не только в разработке ПО, но и в других сферах, таких как создание контента (Википедия), научные исследования (открытая наука) и даже в управлении проектами. Метафора «собора и базара» стала общеупотребительной для описания двух противоположных подходов к организации коллективной работы.
Источники
- Raymond, E. S. (1999). The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O'Reilly Media.
- Raymond, E. S. (1997). The Cathedral and the Bazaar. First published online.
- DiBona, C., Ockman, S., & Stone, M. (Eds.). (1999). Open Sources: Voices from the Open Source Revolution. O'Reilly Media.
- Torvalds, L., & Diamond, D. (2001). Just for Fun: The Story of an Accidental Revolutionary. HarperBusiness.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →