В продолжение дискуссии «Как обеспечить интероперабельность в гетерогенном ИТ-мире» на конференции Russian Open Source Summit 2014.

11 апреля участники конференции Russian Open Source Summit 2014 отметили ведущую роль открытых стандартов в развитии информационных технологий. Но выступающие рассматривали стандартизацию преимущественно с точки зрения разработчиков. Мнения некоторых из них приведены в опубликованном накануне конференции обзоре Андрея Колесова «От открытого кода — к открытым ИТ».

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

Дешевле и лучше — этим обусловлено стремительное развитие ИТ.

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

Президент и генеральный конструктор компании ROSA, член правления РАСПО Владимир Рубанов уверен, что открытый код и открытые стандарты позволяют прямым образом достигать экономии как за счет совместной разработки и использования общих компонентов, так и за счет снижения зависимости от конкретных поставщиков и повышения уровня конкурентоспособности и интероперабельности. Но он считает, что для того, чтобы получить максимальный эффект от открытости ИТ, нужно обязательно следить за соблюдением требований стандартов, причем желательно с помощью автоматизированных средств контроля.

Первая мысль понятна. К этому можно добавить снижение себестоимости и дополнительные доходы за счет расширения рынка. А зачем контролировать соблюдение стандартов?

Как свидетельствуют результаты проведенного ФГУП «НИИСУ» обследования 500 предприятий оборонно-промышленного комплекса, «частичное» несоблюдение стандартов взаимодействия систем — достаточно распространенное явление.

Заместитель начальника отдела внедрения вычислительных комплексов Центра разработки инфраструктурных решений компании «Ай-Теко» Дмитрий Варенов обращает внимание на то, что разработчики проприетарных решений вольно трактуют общие стандарты взаимодействия систем, а во многих случаях вводят несовместимые с продуктами других производителей протоколы и механизмы. Делается это с целью вынудить потребителя после покупки интересующего его продукта приобрести комплекс сопряженных продуктов данного производителя.

А кто должен контролировать соблюдение стандартов? Дмитрий Варенов считает, что проблему можно решить, создав глобальный орган стандартизации требований к ИТ- и ИБ-инфраструктурам и сформировав технические регламенты их реализации.

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

В рамках дискуссии хочу обозначить основное, на мой взгляд, условие эффективной стандартизации. Это возможность сплошного контроля соблюдения стандарта потребителями. Если потребитель может самостоятельно проверить соответствие продукта стандарту (например, заряжается через usb-разъем или нет), то производители вынуждены соблюдать стандарт или нормативное требование. Механизм «не соответствует — верните деньги» работает очень быстро и убедительно. Если же для проверки соответствия требуется инструментальный контроль в испытательной лаборатории — то имеем то, что имеем. Так, сертификация пищевых продуктов не спасает от некачественных партий товара и контрафакта.

Дополнительным условием эффективной стандартизации является ее необходимость потребителю. Это обусловлено влиянием стандартизации на результаты или удобство использования продукта. Иначе потребитель просто не обратит внимания на несоответствие продукта стандарту.

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

А если продукт программный? Программное обеспечение — уникальный товар, который продается с заведомо большим количеством ошибок и недоработок, бесплатно устраняемых производителем по мере их обнаружения. Такая схема продаж позволяет производителям значительно ускорить разработку и выпуск программных продуктов, а также частично переложить затраты на их тестирование на потребителей. Взамен потребители в течение нескольких лет имеют возможность регулярно и бесплатно получать усовершенствованные версии продуктов и их техническую поддержку. Использование механизма обновления программных прошивок частично распространяет эту схему и на ИТ-оборудование.

Для контроля за соблюдением требований стандартов Владимир Рубанов предлагает применять автоматизированные средства.

Но кто заплатит за разработку средств контроля соблюдения стандартов? Сегодня это испытательные лаборатории и крупные потребители. Рядовой потребитель платить не будет. Возможны три варианта: объединения потребителей, объединения производителей и государство. Объединения потребителей тоже должны кем-то финансироваться. Либо это будут сами потребители, либо государство. Либо и то и другое вместе. Практика показывает, что это достаточно сложно и долго. В любом случае, сами продукты будут доступны потребителям существенно раньше, чем средства проверки их соответствия, если это не предусмотрено самим стандартом и его разработчиками.

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

Что же необходимо?

1. Наличие на рынке конкурентного по функционалу и цене продукта на основе открытых стандартов. Практика показывает, что на побуждение «всем миром» крупного монополиста к взаимодействию на основе открытых стандартов путем потери рынков сбыта может потребоваться более 10 лет.

2. Заинтересованность самих производителей в соблюдении открытых стандартов. Иначе они будут «в основном обеспечивать» их соответствие, но на практике что-то будет различаться. По форматированию, потере точности, ограничениям объема и др. «Объективные причины» и уловки производителей могут быть самыми разными.

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

4. Автоматическое тестирование соответствия в доступном для потребителей виде. Лучше всего путем свободной загрузки тестов по сети Интернет с официальных сайтов уполномоченных организаций.

Главное условие — выгода самих производителей. Где она и по сравнению с чем? Любое приведение разработанного продукта в соответствие стандартам требует времени и средств, если только оно уже не предусмотрено в комплектующих. Например, в свободно распространяемых программных модулях, функционирующих по открытым стандартам. С развитием свободного программного обеспечения это стало реальностью.

Производитель — это потребитель комплектующих. Наличие тестов для проверки их соответствия открытым стандартам сокращает время на тестирование и уменьшает риски судебных издержек.

По сравнению с сертификацией продукта экономятся время и деньги. Стандарты изменяются гораздо реже, чем обновляются (патчатся) программные компоненты. Поэтому в складчину профинансировать создание теста при разработке стандарта консорциуму производителей выгоднее, чем всем порознь сертифицировать свои продукты.

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

Есть сертифицированный тест — можно декларировать соответствие, нет — в добровольном порядке сертифицируйте сами продукты.

А кто будет главным контролером? Потребитель. Если он не будет при покупке требовать декларации соответствия и применять тесты для его проверки, то легко может «подсесть на иглу» «частично совместимых» продуктов конкретного производителя.

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

Автор статьи — заместитель начальника отраслевого центра компетенции НИИ стандартизации и унификации (ФГУП «НИИСУ»).