Опыт разработки программ с открытыми исходными кодами Bryce Harrington-а

Popularity as measure of OSS success.

27.09.2005, Брайс Харрингтон (Bryce Harrington).

Почему-то бытует мнение, что успех проекта с открытыми исходными кодами определяется числом его пользователей. Вообще-то это не так, просто некоторые люди переносят представления о коммерческом ПО на ПО с открытыми исходными кодами.

Давайте сначала определим значение слова «успех». Успех означает увеличение ценности. Фирма, которая повышает свою прибыль, считается успешной. Если работник увеличивает свой доход, его считают успешным. Гринписовец становится более успешным с каждым новым спасённым от вырубки лесом.

Но пользователи проекта с открытыми исходными кодами не являются ценностью сами по себе. Путаница возникла из-за того, что пользователи являются ценными для коммерческого программного обеспечения. Пользователь покупает в магазине коробку с программой, предположим, за 50 USD и этим доказывает свою ценность для проекта. Чем больше пользователей покупают коммерческое ПО, тем выше доходы фирмы и зарплата программистов.

В проекте с открытыми исходными кодами пользователи не платят 50 USD и не компенсируют зарплату программистов. Конечно, иногда они спонсируют работу разработчиков, но эти случаи настолько редки, что мы можем не учитывать их как исключение из правила. Я заметил, что количество спонсоров мало зависит от количества пользователей. Станет ли пользователь спонсором, скорее зависит от важности открытого ПО для его бизнеса.

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

Таким образом, в проекте с открытыми исходными кодами клиентами являются люди, которые вносят вклад в развитие проекта. Что клиентом является не покупатель, а производитель, может показаться очень странным с точки зрения здравого смысла. Теперь мы можем дать правильное определение ценности проекта: это вклад пользователей в развитие проекта. Первое, о чём должен думать руководитель проекта с открытыми исходными кодами, — это количество производителей.

Большое количество пользователей иногда может принести даже вред проекту. Эту проблему иногда называют «отношение сигнал/шум». При большом количестве пользователей на разработчиков обрушивается шквал вопросов, ответы на которые отнимают время, пользователи требуют исправить ошибки и другими способами создают нагрузку на разработчиков. Поэтому я часто говорю: избегайте ранней популяризации проекта.

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

Я считаю, проекту с открытыми исходными кодами не стоит ставить цель получить как можно больше пользователей. Сосредоточьтесь в первую очередь на том, что хотите получить от проекта вы и ваши разработчики, затем учитывайте потребности существующих пользователей вашего проекта. Мысль «добавив такое-то свойство, мы получим эн новых пользователей» может показаться соблазнительной, но её воплощение принесёт только головную боль. Если вы удовлетворите потребности уже существующих пользователей, это позволит вам повысить ценность проекта в ближайшее время. Думайте об этом, а пользовательская база сама позаботится о себе.