В конце мая 2022 года в Переславле-Залесском состоялась конференция «Свободное программное обеспечение: от обучения до разработки». Мероприятие объединило две конференции компании «Базальт СПО» — конференцию разработчиков свободных программ и конференцию «СПО в высшей школе». Они проходят ежегодно на протяжении 18 лет. Поддержку нынешнему мероприятию оказали Институт программных систем имени А.К. Айламазяна РАН (ИПС РАН), АНО «НСКФ», АРПП «Отечественный софт» и НП «РУССОФТ». Видеозаписи прямой трансляции размещены на канале «Базальт СПО».
Больше тысячи человек участвовало в конференции очно и онлайн. По темам докладов и дискуссий стало ясно, что применение свободных программ начинает принимать массовый характер. Естественно, что у пользователей возникает масса вопросов по интеграции СПО в используемую ИТ-инфраструктуру и множество пожеланий по наращиванию функциональности программных продуктов. Этот пользовательский интерес стал катализатором развития готового ПО и его свободных компонентов.
Новое ПО можно бесшовно встраивать в существующую ИТ-инфраструктуру
Самый ответственный момент в переходе на санкционно неуязвимое ПО — это миграция на российскую операционную систему с зарубежной ОС и инфраструктурных решений Microsoft Active Directory (MS AD). В зависимости от масштаба и сложности доменной инфраструктуры переход можно провести по нескольким сценариям. Об инструментах, которые позволяют воплотить эти сценарии в жизнь, рассказал Евгений Синельников, руководитель обособленного подразделения «Инженерный отдел «Саратовский» компании «Базальт СПО». Первый сценарий — заменить MS AD на Samba Active Directory на уровне протоколов и поддержки Windows-клиентов. Такой подход дает возможность перейти сразу, сохранив существующую доменную инфраструктуру, конфигурацию рабочих станций и серверов и группы пользователей. Для крупных ИТ-инфраструктур подойдет второй сценарий — постепенная миграция: создать параллельную доменную инфраструктуру на FreeIPA, обеспечить доверительные отношения между старой и новой инфраструктурами, а потом по частям переносить исходную базу пользователей и групп. Разработчики ОС «Альт» включили в интерфейс управления операционной системой набор инфраструктурных инструментов. Среди них — групповые политики. Это набор правил и инструментов настройки рабочей среды операционной системы для компьютеров и пользователей. О текущем состоянии и перспективах развития проекта «Групповые политики в ОС „Альт“» рассказал Валерий Синельников, инженер-программист «Базальт СПО».
Студентам интересны реальные проекты
Как верно подметил Луций Сенека, когда капитан корабля не знает, к какой пристани он держит путь, для него ни один ветер не будет попутным. Надо признать, что до недавнего времени эта фраза довольно точно характеризовала представления студентов о своем профессиональном будущем, а до капитанов им было расти и расти. Конференция показала, что ситуация очень быстро меняется. Сегодняшним студентам не нравится выполнять работу «для галочки» — просто для защиты диплома, им интересно создать свой проект и довести его до стартапа. При создании своих разработок они активно используют свободные компоненты, а готовые продукты распространяют на условиях свободных лицензий.
Яркий пример — платформа ShariX с открытым исходным кодом для шеринговых сервисов. Александра Панюкова, педагог Московского колледжа предпринимательства № 11, сообщила, что эта совместная разработка студентов и педагогов уже выросла в стартап. Участники проекта создали компанию «ШЭРИКС», чтобы развивать свое детище и продвигать на рынок.
Другой проект, который стоит на пороге стартапа, — система анализа геопространственных данных, созданная студентами НИУ ВШЭ. Система работает под управлением операционной системы «Альт», в проекте задействовано прикладное ПО для 3D-моделирования из дистрибутива этой российской ОС. Авторы надеются заинтересовать своей разработкой предприятия, которые переходят на интеллектуальное горное производство. О работе над проектом рассказали студенты НИУ ВШЭ Леонид Чашкин и Оксана Батонова.
Опытом использования СПО при подготовке учителей математики и информатики в Кубанском государственном университете поделился Станислав Гончаров, магистрант КубГУ. Он представил библиотеку решения инженерных задач, которую студенты создали на основе свободных библиотек интервальных вычислений. Эту библиотеку вуз использует при подготовке бакалавров направления «Математика и компьютерные науки».
О разработке студентов МИРЭА рассказал магистрант Вячеслав Корепанов. Они создали интерпретатор, который позволяет защитить исходные коды программы. Исполнить такую программу может только обладатель ключа алгоритма шифрования или обфускации кода. А студенты МИЭМ НИУ ВШЭ применили язык protobuf для эффективного взаимодействия с протоколом GRPC и поддержки чистого API. Магистрант Ростислав Шаниязов рассказал, как участники проекта используют протокол GRPC и язык protobuf для обеспечения жёсткого контракта взаимодействия между сервисами.
Желание создать полезное ПО — это традиция, которую студенты перенимают у своих педагогов. Виктор Яковлев, заведующий кафедрой «Алгоритмы и технологии программирования», показал разработку преподавателей МФТИ — тестирующую систему yajudge для автоматизации проверки задач по программированию. Она стала рабочим инструментом педагогов вуза. А чтобы научить студентов разрабатывать операционные системы, педагоги МФТИ разработали HellOS — тренировочную ОС. Преподаватели ставят перед студентами задачи по развитию этой ОС в рамках мини-проектов, за последний год они реализовали новую функциональность: поддержку
Надо отметить, что вузы не только разрабатывают программные продукты для собственных нужд, но и используют российское ПО. Евгений Ковалев, заместитель директора института математики и информатики МПГУ, поделился опытом внедрения ОС "Альт Образование«в учебные программы вуза. Педагоги кафедры прикладной информатики и вычислительной математики совместно с сотрудниками «Базальт СПО» учат студентов цифровизировать образовательную среду на основе СПО. А Владимир Старых, профессор департамента компьютерной инженерии МИЭМ НИУ ВШЭ, на примере российских операционных систем «Альт» показал, как университет внедряет свободное ПО в инженерные образовательные программы.
Равнение на старших: российское системное ПО
Мечта каждого стартапа — сделать продукт, востребованный рынком. Есть проекты, которым это удалось: они выросли из студенческих разработок в масштабный бизнес. Например, проект создания ОС реального времени Embox для встроенных систем. Его руководитель Антон Бондарев рассказал о создании устройств интернета вещей на базе ОС Embox и открытых реализаций протокола MQTT. Embox поддерживает процессорную архитектуру «Эльбрус», в ближайших планах — запустить ОС на других аппаратных платформах на микроконтроллерах.
Вообще, сегмент российских операционных систем сегодня один из самых динамично развивающихся. Разработчики мобильной ОС «Аврора» наращивают не только ее функциональность, но и экосистему приложений. Кирилл Чувилин, руководитель отдела развития и поддержки разработчиков, рассказал, как компания обеспечивает необходимым исходным кодом компании, которые создают прикладное ПО для ОС «Аврора».
Российская компания Postgres Professional, которая развивает СУБД PostgreSQL, активно участвует в образовательных проектах. Иван Панченко, заместитель генерального директора, рассказал, что компания бесплатно распространяет учебные материалы, разработала два учебных курса, по которым идет преподавание в МГУ им. М.В. Ломоносова, НИУ ВШЭ и МАИ, а также шесть курсов повышения квалификации.
Свободные программные продукты состоят из множества компонентов, которые развивают отдельные международные проекты. Эти компоненты «разлетаются» по независимым открытым пакетным репозиториям, на основе которых компании создают программные продукты. Таких репозиториев в мире сегодня насчитывается несколько сотен, и все они развиваются изолированно друг от друга. Между тем, разработчикам было бы очень полезно иметь возможность сравнивать конфигурации пакетов в разных репозиториях. Эту возможность обеспечивает проект Repology. Его участник Дмитрий Маракасов показал, как система ведет мониторинг более 350 пакетных репозиториев: выявляет новые релизы, способствует координации работы специалистов, ответственных за развитие пакетов, а также авторов ПО, находит уязвимые пакеты и пакеты, требующие обновления.
«Мастерская» СПО
Два дня конференции были полностью посвящены вопросам разработки свободного ПО. Вернее, не столько вопросам, сколько ответам: участники разных проектов рассказали, как они решили те или иные задачи в интересах разработчиков программных продуктов и конечных пользователей. Николай Шмырёв из компании «АЦ Технологии» рассказал о перспективах развития открытых проектов в области машинного обучения. Компания развивает библиотеку для распознавания речи Vosk, которую можно использовать при создании систем машинного обучения. Библиотека уже поддерживает более 20 языков и диалектов, работает без доступа к сети на серверах и мобильных устройствах, поддерживает Raspberry Pi, Android, iOS. Александр Епифанов, соучредитель и исполнительный директор компании «Тау Технологии», представил открытый фреймворк RhoMobile, который помогает создавать переносимые приложения для большинства актуальных мобильных и настольных платформ на языках Ruby и JavaScript. В списке целевых платформ фреймворка — наиболее популярные отечественные и зарубежные операционные системы: «Альт», Astra Linux, ROSA, RED OS, Windows iOS, Android, WinCE, Sailfish/Аврора. Ростислав Шаниязов (МИЭМ НИУ ВШЭ) поделился о опытом использования языка protobuf для эффективного взаимодействия с протоколом GRPC, чтобы поддерживать чистый API. Результат этой работы — решение задачи описания жёсткого контракта взаимодействия между сервисами. Георгий Курячий и Данила Загайнов (ВМК МГУ) рассказали о работе по преодолению python3-зависимостей в пакетах в российском репозитории «Сизиф».
Алексей Максимов, руководитель проектов ЦПР РТСофт, отметил, что многие компоненты с исходным кодом могут содержать уязвимости. Он предложил создавать доверенные зеркала репозиториев, в которых будут отслеживаться любые изменения в дереве коммитов. Задачу обеспечения безопасности свободного ПО успешно решают в компании «Базальт СПО». Вера Благовещенская, старший инженер по тестированию, рассказала о системе тестирования приложений в ОС «Альт». Эта работа начинается уже со стадии анализа требований и продолжится в ходе разработки программного продукта. Инженеры компании применяют разные виды тестирования: функциональное (системное, модульное, связанное с изменениями), нефункциональное (тестирование документации, тестирование Usability) и связанное с изменениями (регрессионное, smoke). Автоматическими тестами охвачено 300 программных пакетов. На развитие этого направления «Базальт СПО» получил грант Российского фонда развития информационных технологий (РФРИТ).
Общее мнение участников конференции выразил Алексей Новодворский, советник генерального директора «Базальт СПО». Он подчеркнул, что сегодня разработчикам ПО надо сделать ставку на копилефтные лицензии, которые защищают код от закрытия. Разработчики и пользователи не должны терять доступ к коду из-за коммерческих или политических коллизий.