Еще одна область, где технологии сталкиваются с государством: использование криптографии. Необходимую в ряде случаев сертификацию могут получить только разработки, реализующие национальные криптографические стандарты, - в частности, речь идет о признаваемой государством цифровой подписи и защищенных каналах связи. Естественно, в существующих свободных программах они пока не реализованы, но ситуация здесь уже сдвинулась с мертвой точки: Виктор Вагнер («Криптоком») рассказал об опыте встраивания российской криптографии в библиотеку OpenSSL. Задача оказалась непростой: несмотря на наличие механизма подгружаемых к OpenSSL модулей (engines) и стандартного API, призванного сделать взаимодействие с библиотекой не зависящим от реализованного метода шифрования, многие программы используют недокументированные функции, привязанные к конкретному алгоритму RSA. Таким образом, изменения приходится вносить не только в саму библиотеку, но и в сторонние программы, ее использующие. Однако ничего невозможного в этом нет, и хочется верить, что в скором времени пользователи Linux и FreeBSD смогут взять на вооружение признаваемые государством криптографические средства.
Последняя тема, которую мне хотелось бы затронуть в этом разделе, посвящена регулированию информационных технологий, применяемых в самом государственном управлении. Этот вопрос, не относящийся к теме конференции напрямую, был вынесен на отдельный семинар, и сейчас я коснусь его очень кратко. Необходимость формулирования специальных требований к технологиям, применяемым в госсекторе (и покупаемым или разрабатываемым за государственный счет), уже более или менее очевидна. Например, использование закрытых и недокументированных форматов данных может привести к зависимости от конкретного поставщика не только какое-то отдельное ведомство, но и целые сегменты общества - недавняя история с введением ЕГАИС в очередной раз подтвердила этот тезис. О мерах, предпринимаемых на этом фронте в рамках программы «Электронная Россия», мы надеемся рассказать в одном из следующих номеров.
Технологии
Вернемся к основной теме конференции: свободному софту и связанным с ним технологиям. Среди последних особенно выделялись два не очень новых, но ставших весьма модными именно сейчас слова: вики и виртуализация.
Первому из них было посвящено сразу несколько докладов. Александр Сигачев, активный участник сообщества русскоязычной Википедии, рассказал о текущих достижениях и проблемах проекта. Надо отметить, что свободная энциклопедия уникальна не только своими «внешними» характеристиками (такими, как количество статей и скорость реакции на появление новых тем), но и внутренним устройством. Тогда как в большинстве сетевых проектов царит что-то вроде просвещенного (в лучшем случае) абсолютизма, региональные вики-сообщества (в том числе и русскоязычное) развиваются по принципам самоуправления и в чем-то напоминают настоящие свободные государства: со своими законами-правилами, полицией-администраторами и даже судебными органами.
Впрочем, социальный феномен Википедии еще ждет своих исследователей, а на конференции больше внимания уделялось технической стороне - в частности, использованию вики-движков в целях, далеких от написания энциклопедии. Несмотря на достаточно широкие возможности и легкость освоения, у вики имеются и определенные недостатки. Например, различные движки используют несовместимые друг с другом и к тому же никак не формализованные языки разметки, что значительно усложняет автоматизированную обработку документов (скажем, перевод с одного «диалекта» на другой). Тем не менее, по словам исследовавшего этот вопрос Кирилла Маслинского (ALT Linux), и здесь все не так плохо: попытки выработки единого формата вики-разметки уже начались.
Второе модное слово - «виртуализация» (то есть возможность запуска нескольких «виртуальных компьютеров» на одном реальном) - в последнее время все чаще звучит из уст как разработчиков процессоров, так и специалистов по операционным системам. Практические возможности эта технология предоставляет немалые: тут и изоляция разных приложений с целью увеличения общей безопасности системы, и очевидные удобства для разработчиков и тестировщиков ПО, и многие другие «вкусности». Существует несколько подходов к виртуализации - как полная эмуляция железа программными средствами, позволяющая «обманывать» любую операционную систему, так и паравиртуализация, для которой необходимо вносить изменения в код «гостевых» ОС. Участники проекта OpenVZ рассказали еще об одном подходе, называемом «виртуализацией на уровне ядра». Идея состоит в том, что запускается одно (модифицированное) ядро операционной системы, которое изолирует наборы программ друг от друга и распределяет между ними ресурсы. Таким образом можно, например, одновременно запустить несколько разных дистрибутивов Linux на одном компьютере, но нельзя запустить Linux и Windows. Зато производительность системы будет заведомо выше, чем при полной эмуляции.
Читать дальше