В большинстве случаев эта оценка по своей структуре весьма отличается от оценки вещи (даже такой сложной, как прибор или единица оборудования), жизненный путь которой от изготовителя на свалку более или менее предопределен (даже если ей суждено пережить ремонты и техобслуживание). Фактор неопределенности и вытекающие из него риски выше, чем для вещи.
3.3. Жизненный цикл экземпляра программы и «общая стоимость владения» им
Жизненный цикл отдельного экземпляра программы, находящегося в эксплуатации, вообще говоря, не совпадает с жизненным циклом самой программы как произведения5.
В простейшем, вырожденном случае жизненный цикл экземпляра программы может быть очень коротким: программа разрабатывается, приобретается или арендуется с целью выполнить одноразовую процедуру6.
Ценность программы для пользователя заключается в ее безошибочности (соответствию спецификации) и приемлемой производительности (способности выполнить поставленную задачу на имеющемся (или арендуемом с этой целью) оборудовании в разумное время). Эти свойства можно назвать «моментальным качеством». При этом конечного пользователя совершенно не интересуют такие ее свойства, как, например, качество кодирования (пригодность для сопровождения), в малой степени интересует эргономичность и пр.
Более сложным случаем является разработка, приобретение или аренда программы для выполнения повторяющихся действий. В силу вступает системный фактор: за промежуток времени между отдельными актами эксплуатации окружение (другие программы, обрудование) может измениться, и немаловажное значение приобретает уверенность конечного пользователя в том, что программа будет способна функционировать в них или может быть легко адаптирована для восстановления работоспособности.
И, наконец, наиболее сложен случай разработки, приобретения или аренды программы для постоянного использования в ходе отправления рутинных бизнес-процедур. Процесс ПО разворачивается здесь во всей полноте – програма должна соответствовать постоянно меняющемуся системному окружению, быть пригодня для адаптации к изменяющимся требованиям к ней и исправлению неизбежных в случае сложных программ ошибок, быть эргономичной и по возможности легко осваиваемой новыми сотрудниками в ходе кадровых изменений и пр. Все эти свойства уже напрямую зависят от качества кодирования и организации процесса развития самой программы (не отдельного ее экземпляра).
Для оценки таких случаев в бизнес-практику было введено понятие Total cost of ownership (ТСО, «общей стоимости владения»). Оно не специфично для экземпляров произведений или применимо к большинству сложных объектов, потребляемых бизнесом: например, при приобретении автомобиля на рынке сравнению может подвергаться не только цена и потребительские качества разных машин, но и «общая стоимость владения» ими, включая цену потребляемого на сопоставимом пробеге топлива, ремонтов, убытки от простоев, планируемый срок службы (поскольку, в отличие от цены приобретения, эти компоненты ТСО сильно зависят от окружения, сам рынок становится «многомерным»: вполне возможно, что для кого-то «мерседес» окажется в совокупности «дешевле» «форда», хотя продажная цена первого может в два раза превышать цену второго.
Понятие ТСО ПО (и информационных систем вообще) часто критикуется за невозможность составить полный список компонент владения, манипуляцию их значимостью и, вообще, использование скорее в функции маркетингового инструмента продавцов, чем инструмента рационализации рыночного поведения покупателей. Тем не менее, сам подход к оценкам издержек, предполагаемый этим понятием, гораздо более адекватен, чем простое сопоставление цены приобретения, аренды или собственной разработки программы.
Наиболее существенными являются следующие «видимые» компоненты ТСО ПО:
стоимость необходимого для эксплуатации программ оборудования и его технического обслуживания;
стоимость приобретения необходимого количества экземпляров программ (или лицензий на их самостоятельное изготовление);
стоимость администрирования и сопровождения систем;
стоимость приобретения соответствующих навыков персоналом, эксплуатирующим программы;
прогнозируемые убытки от сбоев и ошибок при эксплуатации программ, простоя оборудования.
Большое значение имеет предсказуемость общих издержек владения, для которой, в свою очередь, имеет значение общая организация процесса ПО, включая форму контрактации и модель реализации исключительных имущественных прав, специфичных для оборота произведений (в отличие от вещей).
Итак, в общем случае, то, как протекает жизненный цикл самого произведения, все же существенным образом влияет на жизненный цикл экземпляра и связанные со владением им издержки. Отюда значение моделей (свободной и несвободной) ПО, описываемых далее, для конечных пользователей (владельцев отдельных экземпляров) программ.
3.4. Свободная и несвободная модели коммерческого ПО
После того, как программы были признаны объектом авторского права (в том числе, исключительных имущественных прав) – в семидесятых-девяностых гг. XX в. (в разных странах) – в профессии и отрасли оформились два подхода к реализации этих прав, следование которым кардинальным образом влияет на организационную модель разработки (и, как следствие, на качество и технические параметры программ) и на структуру издержек на разных шагах жизненного цикла ПО (и, как следствие, на на модель рынка).
Свободное программное обеспечение. Свободное программное обеспечение (СПО) – это модель, при которой базовый набор имущественных прав передается («лицензируется») владельцу каждого экземпляра произведения. Таким образом, создание и ввод в хозяйственный и гражданский оборот как дополнительных экземпляров произведения, так и экземпляров модифицированного произведения, или составного произведения, включающего оригинальное, возможны без получения дополнительного согласия автора (или иного правообладателя), обязательных денежных отчислений или т.п.
СПО формирует публичный рынок (marketplace), любая услуга на котором (будь то копирование, размножение, модификация (исправление ошибки, добавление функциональности и т.п.) может продаваться и покупаться на конкурентном рынке свободной контрактацией двух сторон – поставщика и приобретателя услуги, без апелляции к третьей стороне (автору или иному правообладателю произведения).
Технологически возможность оказания таких услуг обеспечивается доступностью исходного кода программ (для многих программ отличающегося от исполняемого). Юридически свобода ПО обеспечивается передачей с каждым экземпляром программы авторского договора («свободной лицензии»), вступающего в силу при совершении конклюдентных действий (таким действием может быть введение в оборот дополнительных экземпляров).
За четверть века развития выработаны достаточно согласованные определения свободных программ (наиболее часто цитируются определения Фонда свободного программного обеспечения и Проекта Debian). В упрощенном виде они суммированы выше.
Следует заметить, что для континентальной системы права (каковой, в своей основе, является и российская) некоторые аспекты свободы ПО являются избыточными (например, часто упоминаемая