16.07.2021

«Игрушечные» проекты со взрослым продолжением

spob.jpg
Участники конференции «СПО: от обучения до разработки» рассказали, как создают и развивают свободные программы

Конференция «Свободное программное обеспечение: от обучения до разработки» прошла в июне 2021 года в Переславле-Залесском. Ее организовала компания «Базальт СПО» при поддержке Института программных систем имени А.К. Айламазяна РАН (ИПС РАН), АНО «НСКФ», АРПП «Отечественный софт» и НП «РУССОФТ». Благодаря онлйн-трансляции в конференции приняло участие более тысячи человек. Те, кто пропустил прямой эфир, могут посмотреть видеозапись всех докладов на youtube-канале «Базальт СПО».  В этом мероприятии впервые объединились две традиционные конференции «Базальт СПО»: конференция разработчиков свободных программ и конференция «СПО в высшей школе». 

В учебных заведениях  немало приверженцев свободного ПО среди преподавателей и студентов. Тем из них, кто приехал на конференцию или участвовал онлайн, выпала редкая и очень полезная возможность пообщаться сразу со многими  «гуру» разработки свободного ПО. А разработчики, в свою очередь, «из первых рук» узнали о  том, что от них ждут школы и вузы и как они могут развивать сотрудничество. Именно развивать – потому что  многие СПО-проекты, которые начинались как учебные, с годами переросли в профессиональные. И теперь тесно сотрудничают с глобальными проектам разработки СПО, выпускают программные продукты для госсектора и коммерческих организаций.  Знаменательно, кстати, что рассказы о таких проектах прозвучали в Переславле, где первый «потешный» ботик Петра положил начало развитию мощного русского флота.

Проекты-«ботики», вышедшие в профессиональное открытое море

Свободные проекты создают ценность для всей мировой индустрии ИТ. Это отметил Алексей Новодворский, заместитель генерального директора «Базальт СПО», открывая конференцию: «Свободное ПО создают энтузиасты, делясь с коллегами результатами своей работы, давая им возможность создавать лучшие программы. Наши ежегодные мероприятия – это дань  уважения нашим коллегам – разработчикам СПО. Мы рады видеть среди участников конференции все больше молодых людей, которые присоединяются к работе открытых проектов. Они сделали правильный выбор и получили двойной выигрыш. Во-первых, занимаются интересным делом. Во-вторых, имеют возможность демонстрировать сообществу  личные достижения – свой код. Если  человек по-настоящему увлечен делом, его код становится все качественнее и интереснее. Таким образом,  программист зарабатывает авторитет,  который вскоре обеспечит ему профессиональную  свободу».

Один из подобных ярких проектов – свободная операционная система реального времени Embox. Изначально она замышлялась как некий «тренажер» для  улучшения навыков системного программирования у студентов. Проект родился на кафедре системного программирования механико-математического факультета СПбГУ, где много лет ведутся исследования по созданию операционных систем реального времени. Как и все разработки кафедры системного программирования, Embox — проект с открытым исходным кодом. Наработки проекта успешно применяются, например, в  продуктах ЗАО «Ланит-Терком», в других встроенных и телекоммуникационных системах. Антон Бондарев, руководитель проекта, рассказал, что теперь Embox позволяет запускать на микроконтроллерах любое ПО, написанное на С++, даже такое сложное, как OpenCV.

Другую учебную операционную систему разработали преподаватели и студенты Московского физико-технического института. Сами разработчики называют ее «игрушечной» и отмечают, что HellOS удобна для изучения внутреннего устройства ядра  и не предназначается для промышленного применения. Но останется ли она навсегда учебной? Ведь, по признанию ее разработчиков, многие современные системы общего назначения за десятилетия своего развития превратились из игрушечных концептов в проекты с огромным количеством исходного кода. Именно это послужило причиной появления учебной OS МФТИ: огромный объем открытого кода действующих ОС затрудняет их изучение. HellOS используется в семестровом курсе по разработке операционных систем в МФТИ. На примере этого проекта студенты разбираются во внутреннем устройстве операционных систем: исследуют исходные тексты и даже дописывают или переписывают отдельные компоненты. Код HellOS опубликован на GitHub https://github.com/carzil/hellos под лицензией MIT.

В НИТУ МИСИС в течение нескольких лет студенты участвуют в открытом проекте RunaWFE Free. Это свободная система управления бизнес-процессами и административными регламентами, которая реализует процессный подход к управлению предприятием. Она внесена в Единый реестр российских программ для электронных вычислительных машин и баз данных и уже используется в ряде государственных организаций. Андрей Михеев, генеральный директор компании «Процессные технологии» и преподаватель МИСИС, считает, что студентов обязательно надо привлекать к разработке СПО – иначе они просто не научатся решать инновационные задачи: «Современная система высшего образования побуждает студентов выучить уже существующую, не ими придуманную технологию (в большинстве случаев – иностранную), чтобы применять ее в проектах. Поэтому наши студенты получают задачи на производственную практику и ВКР не в «программистских» терминах, а в терминах предметной области, и вольны выбирать способы их решения с использованием СПО. Я надеюсь, что прошедшим такую практику студентам в дальнейшем будет легче самим разбираться в актуальных проблемах и ставить задачи себе и другим разработчикам. СПО помогает «мягко» войти в эту деятельность: с кодом системы знакомятся все желающие, и если человек  готов взяться за решение задачи, его привлекают в проект. Программное решение студента, если оно оказывается успешным, входит в один из следующих релизов системы».

Осенью 2020 года в МФТИ возобновили проект, который за пятнадцать лет до этого родился на другом континенте. В 2004 году Джон Хаммер, который работал в Новой Зеландии, разработал инструмент для обучения студентов, чтобы они лучше освоили структуры данных. Долгое время он был написан на Java 1.4 и запускал заранее предустановленный на компьютере GraphViz. Преподаватели и студенты Физтеха переписали проект на современной версии языка Java, добавили новые настройки отрисовки графов и более удобный интерфейс и выложили код на GitHub.  Эта разработка  пригодится преподавателям и студентам при изучении алгоритмов и структур данных, а также для реверс-инжиниринга.

Проекты-флагманы российской ИТ-отрасли

Самым заметным «взрослым» проектом стал на конференции проект разработки российских операционных систем «Альт» компании  «Базальт СПО». Сегодня во многих организациях госсектора и бизнеса «Альт» служит ядром ИТ-инфраструктуры, строящейся на российском софте и «железе». Поэтому ОС развиваются очень интенсивно и по нескольким направлениям одновременно.  

За полтора года, прошедшие с предыдущей конференции, разработчики ОС «Альт» обновили стек инструментов для начальной загрузки и массового развертывания. Леонид Кривошеин, ведущий инженер «Базальт СПО», участник проекта ALT Linux Team, рассказал о новой дистрибутивно-независимой системе загрузки altboot и наборе инструментов usermode-fs-tools для работы с образами дисков и файловых систем. Для тех, кто когда-либо администрировал «Альт», отметим, что altboot идет на смену propagator. Новый инструментарий дает возможность оснастить компьютер, работающий  под управлением ОС «Альт», необходимыми прикладными программами и затем «клонировать» набор на другие компьютеры. Это очень удобно, например, при развертывании компьютерного класса или типовых рабочих мест в крупной компании. 

Разработчики ОС «Альт» решили одну из самых сложных задач, которая возникает при переводе ИТ-инфраструктуры с импортных решений на российские. Это интеграция рабочих станций и серверов с ОС на основе ядра Linux в действующую ИТ-инфраструктуру, которая пока, в основном, работает под управлением Windows. Евгений Синельников, руководитель Саратовского филиала «Базальт СПО», в докладе  «Аналитика инфраструктурных решений службы единого каталога на базе Samba» рассказал о новых решениях для поддержки групповых политик в ОС «Альт». Эти инструменты поддерживают домен Linux на базе Samba или FreeIPA, а также интеграцию с Active Directory. 

Администрирование домена предполагает просмотр и редактирование информации об объектах. Эта работа включает в себя поиск и просмотр объектов, создание новых и редактирование свойств уже существующих и т. п. В Windows для этого есть инструмент ADUC (Active Directory Users and Computers). О новом свободном инструменте со схожей функциональностью рассказал Дмитрий Дегтярев, участник открытого проекта ADMC (Active Directory Management Console). Он отметил, что для удобства системных администраторов разработчики сознательно снабдили свое решение дизайном, похожим на ADUC – так его быстрее освоить и удобнее пользоваться. Надо отметить, что тема юзабилити в последнее время вышла на первый план. Эта тенденция нашла отражение в новшествах проекта alterator-update-kernel, о котором рассказал Иван Савин. Разработчики усовершенствовали интерфейс инструмента для обновления ядра в ОС «Альт». В помощь админам и пользователям, которым не нравится режим командной строки,  они создали графический инструмент для работы с утилитой update-kernel. Для работы с ней в состав Alterator (центр управления ОС) включен новый модуль «Обновление ядра»; он позволяет обновить текущее ядро или установить ядро заданного типа.

Еще одна новая разработка саратовского филиала «Базальт СПО» призвана облегчить управление большим компьютерным парком и постепенный переход на российское ПО. О ней рассказал Валерий Синельников. Ее оценят системные администраторы, которые получили возможность выполнять настройки операционной системы непосредственно из прикладных программ. Для этого через новую службу alterator-dbus организован доступ к модулям Alterator. Осуществляется регистрация сервиса на шине D-Bus, в котором модули Alterator представлены как отдельные объекты. Каждый объект предоставляет интерфейс для взаимодействия с модулем.

Админы, которые сталкиваются с трудностями организации работы удаленных пользователей, тоже получили новый полезный инструмент. В обнинском филиале «Базальт СПО» разработали решение для поддержки альтернативного SPICE-клиента – открытого протокола удаленного доступа к компьютеру или виртуальной машине для Fleet Commander (это инструмент для управления и развертывания конфигурации окружения рабочего стола в большой сети пользователей и рабочих станций). Теперь режим живой сессии Fleet Commander позволяет администрировать профили окружений рабочего стола доменных пользователей в любых браузерах. Эта разработка включена в международный проект разработки Fleet Commander.

Андрей Черепанов,  начальник отдела «Базальт СПО», сделал обзор интересных изменений в новой версии специализированной ОС «Альт Образование».  Например, при установке ОС можно выбрать комплект прикладного ПО для определенной ступени образования, для учителя, для серверов приложений или видеоконференцсвязи. ОС можно использовать на компьютерах трех аппаратных платформ: с 32- и 64-битными процессорами Intel/AMD, а также с 64-битными процессорами ARM (aarch64). Тестовые испытания подтвердили корректную работу «Альт Образование» 9.2 на компьютерах с российским процессором «Байкал-М» (разработка Baikal Electronics); в частности – на моноблоках «Эдельвейс». «Альт Образование» 9.2 работает на популярных одноплатных компьютерах Raspberry Pi 4 и 3.

О решении одной из насущных проблем системных администраторов рассказал Алексей Костарев из пермской компании «Новая Платформа». Трудность связана с  администрированием крупной территориально распределенной инфраструктуры, в составе которой много ПО разных версий (Linux, системные библиотеки прикладной софт). Для решения проблемы разработчики использовали технологии и программный код ОС Fedore Core для выпуска и поддержки линейки дистрибутивов «Альт CoreOS». Большинство пакетов Fedora CoreOS уже портировано в российский независимый репозиторий «Сизиф» (Sisyphus); их можно будет использовать для создания «Альт IoT».

Тем, кто в ответе за организацию работы или обучения в дистанционном режиме, пригодится решение Национального исследовательского университета «Высшая школа экономики». Борис Зоричев и Юрий Попов представили новый протокол связи для передачи видео в самоорганизующихся сетях, который обеспечивает устойчивую передачу видео.

Компания Virtuozzo, разрабатывающая серверное ПО для виртуализации на основе открытых проектов, представила на конференции дистрибутив VzLinux. Раньше он применялся в качестве базовой операционной системы для платформы виртуализации компании, а теперь доступен всем желающим. Решение позиционируется как готовая замена CentOS 8. VzLinux поставляется без ограничений, бесплатен и отныне будет развиваться в качестве открытого проекта, разрабатываемого при участии сообщества.

Тем, кто должен быстро освоить российское ПО,  важно быстро получить качественные знания и навыки работы с ним. Прежде всего, с операционными системами, поскольку с них начинается переход на отечественный софт. О том, где и как освоить ОС «Альт», рассказал Егор Орлов из СПбПУ. Он разработал учебные программы по ОС «Альт» и проводит переподготовку ИТ-специалистов. Обучение идет в сертифицированном учебном центре «Базальт СПО», который создан на базе вуза.  Дмитрий Гудзенко, руководитель Центра компьютерного обучения «Специалист» при МГТУ им. Н. Э. Баумана, отметил, что  спрос на курсы по отечественным ОС в последние годы вырос в разы.

Этот интерес в ближайшие годы будет только расти. Ренат Лашин, исполнительный директор Ассоциации разработчиков программных продуктов «Отечественный софт», рассказал, что Минцифры запланировало совместно с ИТ-компаниями разработать к сентябрю стратегию развития в России программного обеспечения с открытым кодом. По его словам, министерство выделило три основные приоритета стратегии. Во-первых, это эффективность и качество разработки Open Source. Во-вторых, технологическая и информационная безопасность, в том числе,  благодаря возможности проводить независимый аудит исходного кода. И в-третьих,  технологическая независимость: снижение санкционных рисков, уменьшение зависимости от глобальных вендоров.