Конференция «Свободное программное обеспечение: от обучения до разработки» — отчёт

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

Сегодняшний ландшафт свободного ПО

Доклад независимого эксперта Анатолия Якушина «Протестантская этика Макса Вебера и дух свободного программного обеспечения» прозвучал в финале конференции, но его отметило большинство участников. Автор задался вопросом: по каким этическим канонам будет жить сообщество разработчиков свободного ПО в ближайшее десятилетие? Вопрос отнюдь не праздный. Общеизвестно, что за счет свободного обмена идеями и кодом разработка СПО дешевле и быстрее проприетарного при равнозначном качестве. Компоненты свободного ПО есть сегодня во всех программных продуктах. Однако, по данным исследования WhiteSource Software, Inc., в 2019 году доля копилефтных лицензий составила 33% в сравнении с разрешительными лицензиями, тогда как в 2012 году она достигала 59%. Перемены вызваны появлением среди игроков СПО таких гигантов, как Microsoft, Google и других. «Движение СПО убедительно доказало гипотезу Вебера о том, что нематериальные мотивы труда могут быть состоятельны и способны создавать весьма заметные материальные активы, – отметил Анатолий Якушин. – От того, сможет ли выстоять копилефт в наше непростое время, будет зависеть ландшафт свободного ПО в ближайшее десятилетие».

Программный комитет конференции принимал только доклады о разработках под копилефтными и разрешительными лицензиями. В результате получился отличный обзор свободных программных продуктов российских разработчиков. Он ценен не широтой охвата (его невозможно достигнуть в рамках одной конференции), а прорисовкой направлений развития рынка СПО.

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

Студенты НИУ ВШЭ создали систему для анализа геопространственных данных и построения карты рельефа. В ее составе – свободное прикладное ПО для 3D-моделирования, которое работает под управлением российской ОС «Альт». Потенциально система может заинтересовать предприятия, которые переходят на интеллектуальное горное производство. О работе над проектом рассказали студенты НИУ ВШЭ Леонид Чашкин и Оксана Батонова.

Совместная разработка студентов и педагогов Московского колледжа предпринимательства № 11 уже переросла в стартап. Они разработали платформу ShariX с открытым исходным кодом для шеринговых сервисов. С помощью платформы можно организовать базу данных пользователей и оказывать им услуги. Александра Панюкова, педагог колледжа, сообщила, что участники проекта планируют развивать продукт и продвигать его на рынок, для этого создали свою компанию «ШЭРИКС».
А проект Embox по разработке ОС реального времени для встроенных систем прошел стадии студенческой разработки, стартапа и превратился в успешный бизнес. Руководитель проекта Антон Бондарев рассказал о создании устройств интернета вещей на базе ОС Embox и открытых реализаций протокола MQTT. Отечественную процессорную архитектуру «Эльбрус» Embox уже поддерживает, теперь разработчики планируют запустить ОС на других аппаратных платформах, в том числе – на микроконтроллерах.

Вообще студенческие проекты – ценнейший ресурс для перевода IT-инфраструктур организаций с зарубежного ПО на российское. Пример подают вузы и колледжи – многие из них уже используют разработки своих педагогов и студентов. Было бы неплохо организовать обмен информацией об этом ПО и широко его распространять. Например, учебным заведениям пригодится тестирующая система yajudge для автоматизации проверки задач по программированию. Эту разработку МФТИ на конференции продемонстрировал Виктор Яковлев, заведующий кафедрой «Алгоритмы и технологии программирования». Еще в МФТИ разработали «тренировочную» HellOS для обучения студентов разработке операционных систем. Преподаватели ставят перед студентами задачи по развитию этой ОС в рамках мини-проектов, и за последний год они реализовали новую функциональность: поддержку 64-битных процессоров x86, 4-уровневая адресация памяти, Multiboot 2, инструкции syscall/sysret вместо прерываний.

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

Некоторые российские компании-разработчики свободного ПО стали «старожилами» конференций «Базальт СПО». Наблюдать за ежегодной динамикой этих проектов увлекательно и приятно: они на деле доказывают, что в стране есть решения мирового уровня. Среди этих решений – СУБД PostgreSQL, старейший проект российского рынка. Иван Панченко, заместитель гендиректора Postgres Professional рассказал о функциональности предыдущего и ближайшего релизов, а также о долгосрочных тенденциях развития российской разработки. Более молодой, но перспективный проект ведет компания «Открытая мобильная платформа». Кирилл Чувилин, руководитель отдела развития и поддержки разработчиков, представил новинки в функциональности российской мобильной ОС «Аврора». Сейчас ее разработчики развернули большую работу по обеспечению необходимым исходным кодом тех компаний, которые создают прикладное ПО для ОС «Аврора».

Под управление операционной системы «Альт» перешла Robotic Operating System (ROS) – платформа с открытым исходным кодом для разработки ПО управления роботами. До недавнего времени основной операционной системой для ROS служила Ubuntu, но российские разработчики адаптируют платформу для работы с отечественной ОС.

Как встроить СПО в используемую IT-инфраструктуру и ничего не поломать

Отдельно стоит остановиться на новых инфраструктурных инструментах операционных систем «Альт». Их разработчики сосредоточили усилия на развитии инфраструктурного ПО для интеграции российских операционных систем в существующую IT-инфраструктуру, построенную на ОС Windows и инфраструктурных решениях Microsoft Active Directory (MS AD). Благодаря этому ПО организация может выбрать подходящий сценарий миграции доменных инфраструктур на свободные инфраструктурные решения в составе российских ОС «Альт». О возможных сценариях миграции рассказал Евгений Синельников, руководитель обособленного подразделения «Инженерный отдел «Саратовский» компании «Базальт СПО».

Для небольших IT-инфраструктур подойдет сценарий единовременного перехода на Samba Active Directory, которая служит заменой MS AD на уровне протоколов и поддержки Windows-клиентов. При этом можно сохранить уже сложившуюся доменную инфраструктуру, не менять конфигурацию рабочих станций и серверов под управлением Windows и не пересоздавать группы пользователей. Большие IT-инфраструктуры приходится переводить постепенно. ОС «Альт» позволяет создать параллельную доменную инфраструктуру на FreeIPA, обеспечить доверительные отношения между старой и новой инфраструктурами, поэтапно переносить исходную базу пользователей и групп. Управлять процессом помогают графические средства администрирования Remote Server Administration Tool (RSAT) – замена инструментария управления MS AD, а также встроенный инструментарий групповых политик.

Групповые политики в ОС «Альт» — это комплексное решение, которое включает хранение политик и шаблонов в отдельном каталоге на контроллере домена, инструменты управления политиками и механизмы применения настроек для компьютеров и пользователей. Валерий Синельников, инженер-программист «Базальт СПО», рассказал о возможностях инструмента gpupdate для централизованного управления и настройки парка машин с ОС «Альт», а также о графических инструментах ADMC (для управления базой данных конфигурации Active Directory) и GPUI (для редактирования конфигурации объектов групповых политик в домене).

Мозаика СПО

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

Николай Шмырёв из компании «АЦ Технологии» рассказал о развитии библиотеки для распознавания речи «Воск». Ее можно использовать при создании систем машинного обучения. Платформа работает на серверах и мобильных устройствах, поддерживает Raspberry Pi, Android, iOS.

Ростислав Шаниязов (МИЭМ НИУ ВШЭ) отметил, что в современной микросервисной архитектуре остро стоит вопрос описания жёсткого контракта взаимодействия между сервисами. В своем докладе он раскрыл нюансы использования языка protobuf для эффективного взаимодействия с протоколом GRPC, и объяснил, как этот инструмент помогает поддерживать чистый API.

Александр Епифанов, соучредитель и исполнительный директор компании «Тау Технологии», показал, как создавать переносимые приложения для большинства актуальных мобильных и настольных платформ на языках Ruby и JavaScript. Эту возможность обеспечивает открытый фреймворк RhoMobile. Список целевых платформ фреймворка включает наиболее популярные отечественные и зарубежные операционные системы: «Альт», Astra Linux, ROSA, RED OS, Windows iOS, Android, WinCE, Sailfish/Аврора.

Георгий Курячий и Данила Загайнов (ВМК МГУ) рассказали о работе по преодолению python3-зависимостей в пакетах в российском репозитории «Сизиф».

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

Заинтересованность разработчиков программных продуктов в свободных компонентах подтвердила компания Synopsys. Она продемонстрировала, что открытый исходный код содержит множество кодовых баз, отсканированных в ходе исследовании «2022 Open Source Security and Risk Analysis Report». В этом же исследовании указывается, что многие компоненты с исходным кодом могут содержать уязвимости. Чтобы преодолеть эти риск, Алексей Максимов, руководитель проектов ЦПР «РТСофт», в докладе «Проблемы безопасности при использовании опенсорс-компонентов в продуктовой разработке. Автоматизация трекинга, зеркалирования и ревью» предложил создавать доверенные зеркала репозиториев, в которых будут отслеживаться любые изменения в дереве коммитов.

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

См. также: Ещё к вопросу о перспективах использования СПО в настоящих условиях >>> 

Чтобы не пропустить самое интересное, читайте нас в Телеграм

Поделиться: