Разделы

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

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

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

Сегодня уже можно подводить промежуточные итоги результатам европейских проектов. Пока они не смогли привлечь существенного внимания со стороны широкой ИТ-общественности, хотя, например, база данных проекта FLOSSMETRICS содержит массу любопытной информации, являющейся результатом автоматизированного анализа исходных текстов свыше 2800 свободных проектов. Эти данные представлены в виде удобных таблиц и графиков на специализированном сайте Melquiades. Что же касается проектов QUALOSS и SQO-OSS, то их результаты могут привлечь лишь внимание узких специалистов, но никак не практиков, заинтересованных в том, чтобы с наименьшими затратами выбрать наиболее качественное решение. Наконец, проект QUALIPSO, тематический охват и бюджет которого наиболее велики, представит свои основные результаты как раз в конце 2010 года. Едва ли все они будут восприняты сообществом Open Source, но в методологическом отношении наработки проекта, безусловно, интересны.

Пример аналитического графика системы Melquiades
(соотношение файлов разных типов в проекте chronojump)

Источник: Melquiades, 2010

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

Коммерческие инициативы

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

Наиболее известным проектом, где автоматический анализ исходных текстов впервые был доведен от любопытной концептуальной модели до уровня популярного сетевого сервиса, да еще и выполненного в духе Web 2.0, является проект Ohloh (кстати, созданный бывшими сотрудниками Microsoft), недавно приобретенный компанией Black Duck. Ohloh удалось объединить массированный сбор и обработку данных из репозитариев исходных текстов, с одной стороны, и привлекательный функциональный веб-интерфейс – с другой. Система Ohloh не перегружена функциональностью, но позволяет получать важнейшую статистическую информацию о проектах с открытым кодом: такую, как соотношение используемых языков программирования, наличие лицензионных коллизий, динамика активности разработчиков. Несколько позже Ohloh превратилась в полноценную социальную сеть, основанную на принципах меритократии (чем больше вклад разработчика в разработку СПО, тем выше его статус в сети). По сути, Ohloh сегодня является наиболее удобной "точкой входа" для знакомства с результатами работы участников Open Source-проектов. К тому же, разработчики, наилучшим образом зарекомендовавшие себя в свободных проектах, могут рассчитывать на получение высоких рейтинговых оценок других участников.

Компания Coverity выполняет исследования в области качества Open Source за деньги Департамента обороны США. Coverity публикует ежегодные отчеты о состоянии качества Open Source, сформированные с помощью автоматизированного анализа исходного кода. Как показывает отчет Coverity за 2010 год, технологии автоматизированного поиска и выявления ошибок развиваются быстрее, чем разработчики успевают их освоить в своей повседневной практике. С 2006 года по 2009 Coverity методически публиковала отчеты, свидетельствующие об одних и тех же ошибках – и, несмотря на положительный опыт сотрудничества с рядом Open Source-проектов, в целом, отчеты Coverity свидетельствовали об отсутствии какой-либо положительной динамики. Несмотря на то, что часть ошибок можно выявить с помощью автоматизированных инструментов, разработчики либо не считают такие инструменты важными для своей работы, либо не имеют достаточной готовности к их восприятию. Чтобы как-то переломить ситуацию, Coverity решила изменить тактику с 2010 года, выбирая для каждого отчета своего рода "мальчика для битья". В текущем году эта роль досталась ядру Linux, используемой в сборке ОС Android на коммуникаторе HTC Droid Incredible. Таким образом, отчет Coverity теперь говорит не об абстрактных ошибках в открытом коде, а о конкретных продуктах, известных и важных для миллионов пользователей. Насколько плодотворной окажется новая тактика Coverity, покажут результаты отчетов следующих лет.

Что делать, если инфраструктура не успевает за ростом бизнеса?
Маркет

Интерес представляют поисковые системы Krugle и Koders (последняя также принадлежит компании Black Duck, которая сегодня стала крупнейшим в мире поставщиком услуг в области качества Open Source), позволяющие вести поиск в миллионах строк исходных текстов различных Open Source-проектов. Эти системы интересны не только для разработчиков, заинтересованных в заимствовании опыта коллег, но и для компаний, проводящих аудит исходных текстов внутренних разработок с целью определения степени их оригинальности и реальной коммерческой ценности.

Актуально ли качество в России?

В России проблемы качества ПО с открытым кодом пока не привлекают значительного внимания. Во многом это связано с тем, что российский рынок еще не вышел из "апологетического" этапа: российские компании, государственные учреждения и частные разработчики зачастую продолжают испытывать в отношении открытого кода сомнения, уже несколько лет назад изжитые их западными коллегами. Однако по мере созревания российского рынка ПО с открытым кодом и увеличения масштаба коммерческого восприятия Open Source-решений, проблема качества ПО с открытым кодом обострится и станет актуальной и в России. К этому нужно быть готовым как государству, которое может подготовить необходимый исследовательский и теоретический задел, так и бизнесу, который может неплохо заработать, предлагая компаниям за разумную плату решить те проблемы обеспечения качества актуальных в российском контексте Open Source-решений.

Егор Гребнев/CNews Analytics