Читать «Волшебный котел» онлайн - страница 21

Эрик Реймонд

Приведу пример такого чрезвычайного случая: в начале 1999 года меня спрашивала, «мы должны открыть исходный текст?» компания, которая пишет программы для вычисления способов распила древесины на лесопилках, обеспечивающих максимальный выход теса из необработанного лесоматериала. Мое заключение было «нет». Единственный критерий, который выполнялся в данном случае – (c), но при необходимости опытный оператор мог бы произвести необходимые вычисления и вручную.

Важное условие – то, что, специфичность изделия или технологии, заключенных в этих критериях, может изменяться со временем, что мы увидим в следующем ниже социологическом исследовании.

В заключение сформулируем следующие критерии дифференциации, стимулирующие движение к открытости кода:

(a)

надежность/ стабильность/ масштабируемость является критической характеристикой;

(b)

правильность проектирования и реализации не может с легкостью быть проверена другими средствами, кроме независимой экспертизы;

(c)

программное обеспечение является критичным для пользователя в управлении его бизнесом;

(d)

программное обеспечение формирует или поддерживает общую инфраструктуру компьютерных систем и коммуникаций;

(e)

ключевые методы (или функциональные их эквиваленты) – общеизвестны из текущего уровня техники.

10.3. Doom: социологическое исследование

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

Когда игра Doom была сначала выпущена в конце 1993 года, мультипликация в реальном времени и от первого лица сделали ее совершенно уникальной (в противоположность критерию (e)). Это произошло не только из-за ошеломляющей техники визуального воздействия, но и потому, что в течение многих месяцев никто не мог выяснить, как это было достигнуто на маломощных микропроцессорах того времени. Эти секретные биты стоили некоторой очень серьезной арендной платы. Кроме того, потенциальная отдача от открытости кода была низкой. Как одиночная игра, программа была (a) терпимой к ошибкам в работе, (b) не сильно трудной для проверки правильности работы, (c) не критичной для пользователя, (d) не использовала преимущества от совместной разработки. Для Doom экономически рационально было оставаться закрытой.

Однако, рынок вокруг Doom не останавливался. Потенциальные конкуренты изобрели функциональные эквиваленты ее методов мультипликации, начали появляться другие игры-стрелялки от первого лица, наподобие Duke Nukem. Поскольку эти игры отъедали долю в рынке Doom, стоимость арендной платы за секретность битов понизилась.

С другой стороны, усилия по расширению доли на рынке ставили перед разработчиками новые задачи – лучшая надежность, больше функций игры, больше пользователей, многоплатформенность. С появлением режима мультиплеера («deathmatch») и сервисов для игроков в Doom, рынок начал демонстрировать существенные преимущества совместной разработки. Все это требовало часов программирования, которые id предпочла бы потратить на следующую игру.