Выбрать главу

К таким правилам относится, например, использование открытых форматов и протоколов (об этом шла речь еще на прошлой конференции) – требования поддержки проприетарных форматов ставит разработчиков СПО в откровенно неравное положение. Не в последнюю очередь речь идет о формате офисных документов ODF, который более года назад стал стандартом ISO за номером 26300:2006. Пока принятие этого стандарта как государственного в России (и тем более обязательное его использование в публичном секторе) остается делом не вполне определенного будущего, различные организации по разным причинам и с переменным успехом переводят на него свой документооборот. Об этих процессах рассказывал Анатолий Якушин из проекта OpenOffice.org.

Задача эта, как и любая серьезная миграция, весьма нетривиальна – а в российских условиях она осложняется еще и слабым пониманием того, что такое свободный софт (люди, далекие от ИТ, – и работающие, к примеру, в правоохранительных органах, – зачастую приравнивают его к софту пиратскому, и многие участники опросов, проводившие миграцию, просили "не называть имен") и зачем вообще нужны открытые стандарты. Впрочем, и для самих «мигрантов» ODF не всегда представляет самостоятельную ценность: например, возможность прочитать документ через сотню-другую лет, для которой строго необходимо иметь под рукой полные спецификации формата, критична для государства, но не для маленькой фирмы. Зачастую миграция на ODF происходит без особого планирования этого процесса, просто вследствие перехода на свободные офисные пакеты и/или операционные системы – и здесь есть риск столкнуться с серьезными трудностями, связанными с конвертированием архива документов и шаблонов, а также организацией связи с внешним миром. Впрочем, при грамотной постановке процесса, ничего непреодолимого тут нет, и ни у кого, кажется, не вызывает сомнений, что популярность ODF со временем будет только расти.

ОС ПО ГОСТУ

Однако не все проекты по стандартизации встречаются сообществом с распростертыми объятиями: доклад о стандарте Linux Standard Base (LSB) и вкладе в него Института системного программирования РАН вызвал бурную дискуссию. Напомню, что цель LSB – дать формальное описание ОС Linux и тех возможностей, которые она должна предоставлять запускаемым под нею приложениям. Цель благая: сейчас программа, собранная в одном дистрибутиве, почти наверняка не запустится в другом – по крайней мере, без перекомпиляции и, возможно, установки или обновления дополнительных библиотек. В результате разработчикам софта (в первую очередь, коммерческого и распространяемого только в бинарном виде) приходится либо тратить свои ресурсы на поддержку множества версий, либо ограничивать своих клиентов в выборе ОС до двух-трех наиболее популярных решений. Стандарт LSB должен стать "точкой рандеву" между вендорами дистрибутивов и разработчиками приложений: LSB-совместимая программа должна использовать только те возможности, которые описаны в стандарте, и, следовательно, работать в любом LSB-сертифицированном дистрибутиве.

На первый взгляд все выглядит чудесно. Но, как отметил заместитель генерального директора ALT Linux Алексей Новодворский, ряды LSB-совместимых приложений выглядят пока не очень внушительно – что, в свою очередь, не стимулирует сертификацию дистрибутивов (хотя основные вендоры это уже сделали – видимо, "чтоб было"). На то есть несколько причин. Во-первых, сам стандарт пока еще довольно узок, и ориентироваться только на него при написании программ очень сложно. Во-вторых, тестов, которым подвергаются дистрибутивы в процессе сертификации, оказывается недостаточно. Владимир Рубанов из ИСП РАН рассказывал о том, как в рамках их сотрудничества с Linux Foundation по созданию инфраструктуры для автоматического тестирования было выявлено множество несоответствий стандарту – в том числе и в дистрибутивах, прошедших процедуру сертификации.

Из-за этого в сообществе складывается впечатление, что LSB "выстрелил вхолостую". Хотя описанные проблемы носят скорее технический характер и со временем могут быть решены, возникают и более общие сомнения в правильности всего подхода стандартизации. С одной стороны, система должна соответствовать стандарту, а с другой – сама же его задавать (бесполезно включать в стандарт возможность, которую еще никто не реализовал). К тому же, различные компоненты Linux развиваются во взаимосвязи друг с другом и зачастую разработчики приложений становятся «заказчиками» новых возможностей в системных библиотеках и ядре. Может ли процесс стандартизации быть достаточно гибким для работы с таким «живым» окружением – пока неясно. Тем не менее на последнем саммите Linux Foundation тематика LSB была очень популярной – так что, вероятно, свое место под солнцем свободного ПО этот стандарт еще займет и облегчит жизнь многим разработчикам.

ВИДЕТЬ, СЛЫШАТЬ, ГОВОРИТЬ

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

Николай Шмырев рассказал о поддержке русского языка в системах синтеза речи Festival и распознавания CMU Sphinx, появившейся в этих проектах лишь недавно. Одна из наиболее трудоемких задач на этом фронте – создание баз данных речи (озвученных текстов), которые затем анализируются статистическими методами и преобразуются в акустические модели.

Подобные базы обладают и независимой ценностью (например, для исследователей языка) – но, к сожалению, свободной информации такого рода пока не очень много: существующие свободные системы распознавания обычно используют уже готовые модели, "звуковые исходники" которых закрыты. Впрочем, озвучка текста не требует особой квалификации и специальных знаний, так что здесь поговорка "с миру по нитке" вполне применима как руководство к действию. Реализацией этого подхода занимается проект VoxForge.org: всем желающим предлагается озвучить произвольный текст и загрузить его в систему в виде файла (или, например, наговорить по телефону). Получающиеся в результате этой деятельности базы будут выпускаться под GPL и использоваться в различных свободных программах.

Еще одна разработка, о которой шла речь на конференции, – свободный синтезатор eSpeak, также недавно заговоривший по-русски и имеющий определенные преимущества перед (в основном, исследовательским) проектом Festival. Впрочем, его качество звука пока отстает от последнего, и здесь предстоит провести немалую работу.

Наконец, не обошлось и без обсуждения систем распознавания текстов (OCR).

Нельзя сказать, чтобы свободными OCR никто не занимался – напротив, список таких проектов довольно внушителен – но, к сожалению, почти все они были заброшены своими создателями на самых ранних стадиях разработки и так и не добрались до практической применимости. Павел Семин, представлявший на конференции свою библиотеку libocr, связывает это с высокой «наукоемкостью» задачи – получение приемлемого результата требует вложения кучи сил и времени. Сам Павел занимается разработкой libocr для своей диссертации – и хочется верить, что после защиты этот проект не постигнет участь многих других, что возможно, только если он станет точкой приложения усилий специалистов по OCR со всего мира (в одиночку такая задача не решается). Впрочем, следует отметить, что в данный момент Google серьезно заинтересовался свободными OCR-системами (проекты Tesseract и Ocropus), что может привести если не к прорыву на этом фронте, то, по крайней мере, к значительному прогрессу. Правда, про поддержку русского языка и кириллицы в них пока ничего не известно – но участие в Ocropus как минимум одного российского разработчика (Илья Межиров) вселяет некоторый оптимизм.