Автор: Илья Щуров Voyager
Конференция разработчиков свободного программного обеспечения «На Протве» проходит уже в третий раз. Два года назад я про нее не знал, год назад не смог приехать, а этим летом звезды наконец «выстроились в ряд», и я все-таки выбрался на три дня в Обнинск, дабы вдоволь пообщаться с представителями российского open source-сообщества.
За недостатком места и обилием обсуждаемых тем [Тезисы докладов можно найти здесь: www.altlinux.ru/media/3rdconference_theses.pdf, а на mirror.aiya.ru/Protva-2006 выложены видеозаписи докладов] мне придется закончить на этом лирическое вступление и перейти к делу. Точнее, к бизнесу.
Неоднократно отмечалось, что разработка свободного ПО и научные исследования - вещи очень близкие, порой переходящие друг в друга. В обоих случаях результатом инвестиций и трудовой деятельности является не товар, легко обмениваемый обратно на деньги в рамках классической марксистской формулы, а знания, требующие иных бизнес-моделей и методов зарабатывания на жизнь. Впрочем, проникновение свободного софта из академической в бизнес-среду дает о себе знать, и риторические вопросы на тему «где бы найти финансирование для open source?» на конференции раздавались редко. Программисты, участвующие в разработке открытых продуктов, находят работу в самых разных ИТ-компаниях, так или иначе использующих ресурс свободного ПО - а таковых становится все больше и больше.
О своем ви’дении взаимодействия открытой и проприетарной моделей разработки и ведения дел рассказал Александр Давыдов из Naumen. Эта компания [Мы о ней уже писали: см. тему #592] как раз находится «меж двух миров»: занимается разработкой проприетарных решений, но на основе открытых продуктов и технологий. В данный момент она постепенно открывает часть своих собственных наработок - в основном для усиления мотивации сотрудников-программистов. По мнению Давыдова, свободное ПО сейчас становится основной универсальной платформой для интеграции программ, вытесняя проприетарный софт на «периферию».
Еще один интересный доклад «про бизнес» сделал Георгий Курячий (ALT Linux), рассказавший о том, как обычно происходит миграция ИТ-инфраструктуры компаний с пиратского софта - и как она должна происходить при правильной организации. Зачастую, столкнувшись с претензиями правообладателей по поводу использования нелицензионного ПО, руководство компании решает срочно перевести весь свой компьютерный парк на open source. Сносится Windows, ставится Linux… и корпоративная жизнь замирает на несколько недель. Бизнес-процессы рушатся, сотрудники жалуются на непривычные программы и отказываются работать в таких ужасных условиях, а сисадмины днюют и ночуют в офисе, безуспешно пытаясь исправить ситуацию. Итог, как можно догадаться, плачевен.
Но дело здесь, конечно, не в Linux и не в свободном софте, а в неграмотной миграции. Задача эта нетривиальна, и решаться она должна по всем правилам внедренческой науки: с обязательным исследованием сформировавшихся в компании бизнес-процессов и шаблонов поведения пользователей, составлением проектного и технического заданий, постепенным внедрением нового ПО, написанием соответствующей документации и т. д. При этом полный переход на свободный софт не всегда оправдан: во многих случаях лучше все же купить лицензии на какие-то программы, которые сейчас невозможно заменить. (К слову, отсутствие Linux-версии не является непреодолимым препятствием: написанные в соответствии со стандартом Windows aPI программы, как правило, работают под Wine, а многие специфические для российского рынка продукты (скажем, разработки компании «1С») - под модифицированной версией Wine@Etersoft.
От бизнеса перейдем к другой насущной проблеме: не всегда простым отношениям технологий с государством. Наш постоянный автор Федор Зуев поделился своим анализом черновика лицензии GPLv3 на предмет его совместимости с российским законодательством об авторском праве. Будучи плодом ума американских граждан, лицензия не всегда учитывает специфические тонкости европейского гражданского права, а тем более - российских законов. Например, в нашей стране авторский договор, по которому передаются имущественные авторские права, должен содержать ряд «существенных условий» (в частности, о размере авторского вознаграждения, территории, сроке действия и т. д.). В лицензии сейчас прямо упомянуты не все из них.
Вторая черновая версия, опубликованная уже по завершении конференции, смягчает некоторые несовместимости, но не снимает их полностью. С другой стороны, по словам Зуева, они не являются столь критичными, чтобы использование GPLv3 в России стало действительно опасным. К тому же рассматриваемый текст все-таки не окончателен, и в данный момент ведется работа над поправками, которые, в случае их принятия, смогут устранить большинство нестыковок. Впрочем, грозящие нам изменения в самом российском законодательстве об авторском праве (пресловутая «Четвертая часть Гражданского кодекса») могут породить гораздо более серьезные проблемы - так что следите за новостями.
Еще одна область, где технологии сталкиваются с государством: использование криптографии. Необходимую в ряде случаев сертификацию могут получить только разработки, реализующие национальные криптографические стандарты, - в частности, речь идет о признаваемой государством цифровой подписи и защищенных каналах связи. Естественно, в существующих свободных программах они пока не реализованы, но ситуация здесь уже сдвинулась с мертвой точки: Виктор Вагнер («Криптоком») рассказал об опыте встраивания российской криптографии в библиотеку OpenSSL. Задача оказалась непростой: несмотря на наличие механизма подгружаемых к OpenSSL модулей (engines) и стандартного API, призванного сделать взаимодействие с библиотекой не зависящим от реализованного метода шифрования, многие программы используют недокументированные функции, привязанные к конкретному алгоритму RSA. Таким образом, изменения приходится вносить не только в саму библиотеку, но и в сторонние программы, ее использующие. Однако ничего невозможного в этом нет, и хочется верить, что в скором времени пользователи Linux и FreeBSD смогут взять на вооружение признаваемые государством криптографические средства.
Последняя тема, которую мне хотелось бы затронуть в этом разделе, посвящена регулированию информационных технологий, применяемых в самом государственном управлении. Этот вопрос, не относящийся к теме конференции напрямую, был вынесен на отдельный семинар, и сейчас я коснусь его очень кратко. Необходимость формулирования специальных требований к технологиям, применяемым в госсекторе (и покупаемым или разрабатываемым за государственный счет), уже более или менее очевидна. Например, использование закрытых и недокументированных форматов данных может привести к зависимости от конкретного поставщика не только какое-то отдельное ведомство, но и целые сегменты общества - недавняя история с введением ЕГАИС в очередной раз подтвердила этот тезис. О мерах, предпринимаемых на этом фронте в рамках программы «Электронная Россия», мы надеемся рассказать в одном из следующих номеров.
Вернемся к основной теме конференции: свободному софту и связанным с ним технологиям. Среди последних особенно выделялись два не очень новых, но ставших весьма модными именно сейчас слова: вики и виртуализация.
Первому из них было посвящено сразу несколько докладов. Александр Сигачев, активный участник сообщества русскоязычной Википедии, рассказал о текущих достижениях и проблемах проекта. Надо отметить, что свободная энциклопедия уникальна не только своими «внешними» характеристиками (такими, как количество статей и скорость реакции на появление новых тем), но и внутренним устройством. Тогда как в большинстве сетевых проектов царит что-то вроде просвещенного (в лучшем случае) абсолютизма, региональные вики-сообщества (в том числе и русскоязычное) развиваются по принципам самоуправления и в чем-то напоминают настоящие свободные государства: со своими законами-правилами, полицией-администраторами и даже судебными органами.
Впрочем, социальный феномен Википедии еще ждет своих исследователей, а на конференции больше внимания уделялось технической стороне - в частности, использованию вики-движков в целях, далеких от написания энциклопедии. Несмотря на достаточно широкие возможности и легкость освоения, у вики имеются и определенные недостатки. Например, различные движки используют несовместимые друг с другом и к тому же никак не формализованные языки разметки, что значительно усложняет автоматизированную обработку документов (скажем, перевод с одного «диалекта» на другой). Тем не менее, по словам исследовавшего этот вопрос Кирилла Маслинского (ALT Linux), и здесь все не так плохо: попытки выработки единого формата вики-разметки уже начались.
Второе модное слово - «виртуализация» (то есть возможность запуска нескольких «виртуальных компьютеров» на одном реальном) - в последнее время все чаще звучит из уст как разработчиков процессоров, так и специалистов по операционным системам. Практические возможности эта технология предоставляет немалые: тут и изоляция разных приложений с целью увеличения общей безопасности системы, и очевидные удобства для разработчиков и тестировщиков ПО, и многие другие «вкусности». Существует несколько подходов к виртуализации - как полная эмуляция железа программными средствами, позволяющая «обманывать» любую операционную систему, так и паравиртуализация, для которой необходимо вносить изменения в код «гостевых» ОС. Участники проекта OpenVZ рассказали еще об одном подходе, называемом «виртуализацией на уровне ядра». Идея состоит в том, что запускается одно (модифицированное) ядро операционной системы, которое изолирует наборы программ друг от друга и распределяет между ними ресурсы. Таким образом можно, например, одновременно запустить несколько разных дистрибутивов Linux на одном компьютере, но нельзя запустить Linux и Windows. Зато производительность системы будет заведомо выше, чем при полной эмуляции.
Как и многие другие сюжеты в этом кратком обзоре, рассказ о виртуализации хочется закончить словами: «и вот, уже совсем скоро…» Подобная незавершенность естественна: большинство решений, о которых шла речь на конференции, пока не доведены до массового использования. И именно этим, на мой взгляд, интересен открытый процесс разработки: наблюдая за такими проектами, можно заглянуть в будущее и почувствовать живое дыхание прогресса.