совместную разработку с поддержкой средств групповой работы – управление версиями, конфигурациями, задачами, документирование;
Рубрикатор | ![]() |
![]() |
Статьи | ![]() |
ИКС № 10 2014 | ![]() |
![]() |
Владимир РУБАНОВ  Станислав ФОМИН  | 07 октября 2014 |
Open source плюс собственные разработки
О роли средств collaboration в организации работы распределенных команд рассказывают Станислав ФОМИН, директор по технологиям, и Владимир РУБАНОВ, президент и генеральный конструктор «НТЦ ИТ РОСА».
![]() |
![]() |
«НТЦ ИТ РОСА» – разработчик и поставщик защищенных отечественных операционных систем и системного ПО. Объем и сложность таких проектов требуют «не изобретать велосипед», а интегрировать множество компонентов с открытым исходным кодом (open source, свободное ПО), над которым работает распределенная международная команда – штатных специалистов, подрядчиков, сотрудников компаний-партнеров, участников open source-проектов и волонтеров. При организации такого сложного высокотехнологичного производства использование эффективных средств совместной работы становится ключевым фактором, но специфика компании требует независимости от любых иностранных продуктов, и тем более сервисов. Поэтому мы используем комбинацию самостоятельно разработанных продуктов и доработанных систем с открытым кодом.
Корневой инфраструктурой производства компании является система распределенной разработки и сборки многокомпонентных программных продуктов. Такую систему ввиду важности и сложности процесса распределенной разработки системного ПО мы были вынуждены создать сами. Наша ROSA Automatic Build Farm (ABF) позволяет автоматизировать процессы разработки, тестирования, интеграции и сборки с участием распределенных команд и отдельных специалистов с различными уровнями полномочий. ABF обеспечивает:
-
-
масштабируемую сборку входящего в дистрибутивы программного обеспечения под x86- и ARM-платформы;
-
создание ISO-образов дистрибутивов.
Кстати, в ядро ABF включена open source-система управления версиями Git, к которой ABF предоставляет удобный веб-интерфейс. Код самой ABF мы также сделали открытым.
Не менее важны системы коммуникаций и управления знаниями, причем спецификой компании является плотное взаимодействие с разноязычными и географически распределенными группами сотрудников, пользователей и волонтеров. И тут не обойтись единой, универсальной системой решения всех проблем. В ИT, как известно, не стоит искать несуществующую «серебряную пулю», а нужно использовать комбинацию систем, оптимально подходящую для поставленных задач. На их выбор влияют и исторические традиции, и сложившиеся привычки пользователей, и околоиндустриальные стандарты. Мы остановились на популярных open source-системах, поскольку их концепции и интерфейс уже известны большинству потенциальных пользователей, а развитие идет в соответствии с потребностями широкого сообщества. Открытость же кода позволяет реализовать специфические требования и интегрировать их с друг с другом и другими системами компании.
Так, взаимодействие с опытным сообществом у нас осуществляется с помощью известной open source-системы управления ошибками Bugzilla, которая несмотря на некоторую сложность интерфейса стала стандартом для разработчиков Linux-дистрибутивов. Для регистрации проблем клиентов используется специализированная helpdesk-система GLPI. А для пользователей бесплатных дистрибутивов развернут простой и привычный любому интернет-пользователю форум на базе PHPBB, где они часто самостоятельно решают свои проблемы.
Внутри компании ряд проектных команд используют RedMine – еще одну open source-систему управления задачами.
Классическая офисная коммуникация в компании (почта/календари/система мгновенных сообщений Jabber) построена на базе Zimbra Office Suite, а для коммуникации с сообществом пользователей служат IRC-каналы и email-рассылки.
Основные базы знаний, как открытые для сообщества, так и закрытые, для накопления служебной информации, у нас развернуты на базе известной MediaWiki с множеством доработок. А так как MediaWiki не очень хорошо подходит для совместного редактирования табличных данных, отдельно установлен внутрикорпоративный сервис электронных таблиц с совместным редактированием через веб, на базе Ethercalc.
Поскольку у нас географически распределенная команда, то очень важны средства мгновенной видеоголосовой коммуникации, дающие максимальную скорость информационного обмена, но с фиксированием полученных результатов, чтобы избежать ловушки «бесплодных совещаний». Как среду для видео-конференций – обсуждения технических вопросов, регулярных демонстраций командами разработанных продуктов – мы используем Apache OpenMeeting в сочетании с мгновенными блокнотами Etherpad для фиксирования принятых решений/замечаний и Etherdraw – для совместного рисования прототипов. Кстати, видеозаписи важных совещаний и демонстраций, сделанные с помощью Open Broadcaster Software, вместе с записанными в Etherpad замечаниями и решениями публикуются во внутренней базе знаний на основе MediaWiki.
* * *
Обеспечение совместной работы распределенных команд с помощью свободного ПО и собственных разработок позволяет достичь технологической независимости от политики западных производителей, что в свою очередь дает возможность наладить выпуск отечественных продуктов для решения актуальных задач импортозамещения ПО.