В преддверии апрельской конференции Russian Open Source Summit '2012, где будут обсуждаться актуальные проблемы индустрии свободного ПО (СПО) и построения Национальной программной платформы (НПП), мы начинаем публикацию цикла статей и интервью о перспективных российских программных разработках.
Компания “РОСА” объявила о запуске сервиса Auto Build Farm (ABF), предназначенного для разработки дистрибутивов СПО. Этот продукт стал результатом развития прототипа сборочной среды, сданного проектной командой во главе с “ПингВин Софтвер” в рамках первого этапа создания НПП (конкурс ИО/04-11). Об особенностях сервиса корреспонденту PC Week/RE Евгению Крестникову рассказывает Дмитрий Комиссаров, генеральный директор компании “ПингВин Софтвер”.
PC Week: ABF появился как прототип среды сборки для НПП, или это была некая внутренняя разработка?
Дмитрий Комиссаров: Развитие ABF началось несколько лет назад в команде, которая делала Linux XP. Мы исходили из того, что мир гетерогенный и разработчику прикладного ПО нужна возможность собрать и протестировать свои продукты под несколько дистрибутивов. Желательно — соответствующих определённому стандарту. Делая проект ABF для ROSA, мы изначально предусматривали возможность сборки других продуктов. Дело в том, что дистрибутив сам по себе никому не нужен — людям нужны прикладные программы и сервисы. Это означает, что необходимо привлечь к себе производителей этих программ и сервисов. Но им неинтересно делать продукт только для нас. Так что задумка была построить аналог Launchpad с OBS (Open Build Service), чтобы привлечь производителей программ.
PC Week: ABF — это система сборки только для НПП?
Д. К.: Мы очень долго обсуждали в Минкомсвязи идею системы сборки, когда выиграли конкурс, и убедили министерство, что НПП должна предполагать вариативность. Нужна в ней конкуренция и на уровне дистрибутивов. Позиция наших основных конкурентов известна — вы можете собрать любой “Альт Линукс”, который захотите. Это никого не устраивает, кроме авторов. Если вы хотите делать что-то общее, нужно учитывать интересы других. Наша идея состоит из нескольких частей, и самая важная из них (инфраструктурная) заключается в том, что в ABF будет несколько дистрибутивов. Как минимум это ROSA/Mandriva, МСВС (Red Hat), “НауЛинукс” и “Альт Линукс”. В ABF можно будет разрабатывать свой дистрибутив и, кроме того, делать пакеты под все поддерживаемые дистрибутивы. То есть решается очень понятная задача: есть НПП, есть много дистрибутивов, и есть производитель софта, который, приходя в ABF, имеет возможность собирать программы под все дистрибутивы, удовлетворяющие ABF. В Open Build Service решается похожая задача, но там не хватает имеющихся в Launchpad возможностей.
PC Week: Чего вам не хватило OBS и Launchpad?
Д. К.: Инфраструктуры разработки крупных проектов, простого и удобного веб-интерфейса, сервисов обсуждения. Таких вещей, которые в Launchpad хорошо развиты. В общем, ABF — это гибрид Launchpad и OBS. Из OBS мы не использовали ничего, хотя безусловно учли их опыт, что облегчило нашу задачу и позволило развиваться гораздо эффективнее.
PC Week: Почему возникла необходимость развивать сервис с нуля, а не интегрироваться в существующий проект?
Д. К.: Во-первых, в OBS нет механизмов окончательной сборки дистрибутивов. Образы нужно делать самому. Во-вторых, все идёт к тому, что в рамках НПП могут быть сформированы два фонда алгоритмов и программ, один из которых будет закрытым и содержать вещи, связанные с криптографией и т. д. Поэтому продвинуть значительную часть изменений в апстрим, очевидно, не получится, поскольку у OBS несколько иные цели. Отсюда дилемма: либо делать форк OBS, либо создавать собственную систему. Мы провели исследование, и оказалось, что архитектура OBS не совсем удовлетворяет поставленным задачам. Поэтому и взялись за проект с нуля. Здесь мы сами будем апстримом.
PC Week: Кто сейчас занимается разработкой ABF? Сервис делала российская команда из компании “РОСА”, или участвуют специалисты из разных стран?
Д. К.: Сейчас ABF разрабатывается несколькими сотрудниками компании “РОСА” и двух наших российских компаний-партнеров. Мы рассчитываем, что в ближайшее время к разработке подключатся наши друзья и единомышленники из Бразилии.
PC Week: Сейчас идёт этап закрытого тестирования, а когда сервис заработает на полную мощность?
Д. К.: Закрытое тестирование проводится, чтобы найти и исправить явные ошибки. Пришло около пятидесяти заявок, и мы отобрали тех, кто готов работать по сборке своих дистрибутивов. В марте запустим тестовый ABF без ROSA, в котором можно собирать то, что хочется. Тогда же будет открыт код.
PC Week: ROSA уже собирается в ABF?
Д. К.: Да, текущая версия дистрибутивов ROSA собирается в ABF. Она выйдет весной (в марте-апреле) и получит статус релиза с длительным сроком поддержки (пять лет).
PC Week: А дистрибутивы Mandriva тоже будут собираться в ABF?
Д. К.: Ввиду родственности ROSA и Mandriva в ABF для этого все готово. Однако в самой Mandriva потребуется произвести массовую починку пакетов для согласованной пересборки. К сожалению, в текущей Mandriva полный ребилд не производился давно и пакеты несогласованны. Задачу сборки именно Mandriva мы себе не ставили в связи с отсутствием такой необходимости.
PC Week: Сейчас в ABF можно собирать ROSA/Mandriva, МСВС (Red Hat) и “НауЛинукс”. А когда появится поддержка других дистрибутивов и прежде всего “Альт Линукс”?
Д. К.: Строго говоря, МСВС собирается пока в среде от Fedora/Red Hat (Koji). Работы по поводу поддержки “Альт Линукс” ведутся.
PC Week: Компания “Альт Линукс” готова сотрудничать с вами?
Д. К.: У нас был негативный опыт совместной работы с “Альт Линуксом” в одном из проектов. Поэтому в рамках НПП мы с другими участниками проекта возможность сотрудничества с этой компанией не обсуждали. Но это не мешает членам сообщества “Альт Линукс” участвовать в тестировании ABF. Заявки от них есть.
PC Week: Вы говорили, что пришло около пятидесяти заявок на участие в тестировании. Если не секрет, от кого они поступают?
Д. К.: Это ИТ-специалисты, участники российского Linux-сообщества, энтузиасты СПО. Мы также одобрили одну заявку из Бразилии. Кто-то из них уже помогает нам в наших проектах. Кто-то ищет в служебных целях удобный инструмент для сборки образов. Кто-то интересуется проектом ABF как таковым, сравнивает с OBS и Launchpad.
PC Week: Разработчики проприетарных продуктов заинтересовались ABF?
Д. К.: Да, но пока я не готов их назвать.
PC Week: Какие возможности ABF предлагает разработчикам проприетарных (в том числе закрытых) продуктов? И как они будут реализованы?
Д. К.: В ABF уже сейчас поддерживаются закрытые проекты для разработки и репозитории ограниченного доступа для выкладки пакетов. Затем в качестве расширения ABF планируем добавить магазин-портал приложений с категориями (бинарные пакеты для каждого из дистрибутивов, присутствующих в ABF). Кроме того, ABF дооснащается функционалом для разработчиков — трекер, вики, блоги/форумы, просмотр/редактирование кода, dashboard'ы. Так что проприетарный разработчик сейчас может собирать то, что имеет, а позднее — собственно разрабатывать и продавать.
PC Week: И последний вопрос: будет ли в ABF возможность сборки свободных (а может, и проприетарных) продуктов под Windows?
Д. К.: Этот вопрос мы пока прорабатываем.
PC Week: Спасибо за беседу.