Сетевой журнал: monthly
главная страница weekly галерея IT: проекты телекомфорум procurement guide психология управления


ИТ для государственного сектора

№6.2005

Новый поворот? Стоит ли переходить на Open Source?
Корпоративные системы
Михаил Елашкин
версия для печати 

Программное обеспечение (по) с открытым кодом (Open Source Software, или OSS) сегодня становится одной из наиболее обсуждаемых тем в компьютерном сообществе. Энтузиазм, с которым значительная часть пользователей принимает идеи, пропагандируемые сообществом Open Source, нивелируется скептицизмом и неприятием ее другой частью сообщества потребителей, делающих ставку на коммерческое ПО. При этом обе стороны представляют вполне обоснованную аргументацию своей позиции. Масла в огонь подливают многие аналитические компании, публикующие множество исследований различных аспектов OSS, включая стоимость владения, надежность, функциональность и т.п. Но, как ни удивительно, мнения аналитиков тоже разделились, причем иногда полярные точки зрения могут исходить от одной аналитической компании. Таким образом, единственное, в чем можно быть уверенным на сегодня, это то, что проблема существует и вызывает очень большой интерес компьютерного сообщества

Почему вокруг этой темы возник такой ажиотаж? Сам по себе доступ к исходному коду не является каким-либо открытием последнего времени. С самого начала развития информационных технологий большинство разработчиков не делало секрета из кода программного обеспечения. Закрытый исходный код не был связан ни с какими технологическими требованиями, а всего лишь являлся одним из методов защиты интеллектуальной собственности разработчика. Мир ИТ спокойно пережил это обстоятельство, и долгое время обе системы мирно сосуществовали. Можно вспомнить такие библиотеки, известные каждому разработчику со стажем, как Zink и Borland TurboVision. Причем то, что первая из них была коммерческим продуктом, а вторая шла в поставке с популярными компиляторами компании Borland вроде Turbo Pascal или Turbo C++, говорит о непротиворечивости открытости кода типу лицензии и стоимости продукта.

Почему же такая далеко не новая идея вдруг стала столь популярной? Что изменилось в мире ИТ за это время? В первую очередь развитие интернета позволило создавать распределенные виртуальные сообщества и команды. В результате стала возможна совместная работа энтузиастов над весьма большими проектами. Мир OSS смог выйти за пределы небольших утилит, замахнувшись на разработку операционных систем, систем управления базами данных и другие амбициозные проекты. Насколько они хороши? Достаточно хороши, чтобы вполне успешно конкурировать с коммерческим ПО. Но к утверждениям типа: “Свободно распространяемое ПО лучше, чем коммерческое. Оно работает лучше и быстрее. Оно дольше не устаревает, потому что оно написано для работы, а не для продажи. Бесплатное ПО не только работает лучше, оно работает намного лучше”1, – следует относиться крайне осторожно. Хотя эти тезисы и подаются как неоспоримые факты, тем не менее такая почти религиозная уверенность значительной части сообщества Open Source пока плохо подтверждается фактами.

Начнем с самой больной темы – качества программного обеспечения. Одним из признаков качества кода OSS некоторые авторы считают его компактность. Безусловно, краткость – сестра таланта, но насколько нужен сегодня компактный код? Простой подсчет2 цен на аппаратуру для установки Microsoft Excel сегодня по сравнению с 1993 годом показывает, что стоимость дискового пространства для установки этого пакета упала больше чем на порядок при том, что размер дистрибутива значительно вырос.

Аналогичные цифры получаются и для оперативной памяти и процессорной мощности. Такая тенденция описывается законом Мура и является основой развития компьютерной индустрии. Экономически выгоднее разрабатывать более мощное аппаратное обеспечение, чем оптимизировать код, оставаясь на текущем уровне аппаратной производительности.

Более сложно обстоят дела с вопросом о качестве программного кода. С одной стороны, компания Reasoning3, специализирующаяся на средствах автоматического анализа качества кода и консалтинге, опубликовала данные по анализу кода некоторых популярных OSS-продуктов. Для MySQL, Linux и Apache были получены следующие средние числа ошибок в коде на 1000 строк программы: 0,09, 0,10 и 0,53 соответственно. Среднее число ошибок, найденных Reasoning в исследованных продуктах с коммерческой лицензией, составляет 0,55 на 1000 строк. Эти исследования обычно используются для доказательства более высокого качества кода OSS. Однако существует целый ряд факторов, которые не позволяют считать такой вывод доказанным. Даже не отвлекаясь на то, что не существует какой-либо единой методики сравнения качества кода продуктов, исследования Reasoning и аналогичные работы Coverity4 на самом деле являются скорее одной из стадий производства ПО. Фактически в них измеряются те ошибки, которые были допущены программистом в процессе разработки. Большинство производителей коммерческого ПО имеет собственные средства автоматического анализа кода и не выпускает готовые продукты без такой проверки. А ведь есть еще программы тестирования... Не лучше обстоят дела и с оценкой числа ошибок, найденных в выпускаемых продуктах. Главная проблема такого анализа заключается в том, чтобы решить, какую ошибку считать критической, а какую незначительной. Таким образом, наблюдается полный разгул субъективизма, и результат сравнения зависит от того, сторонником OSS или коммерческого ПО является его автор.
Мир OSS сумел выйти за пределы небольших утилит, замахнувшись на разработку операционных систем, систем управления базами данных и другие амбициозные проекты. Насколько они хороши? Достаточно хороши, чтобы вполне успешно конкурировать с коммерческим ПО

Не менее запутана ситуация и со стоимостью “как бы бесплатных” продуктов. Хотя для большинства серьезных потребителей информационных технологий уже давно понятно, что стоимость лицензии, как и начальных вложений в информационную систему, не может служить каким-либо экономическим критерием, а нужно оценивать общую стоимость владения (TCO) или другие подобные параметры. Но многие специалисты, привыкшие к системе ценообразования коммерческого ПО, считают, что практически нулевая стоимость лицензии автоматически делает TCO ниже. Как ни странно, такая уверенность играет с ИТ-специалистами дурную шутку, заставляя верить в отсутствующий в природе эффект. Очень интересно взглянуть на результаты нескольких исследований уважаемых западных компаний. По данным Evans Data Corporation5, 62% опрошенных CIO сказали, что ожидают снижения затрат при использовании Linux, а 11% ожидают этого снижения более чем наполовину. Такие данные часто используются без анализа ситуации в качестве доказательства экономичности Linux и OSS, и, казалось бы, о чем еще можно спорить? И здесь крайне интересна работа Forrester Research6, специалисты которого провели исследование, аналогичное анализу Evans Data, на базе опроса 140 американских компаний, и собрали их ожидания и оценки экономической эффективности внедрения Linux. Однако там, где исследование Evans Data останавливается, Forrester свою работу продолжает. Был проведен детальный опрос менеджеров 14 компаний из этого списка, которые используют Linux более одного года. Меньше половины из них имеют хоть какой-нибудь формальный процесс экономической оценки эффективности внедрения. А те пять компаний, которые действительно рассчитывают экономические показатели от использования информационных технологий, получили данные, что Linux им обходится на 5–20% дороже, чем системы на основе Windows.

Существует и большое число работ, посвященных детальному исследованию стоимости владения OSS и коммерческого ПО. В основном это сравнение Linux и Windows. Но к единому мнению их авторы так и не пришли. Если отбросить совершенно детские работы некоторых фанатов Linux, которые, к сожалению, имеют очень приблизительное знание о том, что такое TCO, и о методиках его расчета, то останутся только отчеты серьезных аналитических компаний. Казалось бы, имя исследователей является гарантией качества его работы и мы получаем боевую ничью, но не будем спешить с выводами. В большинстве публикаций, где преимущества Linux над коммерческим ПО (Windows или Unix) выглядят очень убедительно, на самом деле исследуются очень специальные случаи применения x86/Linux-серверов. Например, системы хостинга веб-сайтов и приложений у провайдера и получаемый выигрыш объясняются именно переходом от мощных SMP-серверов к значительно более дешевым x86-машинам.
Означает ли это, что сама идея Open Source порочна по своей сути? Никоим образом. Значительная часть OSS является действительно вполне качественным продуктом. Просто не стоит безоглядно верить в то, что появилась новая панацея от всех проблем. Доступ к исходному коду и передача прав на модификацию и использование кода являются очень мощным оружием. Вот только воспользоваться им в полной мере – дело дорогое и сложное, да большинству и не нужное

С другой стороны, одно из лучших исследований было проведено фирмой BearingPoint7, расчеты в котором осуществлялись для двух типов компаний, соответствующих определению среднего и крупного бизнеса, и для нескольких типов стратегий построения информационной инфраструктуры – в зависимости от доли критичных для бизнеса приложений и “стандартных” серверов в общей инфраструктуре. При этом авторам удалось избежать сложностей и неоднозначностей расчета затрат на персонал, обслуживающий серверы, – они просто вынесли эти расходы за скобки. В результате рассчитываемый параметр скорее является VCO (Visible Cost of Ownership), чем TCO. Это, конечно, ограничивает широту исследования, но зато позволяет вычленить бесспорную часть расчетов, оставив на усмотрение читателя оценку спорной части затрат на персонал. Более того, в таком виде исследование имеет одинаковую ценность для любых стран, включая Россию, как бы ни различались зарплаты специалистов. Его авторы пришли к выводу, что VCO для Windows Server 2003 существенно ниже, чем для Novell/SuSE LINUX 8 и Red Hat Enterprise Linux 3.
Многие специалисты, привыкшие к системе ценообразования коммерческого по, считают, что практически нулевая стоимость лицензии автоматически делает TCO ниже. Как ни странно, такая уверенность играет с ИТ-специалистами дурную шутку, заставляя верить в отсутствующий в природе эффект

Насколько ожидаемы были эти итоги? Для любого непредвзятого и не попавшего под гипноз массированной пропагандистской кампании человека они были очевидны с самого начала. Дело в том, что OSS не появляется из ничего – это результат работы целой группы программистов. Код сам по себе бесплатен для потребителя, но просто код не имеет для обычного пользователя никакой ценности – большинство даже не сможет правильно его скомпилировать, не говоря уж о том, чтобы внести в него хоть какие-то изменения. Они просто установят уже готовый скомпилированный продукт от того или иного поставщика дистрибутивов. На этой стадии можно очень много сэкономить. Но установка ПО – еще не все: пользователей необходимо обучить тому, как интегрировать его с другими системами информационной инфраструктуры, поддерживать, устранять ошибки и т.п. А вот это уже – не бесплатно. То есть утверждается, что вы все можете сделать сами, и это действительно так, но вам понадобится немалое рабочее время специально выделенных людей. А это рабочее время далеко не бесплатно для потребителя, и его необходимо включить в общие экономические расчеты. Причем уровень знаний специалиста по таким работам должен быть достаточно высок. Можно, конечно, заключить договор с какой-либо компанией, оказывающей подобные услуги, но вот в этой детали и таится экономический дьявол. Консультанты такой компании стоят весьма заметных денег. В результате оказывается, что экономическая модель Open Source просто перераспределяет затраты с лицензий на обслуживание. Чуда не происходит, еще древние индусы, несмотря на обширный пантеон богов, знали, что из ничего ничто не появляется. Известная всем школьникам задача о бассейне, где что-то вливается и что-то выливается, убедительно показывает, что ни один ресурс нельзя черпать бесконечно – его необходимо пополнять в открытой форме, в виде лицензионных отчислений, или в скрытой, как оплата консультантов и сервиса.

Означает ли это, что сама идея Open Source порочна по своей сути? Никоим образом. Значительная часть OSS является действительно вполне качественным продуктом. Просто не стоит безоглядно верить в то, что появилась новая панацея от всех проблем. Доступ к исходному коду и передача прав на его модификацию и использование являются очень мощным оружием. Вот только воспользоваться им в полной мере – дело дорогое и сложное, да большинству и не нужное. Но существует немало ниш, где такие возможности настолько важны, что компенсируют отдельные недостатки OSS. Например, разработчикам ПО просто необходимо, чтобы они могли модифицировать и настраивать свой рабочий инструмент – средства разработки. При этом они обладают достаточно высокой квалификацией, чтобы сделать это самим, не обращаясь к производителю или консультантам. Именно поэтому таким успехом пользуется OSS-среда разработки Eclipse. Не обойтись без Linux и производителям встроенных систем, например, в контроллерах медицинского оборудования. А вот ожидать Linux на домашних компьютерах обычных пользователей придется еще очень долго.

Это наиболее полярные и очевидные случаи. Как поступать в остальных, менее очевидных? В первую очередь подходить к каждому проекту с точки зрения его функциональности и совместимости с другими имеющимися у вас решениями. Не поддаваться на убеждения маркетологов коммерческого ПО или фанатов Open Source – верить только фактам. И помнить, что тип лицензии никак не влияет на качество или функциональность ПО.

1 “Development, Ethical Trading and Free Software” http://firstmonday.org/issues/issue4_12/yee/#y3
2 Джоэл Сполски “Письмо о стратегии IV: Раздутое ПО и миф 80/20” http://russian.joelonsoftware.com/Articles/StrategyLetterIV.html
3 www.reasoning.com
4 “Analysis of the Linux Kernel”, Coverity, 2004
5 “Database Development Survey 2004: Winter”, Evans Data Corporation
6 “The Costs And Risks Of Open Source”, Julie Giera, April 12, 2004. Forrester Research,
7 “SERVER OPERATING SYSTEM LICENSING & SUPPORT COST COMPARISON WINDOWS SERVER 2003, RED HAT ENTERPRISE LINUX 3 AND NOVELL/SUSE LINUX 8”, May 2004 BearingPoint


сетевой форум
поиск
подписка на журнал
о сетевом




Rambler's Top100 Copyright © ЗАО "Издательский дом мировой периодики", 2000-2005.
С замечаниями и пожеланиями обращайтесь по адресу