Вопрос о том, является ли экономически оправданным использование открытого ПО или стоит работать с коммерческими продуктами, относится во многом к категории риторических. Действительно, сама постановка задачи «что дешевле, Open Source или закрытое ПО» подразумевает слишком большое количество неизвестных. Например, какой класс ПО мы рассматриваем – офисные пакеты, операционные системы, СУБД? Какие конкретно продукты сравниваем? Более того, расчет TCO на основе цен из прайс-листов – дело неблагодарное, потому что при заключении крупных контрактов производители коммерческого ПО зачастую дают скидки, величина которых определяется множеством факторов.
Исходя из этого публичный расчет TCO «просто открытого ПО» и «просто коммерческого продукта» – процедура достаточно сложная. В рамках настоящей статьи мы рассмотрим основные компоненты, из которых складывается совокупная стоимость владения любого ПО, и особенности расчета их стоимости для каждого из типов.
Стоимость приобретения (лицензии или подписки)
В качестве указанного параметра обычно рассматриваются капитальные расходы на приобретение лицензий на программное обеспечение. Конечно, ноль в этой графе при анализе стоимости владения открытого ПО выглядит чрезвычайно привлекательно и часто является основным аргументом при принятии решения об использовании такого вида ПО. Однако не стоит забывать, что некоторое программное обеспечение с открытыми кодами распространяется по двойной лицензии: для некоммерческого использования – открытая, для коммерческого – отдельная, предполагающая приобретение, например, дополнительных услуг по техническому сопровождению. Это нужно учитывать при подсчете TCO.
Следует отметить, что в последние годы набирает силу тенденция распространения закрытого программного обеспечения по подписочной лицензии. В этом случае стоимость приобретения размывается по операционным расходам на регулярную оплату подписки, и капитальные затраты на лицензии формально становятся равны нулю, как и в случае использования открытого ПО. Апофеозом подобной модели можно считать облачные сервисы, предлагаемые по модели SaaS. Для примера: при использовании суперпопулярного на Западе облачного сервиса Amazon возможно гранулирование вплоть до часа. Такой подход позволяет значительно оптимизировать расходы на владение ПО.
Цена необходимого аппаратного обеспечения
По этому параметру трудно говорить о преимуществе открытого или закрытого ПО, здесь речь идет скорее о сравнении конкретных продуктов. Однако нельзя не отметить тенденцию нацеленности открытого ПО на стандартные аппаратные платформы без специфических требований. Например, один из наиболее востребованных открытых продуктов на рынке работы с данными Apache Hadoop изначально позиционировался как инструмент, работающий именно на commodity-аппаратном обеспечении в отличие от большинства современных ему проприетарных систем распределенного хранения и обработки больших объемов данных. Следует помнить, что при приобретении периферийного оборудования нужно проверять наличие для него драйвера для работы с открытым программным обеспечением. Дешевое оборудование иногда не поддерживает открытые платформы, что может потребовать приобретения более дорогих устройств, но с поддержкой соответствующего ПО.
Стоимость инсталляции
Долгое время считалось, что по этому параметру открытое ПО весьма существенно отстает от ПО коммерческого. А с учетом того, что коммерческое ПО нередко поставляется как часть программно-аппаратных комплексов, стоимость трудозатрат на инсталляцию закрытых продуктов может стремиться к нулю. Иногда в составе программно-аппаратных комплексов поставляется и ПО с открытыми кодами. В таком случае оно фактически становится коммерческим, поскольку модификация не допускается под страхом лишения лицензии на обслуживание. Тем не менее стоимость инсталляции таких решений тоже является нулевой.
В последние годы наметилась тенденция к упрощению и облегчению инсталляционного процесса проектов Open Source. В качестве одного из наиболее ярких примеров можно привести Hadoop дистрибутив HDP от компании Hortonworks, который можно считать архетипом открытого ПО. С точки зрения процесса инсталляции HDP упрощен едва ли не до привычного всем «Вы хотите установить Hadoop? → Далее → Далее → Готово».
Расходы на обучение персонала
Практически любой поставщик коммерческого ПО будет рад предложить услуги по передаче экспертизы, при этом нет никаких сомнений в том, что сертифицированные и проверенные годами услуги по обучению персонала будут оказаны на высочайшем уровне и сопровождены материалами высочайшего класса. И это не ирония: любой серьезный поставщик ПО крайне ответственно относится к услугам по обучению, потому что от этого во многом зависит репутация его продукта. Ведь недостаточно обученный сотрудник, столкнувшийся с закономерными для своего уровня знаний затруднениями в использовании коммерческого ПО, в первую очередь будет винить доставшийся ему инструмент. Единственной ложкой дегтя в такой прекрасной картине мира является зачастую просто обжигающе высокая цена на подобные услуги (в соответствии с прайс-листами их стоимость может достигать тысячи долларов на одного слушателя). Отсутствие материалов в открытом доступе делает приобретение этих услуг фактически единственным выходом.
С другой стороны, при использовании открытого ПО у компаний есть два пути.
Во-первых, существует множество компаний, которые оказывают услуги по обучению пользователей открытого ПО. В близком мне мире больших данных наиболее ярким примером являются замечательные курсы компаний Cloudera и Hortonworks. Однако стоимость этих курсов мало отличается от стоимости приобретения подобных услуг у производителей коммерческого ПО.
Во-вторых, важно понимать, что в открытом доступе существует огромное количество материалов, касающихся использования открытого ПО. Для более-менее квалифицированных сотрудников этих материалов зачастую достаточно для работы продуктом.
В случае использования открытого ПО наиболее экономически эффективным является подход, в соответствии с которым небольшое количество ключевых сотрудников (руководители групп, архитекторы) проходят сертифицированное обучение, а рядовой персонал получает знания из открытых источников.
Правда, при переводе на открытые продукты офисных сотрудников, которых набрали с условием знания соответствующих коммерческих решений, могут потребоваться дополнительные затраты на обучение пользователей или подготовку соответствующего набора инструкций. Это также надо учитывать при подсчете стоимости владения.
Стоимость поддержки и эксплуатационные расходы
Это тот пункт, который вызывает массу дискуссий, и именно на него обычно ссылается большинство экспертов, скептично настроенных в отношении использования открытого ПО. Действительно, весьма привлекательно выглядит модель, при которой собственные администраторы могут в любой момент обратиться за поддержкой к производителю ПО. Однако не следует забывать, что у такого подхода есть и оборотная сторона: минимум открытой информации по коммерческим продуктам. В подобной ситуации администраторы системы начинают выполнять чисто технические функции шлюза для службы поддержки производителя с минимальной компетенцией. При этом из-за особенностей работы службы поддержки производителя даже самые простые проблемы могут решаться непозволительно долго. С другой стороны, существует огромное количество информации по эксплуатации открытого ПО, и опытный администратор может решить подавляющее большинство проблем сам, руководствуясь документацией и информацией из сообщества пользователей. Будет не очень большим преувеличением сказать, что портал stackoverflow почти полностью заменяет службу поддержки закрытого ПО. Правда, и зарплата такого опытного администратора может быть выше.
В качестве иллюстрации приведу пример из личной практики. Несколько лет назад мне посчастливилось принять участие в разработке сложной системы сбора и анализа данных интернет-пользователей. Это была (и, к счастью, остается) большая система, содержащая в себе нереляционные СУБД и технологии больших данных. Она была построена целиком на открытом ПО, и с ее эксплуатацией успешно справлялись два администратора.
Таким образом, на настоящем этапе развития как самого открытого ПО, так и сообщества его пользователей мнение о невероятной сложности (и, как следствие, дороговизне) поддержки открытого ПО – не более чем растиражированный миф.
Внедрение, консалтинг
Традиционно этот пункт не входит в расчет TCO программного обеспечения, однако если рассматривать что-либо более серьезное, чем пакеты офисного ПО, например CRM-систему или корпоративное хранилище данных, то обычной статьей расходов являются консалтинговые услуги по внедрению ПО. Когда у ПО ограниченная функциональность и результатом внедрения является адаптация этой программы к бизнес-процессам организации (зачастую и наоборот, изменение бизнес-процессов под требования ПО), услуги по внедрению имеют ограниченный и в значительной степени определяемый заранее объем работ, а следовательно, и стоимость.
В частности, услуги по внедрению CRM-систем по стоимости в среднем равны стоимости самого ПО (здесь, конечно, берется условная величина, «средняя температура по больнице»). В случае внедрения систем с не настолько предопределенной функциональностью (имеются в виду, например, корпоративные хранилища данных) сторонние организации могут подключаться на всем жизненном цикле системы, поскольку новые требования и задачи могут появляться уже в процессе эксплуатации. Подобные услуги на рынке могут оказать и разработчики ПО (как и при обучении, тут можно ожидать высокого качества услуг), и множество сторонних организаций. Причем при последнем варианте возможен широкий спектр организаций, начиная от признанных мэтров консалтинга вроде KPMG или Deloitte и заканчивая сомнительными ИП, со вполне предсказуемым разбросом качества и стоимости работ.
Все сказанное имеет отношение к миру коммерческого ПО, но как же быть с открытыми продуктами? Долгое время их распространению серьезно препятствовали нехватка специалистов и фактическое игнорирование со стороны серьезных консалтинговых организаций. В последние несколько лет ситуация начала стремительно меняться. Например, компания Think Big, не так давно ставшая подразделением Teradata, оказывает широкий спектр консалтинговых услуг, включающий в себя построение озер данных и Data Science – проекты, основанные в первую очередь на открытых технологиях больших данных. С недавних пор их услуги доступны в России. Кроме того, большинство привычных российскому рынку крупных интеграторов начали открывать различные подразделения, так или иначе связанные с открытыми технологиями. Особенно этот тренд заметен в части новых подразделений для работы с решениями больших данных. Однако досадная закономерность заключается в том, что большинство отечественных интеграторов еще не отделалось от привычки продавать лицензии и «железо» и зачастую пытается всеми силами превратить сделку по продаже «рук» в сделку по продаже лицензий и «железа». Конечно, постепенно ситуация меняется к лучшему.
Тренды и прогнозы
В последние годы в силу целого ряда причин во всем мире наметился тренд на все более широкое использование открытого ПО. В ситуации экономического кризиса и программы импортозамещения открытое ПО в России получает дополнительный импульс к развитию и распространению. Наименее рискованным путем внедрения подобных продуктов, на мой взгляд, является привлечение сторонних компаний, обладающих хорошей экспертизой в этом вопросе. Использование такого подхода, с одной стороны, обеспечивает дополнительную гибкость в выборе стека используемых технологий, не ставит компанию в зависимость от производителя и, что самое главное, позволяет избежать капитальных затрат на приобретение лицензий, снижая тем самым цену неудавшегося эксперимента. С другой стороны, такой подход не оставляет компанию один на один с незнакомым ПО.
В то же время при привлечении сторонних организаций для внедрения и сопровождения открытых продуктов разумным выглядит составление смешанных команд из сотрудников компании и привлекаемой организации с постепенной передачей экспертизы внутренним подразделениям заказчика. Подобная практика становится все более распространенной, и сегодня на рынке существует множество компаний, специализирующихся именно на такой модели взаимодействия с заказчиком. Например, Hortonworks и Cloudera – два столпа в мире Hadoop, разработчики открытых Hadoop-дистрибутивов, чьи продукты в совокупности занимают едва ли не весь рынок. Обе компании предоставляют свой продукт в виде бесплатной и открытой платформы, являются ядром команды разработчиков экосистемы Hadoop. При этом основная сфера их деятельности – именно поддержка и консалтинг. (Это может быть несправедливо по отношению к Cloudera, но разница между enterprise и community – версиями их дистрибутива исчезающе мала.) И, что самое интересное, подобным способом начинают действовать даже компании, много лет считавшиеся классическими вендорами-тяжеловесами. Например, компания Teradata сейчас активно вкладывается в разработку открытого высокоскоростного кросс-платформенного инструмента для исполнения SQL-запросов в среде Hadoop под названием Presto и предоставляет для него коммерческую поддержку.
Заключение
В современных условиях открытое ПО завоевывает все большую популярность. Однако хотелось бы предостеречь читателей от крайностей в оценке экономической эффективности открытого ПО. Одинаково ложными являются как скептическая точка зрения «Open Source – мы не потянем поддержку, и, вообще, куда жаловаться, если что», так и излишне очарованная «Open Source – это же бесплатно». При кажущейся бесплатности открытые продукты подразумевают существенные эксплуатационные расходы вследствие более высоких требований к уровню подготовки персонала. Не станем скрывать, порой тормозящим фактором при переходе организаций на открытое ПО является нежелание эксплуатирующих подразделений брать на себя лишнюю ответственность. Эта проблема отчасти может быть решена при помощи сторонних организаций, оказывающих поддержку открытого ПО. Приобретение коммерческих решений по модели SaaS позволяет избежать баснословных капитальных вложений в лицензии.
На сегодняшний день TCO открытого и коммерческого ПО при рассмотрении как минимум трехлетней перспективы примерно равны друг другу, к тому же за счет консалтинговых организаций, специализирующихся на открытом ПО, могут быть сняты основные риски его использования. В таких условиях компаниям стоит выбирать инструмент исходя не из представлений о его открытости или закрытости, а из функционала и применимости для решения конкретной задачи, стоящей перед организацией.