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

В ходе опроса, проведенного компанией NorthBridge, среди достоинств решений на базе СПО наиболее значимыми (в порядке убывания) были названы следующие: уменьшение затрат в силу отсутствия платы за лицензирование; возможность избежать жесткой привязки к вендору; высокая безопасность, допустимость аудита кода на предмет недекларируемых возможностей; высокое качество программного обеспечения; возможность самостоятельной доработки ПО.

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

Безопасность СПО — также важное преимущество. Дополнительную гарантию от недекларируемых возможностей и уязвимостей даёт само предоставление исходного кода. Впрочем, сложность современного ПО такова, что аудит многих миллионов строк кода является делом очень долгим и трудоемким.

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

От учебного пособия — к практическому применению

Практическое использование СПО началось в сфере высшего образования. И ничего случайного тут нет, ведь именно там СПО и зародилось. Проект GNU, в рамках которого было создано большое количество программ, в том числе почти все свободные средства разработки, родился внутри Лаборатории искусственного интеллекта Массачусетского технологического института. Первая свободная операционная система BSD­UNIX появилась в университете Беркли. MINIX — плод работы профессора Свободного университета Амстердама Эндрю Таненбаума. Да, по большому счету MINIX — это учебный материал для студентов, который показывает будущим программистам, как устроена операционная система. И под влиянием MINIX возникла чрезвычайно популярная Linux.

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

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

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

Однако процесс внедрения той же Linux в сферу образования был далеко не безоблачным. Так, в 2001 году стало известно о провале проекта по переходу на СПО в школах Мексики. Дело в том, что уже закупленное периферийное оборудование оказалось несовместимым с ОС Linux, а его замена на работоспособное обошлась бы дороже, чем выигрыш от стоимости лицензий. Тем более, что Microsoft согласилась предоставить большую скидку на свое ПО. Потом нечто похожее произошло в целом ряде других стран, в том числе и у нас.

ОС для спецслужб…

В 1998 году Агентство национальной безопасности США (АНБ) выпустило для своих нужд первую версию Security­Enhanced Linux (SELinux). АНБ занимается радиотехнической и электронной разведкой для Министерства обороны США. В его функции входит в том числе и перехват интернет-трафика. Кроме того, на АНБ возложена защита американских федеральных ведомств от деятельности разведок других государств.

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

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

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

Начиная с ядра 2.6, SELinux становится составной частью ядра Linux. АНБ не стало нарушать публичную лицензию GNU GPL и предоставило результаты своего труда сообществу разработчиков.

В 2009 году был представлен и отечественный защищенный дистрибутив AstraLinux разработки НПО «РусБИТех», ориентированный на использование в силовых ведомствах. Данный дистрибутив обеспечивает степень защиты обрабатываемой информации до уровня государственной тайны «совершенно секретно» включительно. Сертифицирован в Минобороны, ФСТЭК и ФСБ России. Его базовая версия является ОС общего назначения и может быть использована и для нужд бизнеса. Сейчас идёт работа над версиями для коммутационного оборудования, мобильных устройств на архитектуре ARM и мэйнфреймов IBM System z. НПО «РусБИТех» также не стало нарушать требования лицензии GPL, и исходные тексты AstraLinux выложены на сайте компании.

…и военных

Тут хорошим примером станет отечественная Мобильная система Вооруженных Сил (МСВС). Она разработана Всероссийским научно-исследовательским институтом автоматизации управления в непромышленной сфере им. В. В. Соломатина. С 2002 года данная система принята на снабжение Министерством обороны Российской Федерации.

МСВС может работать на нескольких аппаратных платформах: x86/AMD64, SPARC/SPARC64, IBM S390, PowerPC64, MIPS. Важной особенностью является поддержка отечественного оборудования на базе «Эльбрус­90микро» и комплексов «Багет» компании «Корунд-М», в том числе на процессорах KOMDIV, как 32­, так и 64­разрядных.

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

МСВС является примером открытого, но не свободного ПО. Требования заказчика и основного потребителя накладывают известные и понятные ограничения.

Мюнхен, далее везде

К началу нынешнего века СПО-продукты стали вполне достойной альтернативой коммерческим, так что интерес к миграции на СПО начал быстро переходить в сугубо практическую плоскость. Причем быстрее всего данный процесс шел как раз в государственном, муниципальном и общественном секторах. Наибольшая активность наблюдалась в Бразилии, Венесуэле, Индии, Сенегале, ЮАР, Германии, Испании, Италии и Франции. При этом во главу угла ставился не только вопрос экономии на лицензиях, но и то, что использование СПО способствует развитию национальной ИТ-отрасли. В некоторых странах, в частности в Бразилии, Венесуэле и Франции, приоритет СПО установлен на законодательном уровне.

Первым по-настоящему крупным проектом, о котором было заявлено публично, стал перевод на СПО пятнадцати тысяч серверов и рабочих станций, принадлежащих муниципалитету Мюнхена. В 2003 году эти планы были обнародованы, а в 2004­м начались работы. Проект был рассчитан на десять лет.

Дело двигалось очень непросто. В первые два года неудач было особенно много. Пользователей не устраивала ограниченная функциональность свободного ПО, были проблемы при взаимодействии с внешним миром, да и техническая поддержка не всегда помогала разрешить возникавшие сложности. Не сразу нашлась полноценная альтернатива и ряду приложений, таким как Microsoft Outlook. Кроме того, уже в ходе проекта пришлось заменить первоначально выбранный дистрибутив SuSE на LiMux, который специально для нужд мюнхенской администрации был собран на основе Kubuntu.

И тем не менее проект был успешно завершен в заданные сроки — к ноябрю 2013 года. Прямой экономический эффект составил 10 миллионов евро, что подтвердил независимый аудит. Огромное количество сложностей, связанных с обменом документами, как отметил представитель городской администрации Штефан Хауф, удалось разрешить простой заменой OpenOffice.org на LibreOffice.

Этот пример был подхвачен и в других городах. В 2012 году проект по переходу на СПО начался в Тулузе. На первом его этапе была осуществлена замена Microsoft Office на LibreOffice на 90% рабочих станций. Только за счет этой меры планируется сэкономить более миллиона евро. А ещё раньше, с 2009 года, на Linux была переведена половина серверов муниципалитета, на которых работают городские сайты и портал. В августе 2014­го о начале аналогичного проекта заявили в итальянском Турине.

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

В нашей стране также идет переход на СПО. О решениях для силовых ведомств уже было сказано выше. Довольно активно СПО используется в медицинских учреждениях. Это связано с тем, что решения на базе Linux, предназначенные для обработки информации, в которой содержатся персональные данные высоких категорий (сюда относится и медицинская информация), многократно дешевле, чем те, что базируются на других системах. В итоге количество ЛПУ, где внедрены такие решения, уже давно перевалило за 10 тысяч. И таких проектов будет всё больше и больше, особенно в ситуации, когда проблема импортозамещения зарубежного ПО не то что назрела, а уже и перезрела.

СВОБОДНОЕ ИЛИ ОТКРЫТОЕ?

В настоящее время существуют два термина: свободное ПО (free software, или СПО) и открытое ПО (open-source software). Они долгое время считались синонимами, да и сейчас свободное и открытое ПО иногда объединяют. До тех пор, пока в 1998 году Эрик Реймонд и Брюс Перенс не указали на то, что сам термин free software не­­однозначен и может отпугнуть многих бизнесменов от ИТ. Согласно определению Фонда свободного программного обеспечения, программа свободна, если у ее пользователей есть четыре свободы (http://www.gnu.org/philosophy/free­sw.ru.html):

  • свобода выполнять программу как вам угодно в любых целях (свобода 0);
  • свобода изучать работу программы и мо­дифицировать программу, чтобы она выполняла ваши вычисления, как вы пожелаете (свобода 1), — это предполагает доступ к исходному тексту;
  • свобода передавать копии, чтобы помочь своему ближнему (свобода 2);
  • свобода передавать копии своих измененных версий другим (свобода 3). В результате всё сообщество может получать выгоду от ваших изменений. Здесь также предполагается доступ к исходному тексту.

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