Разделы

ПО Свободное ПО Софт

Качество Open Source: как распутать клубок проблем?

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

Каждому этапу восприятия ПО с открытым кодом свойствен свой круг проблем. До середины 2000-х годов самой актуальной была задача "апологетики" свободного ПО. Компаниям и правительствам нужно было объяснить, что свободное ПО в принципе можно использовать наряду с проприетарным. В то же время часть разработчиков, привыкших вести разработку ПО в рамках закрытой модели, длительное время сомневалась в том, что свободная разработка может дать надежный и качественный код.


Проблемы качества продуктов Open Source приходится решать не только разработчикам, но и пользователям

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

Со второй половины 2000-х годов на фронте открытого кода оформился ряд новых задач, связанных уже не столько с ознакомлением, сколько с практическим применением Open Source. Все эти задачи можно условно объединить в рамках общей проблемы – обеспечения качества ПО с открытым кодом.

Клубок проблем качества

Следует пояснить, что в данном контексте подразумевается под "качеством". Разумеется, низкое число ошибок и архитектурных упущений в исходном тексте – важный аспект, но им дело не ограничивается. Помимо качества исходного кода есть также качество организации проекта по разработке ПО с открытым кодом. Здесь существенно, насколько удалось решить задачу формирования динамичного сообщества, насколько разработчики действительно смогли извлечь преимущества из открытой модели разработки.

Однако проблемы качества приходится решать не только разработчикам, но и пользователям: для них жизненно важно во множестве альтернативных Open Source-разработок выбрать действительно жизнеспособный, надежный и динамичный проект. Такая задача требует специальной подготовки и учета множества не всегда очевидных деталей: когда проект появился и насколько положительна его динамика, сколько в нем разработчиков, на каком этапе своего жизненного цикла он находится (внимание к этой проблеме позволит избежать, увы, распространенных ситуаций, когда выбор делается в пользу "сырого" или, наоборот, "умирающего" проекта), насколько зрелыми являются используемые в проекте технологии и т.д. Упустить существенную деталь и принять неверное технологическое решение – очень просто. Поэтому с начала 2000-х годов в отрасли предпринимаются попытки создания комплексной формализованной методики оценки ПО с открытым кодом. Наиболее полная методика, состоящая из 25 групп признаков и нескольких сот отдельных параметров, разработана в рамках европейского исследовательского консорциума QUALIPSO. Но к сожалению, пока что такие методики представляют более академический, нежели практический интерес.

Следует сказать и о том, что грань между качеством Open Source "с позиции разработчика" и "с позиции пользователя" часто стирается. Программы с открытым кодом часто выбирают потому, что на их основе можно делать новые разработки – и в этом случае пользователь одновременно становится разработчиком. Не следует недооценивать подобное использование открытого кода. Accenture прогнозирует, что со временем все большее число компаний будет заимствовать открытый код в своих внутренних разработках. Причем поскольку решения об использовании открытых кодов принимаются в "низах" техническими специалистами, руководство компаний часто продолжает свято верить в то, что в их разработках не используется ни строки открытого кода.

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

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

Европейские исследовательские проекты по качеству СПО

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

Исследовательские проекты Евросоюза в области качества ПО с открытым кодом

Название проекта Официальное резюме проекта Дата начала и продолжительность Бюджет, тыс евро
1 FLOSSMETRICS Free / libre / open source software metrics and benchmarking study ("Исследование метрик и показателей производительности свободного ПО/ПО с открытыми кодами") 01.09.2006 2,5 года 583, 8
2 SQO-OSS Software quality observatory for open source software ("Обсерватория" по мониторингу качества программ для ПО с открытыми кодами") 01.09.2006 2 года 1 640
3 QUALOSS Quality of open source software ("Качество свободного ПО") 01.09.2006 2,5 года 2 050
4 QUALIPSO Quality Platform for Open Source Software ("Платформа" для обеспечения качества ПО с открытыми кодами") 01.11.2006 4 года 10 420

Источник: Info-FOSS, 2008

Однако масштабное финансирование – не всегда самый прямой путь к хорошим результатам. Как пишет итальянский эксперт в области ПО с открытым кодом Роберто Галоппини, исследовательские проекты Евросоюза пересекались уже в постановках задач – и совершенно неудивительно, что их итоговые отчеты в значительной мере воспроизводят друг друга, а также заимствуют материалы более ранних исследовательских проектов на эту же тему.