Бросив скептический взгляд на одну преобладающую модель, давайте посмотрим, можем ли мы строить другую — трезвое с экономической точки зрения объяснение того, что делает сотрудничество на основе открытых исходных текстов жизнеспособным.

Это — вопрос, который подвергается проверке на нескольких различных уровнях. На одном уровне, мы должны объяснить поведение индивидуумов, которые вносят вклад в проекты с открытым кодом; на другом мы должны понять экономические силы, которые поддерживают сотрудничество в таких проектах, подобных Linux или Apache.

С другой стороны, мы должны сначала уничтожить широко распространенную в народе модель, которая является препятствием для такого понимания. При попытке объяснить совместное поведение мы можем обратиться к «Трагедии общин» Гаррета Хардина.

Хардин превосходно заставляет нас вообразить себе поле, принадлежащее деревне крестьян, которые пасут на нем свой скот. Но выпас ухудшает общую собственность, разрывая траву и оставляя грязные заплаты, на которых травяной покров восстанавливается очень медленно. Если нет никакой согласованной (и обеспеченной мерами принуждения) политики выпаса, которая предотвращает ухудшение почвы на пастбище, все стороны стремятся выпасать столько скота, сколько могут, пробуя извлечь максимальную выгоду прежде, чем коллективная собственность превратится в море грязи.

Большинство людей интуитивно поддерживает модель совместного поведения, которая очень напоминает эту. Это — вообще-то, плохая модель для характеристики экономических проблем открытых исходников, являющихся в большей степени ориентированными на «нахлебников» (что, в соответствии с данной моделью, должно привести к нехватке ресурсов), нежели на вклад в общественную собственность (и интенсивн ое ее и спользование). Однако, это — аналогия, которую я вижу в качестве основы большинства непродуманных возражений.

«Трагедия общин» подразумевает только три возможных исхода. Первый — море грязи. Второй — деятель, обладающий властью от имени деревни принуждать к соблюдению политики распределения (коммунистическое решение). Третий — община разделяется, и жители деревни отгораживают участки, которые они могут защитить и которыми они в состоянии управлять (решение, связанное с правом собственности).

Когда люди интуитивно применяют эту модель к сотрудничеству в области открытых исходных текстов, они ожидают, что оно будет непостоянным с коротким периодом полураспада. Поскольку нет никакого очевидного способа установить политику распределения рабочего времени программиста при работе через Интернет, принятие этой модели обычно приводит к выводу о том, что общая собственность разделится на части с закрытыми исходными текстами, разработка каждой из которых будет идти отдельно, и это повлечет за собой быстро уменьшающийся объем работ, возвращаемых назад, в общий фонд.

На самом же деле, из накопленного опыта видно, что события имеют противоположную тенденцию. Широта и объем развития программ с открытыми текстами (судя, например, по количеству обновлений в день на Metalab или постингов в день в freshmeat.net) устойчиво увеличиваются. Ясно, что существующий способ их критики, с использованием модели «Трагедии общин», не в состоянии отразить то, что происходит на самом деле.

Часть решения данной проблемы, конечно, состоит в том, что использование программного обеспечения не уменьшает его ценность. Действительно, широкое распространение используемых программ с открытыми текстами имеет тенденцию увеличивать его ценность, поскольку пользователи добавляют в него собственные исправления и возможности (патчи). В этой неправильной общине трава становится выше, когда на ней пасутся.

Другая часть решения заключается в том, что предполагаемую рыночную цену за маленькие патчи к общим исходным текстам определить трудно. Предположим, я пишу исправление для раздражающей ошибки, и предполагаю, что много людей, использующих его, могли бы за это заплатить; как мне собрать деньги с них всех? Обычные системы оплаты имеют достаточно высокие накладные расходы, чтобы сделать реальной проблемой микроплатежи, с помощью которых это можно было бы осуществить.

Может быть, более близко к истине то, что эту цену не просто трудно получить, а, в общем случае, трудно даже назначить. Мысленный эксперимент позволяет нам предполагать, что в Интернет появилась теоретически идеальная система микрооплаты — безопасная, универсально доступная, с нулевыми издержками. Теперь скажем, Вы написали, патч из категории «Исправления к ядру Linux: разное». Как Вы узнаете, какую цену запросить? Как потенциальный покупатель, не видя патч, узнает, сколько заплатить за него?

То, что мы имеем, почти походит на изображение в кривом зеркале из «проблемы вычисления» Ф. А. Хайека — требуется сверхсущество, способное оценить функциональную ценность патча, которому доверят, установление соответствующих цен, и которое будет стимулировать торговлю.

К сожалению, у нас серьезная нехватка сверхсуществ, и поэтому Вася Пупкин, написавший патч, поставлен перед двумя выборами: сидеть на нем или подарить обществу «за так». В первом случае он не получает ничего. Во втором случае он может ничего не получить, а может побудить окружающих ко взаимному предоставлению услуг, которые решат некоторые из проблем Васи Пупкина в будущем. Второй выбор, формально альтруистический, фактически является эгоистичным с точки зрения теории игр.

При анализе этого вида сотрудничества, важно обратить внимание что, в то время как существует «проблема халявщиков» (работа может быть сделана в расчете на что-либо, в отсутствие денег или иной материальной компенсации), она не уравновешивается ростом числа конечных пользователей. Сложность и избыток коммуникаций в разработке программы с открытыми текстами почти полностью зависит от числа вовлеченных разработчиков; наличие большего количества конечных пользователей, которые никогда не смотрят на исходники, не дает ничего. Это может увеличить количество глупых вопросов, появляющихся в списках рассылки проекта, что относительно легко предотвращается с помощью списков часто задаваемых вопросов и игнорирования вопрошающих, которые не читали его (и в самом деле, оба этих метода достаточно типичны).

Реальные проблемы халявщиков в области открытого программного обеспечения в большей степени порождены затратами на препирательства при внесении патчей нежели чем-нибудь еще. Потенциальный сотрудник проекта с небольшой долей в культурной игре репутаций (см. [2]), в отсутствии денежной компенсации, может подумать, что-то типа: «Не стоит посылать этот патч, потому что я должен буду просмотреть его, написать ChangeLog, и заполнить сопроводительные документы для FSF…» Поэтому число сотрудников (и, следовательно, успех) проекта в значительной степени обратно пропорционален числу препятствий, которые он заставляет пользователя пройти, чтобы внести в него вклад. Такие затраты могут быть организационными в такой же степени, как и техническими. Вместе они могут объяснить, почему ничем не сдержанная, аморфная Linux-культура привлекла в себя больше затрат совместной энергии чем более сильно организованная и централизованная BSD, и почему значение Фонда свободного программного обеспечения понизилось после того, как возросло значение Linux.

Это все хорошо, поскольку все-таки происходит. Но это — объяснение того, что Вася Пупкин делает со своим патчем после того, как его написал, сделанное пост фактум. Другая половина объяснения, которая нам нужна — экономическое объяснение того, как Вася способен написать патч, вместо того, чтобы совершенствовать программу с закрытыми исходниками, которая, возможно, возвратила бы ему стоимость продажи. Какие деловые модели создают те ниши, в которых развитие открытых программ может процветать?