Введение

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

Вызовы

Если аудиторская компания самостоятельно сканирует кодовую базу, одной из серьезных проблем является изменение лицензий между версиями. Некоторые программные библиотеки начинаются с одной лицензии, а затем переходят на другую. Типичные примеры – переход от единой разрешительной лицензии к модели двойного лицензирования (выбор между строгой взаимной или платной коммерческой), как в случае с iText, переход от более взаимной к более разрешительной лицензии (как в случае с Qt Extended) и открытие исходного кода ранее коммерческого кода (как в случае с OpenJDK). В таких случаях недостаточно обнаружить, что была использована та или иная библиотека или фрагмент кода – необходимо правильно идентифицировать точную использованную версию. Дополнительные трудности могут возникнуть, если владелец библиотеки удаляет устаревшие версии (которые распространялись под другой лицензией) из общедоступных источников. Некоторые лицензии (например, LGPL) содержат существенно разные условия для простого связывания и создания производных работ. В этом случае надлежащий аудит должен учитывать, была ли библиотека просто связана или на её основе была создана производная работа (например, кастомная ветка). Наконец, некоторые программные пакеты могут внутренне содержать фрагменты исходного кода (например, исходный код Oracle Java), которые могут быть предоставлены только для справки или иметь различные другие лицензии, не обязательно совместимые с внутренней политикой компании. Если команда разработчиков программного обеспечения фактически не использует (или даже не знает) о наличии таких фрагментов, это следует рассматривать иначе, чем в случае их непосредственного связывания. Все эти проблемы относительно легко решить, если аудиторская группа сотрудничает с командой разработчиков программного обеспечения, которая, как правило, должна знать используемые версии и т.д. Если команде разработчиков программного обеспечения не доверяют, некомпетентный аудит может выявить множество "несоответствий" и "нарушений", которых на самом деле нет.

Управление программными активами

Управление программными активами – это организационный процесс, описанный в ISO/IEC 19770-1. В настоящее время он также охватывается требованиями к системам управления информационной безопасностью ISO/IEC 27001:2005 «Техники безопасности информационных технологий. Системы управления информационной безопасностью. Требования» и ISO/IEC 17799:2005 «Техники безопасности информационных технологий. Кодекс практики управления информационной безопасностью». Управление программными активами – это комплексная стратегия, которая для обеспечения эффективности и минимизации рисков должна внедряться во всей организации. Аудит соответствия программного обеспечения является важной частью управления программными активами и регулируется вышеупомянутыми стандартами. В самом простом виде он включает в себя следующее:

Идентификацию программных активов. Проверку программных активов, включая лицензии, использование и права. Выявление несоответствий между установленным программным обеспечением, имеющимися лицензиями и правами на его использование. Принятие мер по устранению выявленных несоответствий. Фиксацию результатов в централизованном хранилище с подтверждающими документами о приобретении. Сам процесс аудита должен быть непрерывным. Современное программное обеспечение SAM определяет, какое программное обеспечение установлено, где оно установлено, как оно используется, и сопоставляет эти данные с информацией об использовании. Это эффективный инструмент для контроля за установкой программного обеспечения и снижения затрат на лицензирование. Крупным организациям было бы сложно реализовать это без приложений для обнаружения и инвентаризации. Периодически внутренние или внешние аудиты (проводимые крупными аудиторскими компаниями) могут использовать криминалистический подход для определения установленного на компьютерах организации программного обеспечения с целью подтверждения его легальности и авторизованности, а также корректности процессов обработки транзакций и событий. Даже если компания столкнется с аудитом со стороны поставщика программного обеспечения на законных основаниях, необходимо знать и защищать свои права в ходе аудита. Аудит программного обеспечения является частью корпоративного управления рисками и позволяет значительно снизить риск судебного преследования за нарушение авторских прав из-за использования нелицензионного программного обеспечения. Большинство поставщиков позволяют урегулировать вопрос без судебного разбирательства, хотя в серьезных случаях судебное преследование неизбежно. Кроме того, строгая политика использования программного обеспечения снижает риск заражения компьютерными вирусами, предотвращая неконтролируемое копирование программного обеспечения.

Организации

Продавцы вступают в такие организации, как Федерация по борьбе с кражей программного обеспечения (FAST) и Альянс бизнес-программного обеспечения (BSA), чтобы обеспечить отраслевой подход к борьбе с пиратством, контрафакцией и нелегальным использованием программного обеспечения. Они проводят информационные кампании против нелегального использования программного обеспечения и поощряют сотрудников, сообщающих о нарушениях, которые приводят к успешному преследованию по закону и/или возмещению лицензионных платежей.