OSDN-2003

Свободное ПО и бизнес – сценарии взаимодействия и технологические выводы.
Руслан Шевченко.
Grad-Soft Ltd. http://www.gradsoft.kiev.ua


Предисловие

Это отредактированная стенограмма выступления на конференции пользователей и разработчиков свободного ПО - OSDN-2003. Традиционно переведена в текстовый вид с некоторым опозданием.

Введение

Добрый день, дамы и господа.

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

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

Парадоксы

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

Несмотря на эту эффективность, свободное ПО не вытеснило коммерческое ни в одной из областей применения за пределами IT сферы. Странно.

Год назад я здесь говорил о правиле 90/10. Первые 90% работы занимают 10% времени, остальные 10% работы - 90% процентов времени. Свободное ПО сделано на первые 90%.

Причина эффективности разработки свободного ПО лежит именно в этом факте.

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

Почему свободное ПО малоприменимо за пределами IT сферы -- просто эволюция идет не в том направлении.

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

Достоинства свободного ПО тесно связаны с его недостатками. Мы можем присоединить к Линуксу красивый фронт-енд и написать документацию для конечного пользователя. Но тогда он потеряет эволюционный потенциал -- его будет трудно изменять.

Более того, сам тип эволюции свободного и коммерческого ПО отличается:

Типы эволюции

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

Прошу прощения за мудренные слова:

Типы эволюций (в зависимости от количества эколиценцзий и параметров среды обитания)

  1. быстрая (биологии - тахителия, в экономике - новый рынок)
       (максимальное разнообразие видов, быстрая эволюция)
  2. средняя (в биологии - горотелия, в экономике - зрелый рынок)
       ( выделяются "лидеры" и нишевые реликты, остальные виды исчезают)
  3. низкая (в биологии - брадителиея, в экономике - сокращающийся рынок)
       ( эволюция прекращается, любое изменение невыгодно популяции )

Так вот, эволюция свободного ПО - классическая тахителия.
   (высокий фактор изменчивости, низкая селективность среды)

Эволюция коммерческого ПО - горотелия
   (низкий фактор изменчивости, высокая селективность среды).

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

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

Экономика.

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

Хорошо. Теперь подумаем как, зная этот механизм,
  - повысить эффективность разработки традиционного ПО ?
  - привлечь средства к разработке свободного ПО ?

Ответ более или менее очевилный. Можно применяить модель быстрой эволюции для снижения издержек R&D. Так как свободное ПО само по себе не может быть конкурентным преимуществом - надо при этом иметь конкурентное преимущество в другой области компетенции. Детали оставим аналитикам конкурентов. Данной аудитории наверное больше интересен второй вопрос -- как сделать проект разработки свободного ПО успешным ?

Технически - шансы свободного проекта быть успешным больше, когда его можно легко изменять. И когда он лежит в области интересов IT-сообщества, а не конечного пользователя. Сложнее с привлечением средств -- практика показывает, что пользователи свободного ПО предпочитают делать модификации сами и их возвращать, а не оплачивать работу автору. Следовательно нам нужна какая-то зацепка, заставляющая кого-то платить. Что может быть такой зацепкой -- либо дополнительные свойства (Red Hat), либо ,к примеру, дискриминационный характер GPL. Так, например, если вы встраиваете сервер MySQL в свою программу, продающуюся под коммерческой лицензией, вам надо приобрести коммерческую лицензию БД, по цене $144 за копию.

Таким образом двойное лицензирование вполне может быть бизнес-моделью. Выгода использования - малая цена входа и быстрая эволюция.

Заключение

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

TermWare

Мы планируем апробировать бизнес-модель двойного лицензирования, выпустив к концу года систему символьных вычислений (TermWare) как свободное ПО, в то-же время выделив разумный бюджет поддержки. Где это можно использовать - системы искуственного интеллекта, анализаторы и генераторы кода, поддержка описаний области.



Руслан Шевченко (Ruslan@Shevchenko.Kiev.UA)
Grad-Soft. http://www.gradsoft.kiev.ua