Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024)
- Докладчик
- Михаил Шигорин
Патчи, или правки исходных текстов для собираемости и работоспособности на платформе «Эльбрус», успели обрасти целым рядом мифов, будучи под неразглашением. Поскольку летом 2024 года большая часть патчей была опубликована, разберём обстановку — и мифы.
Содержание
Видео
Презентация
Thesis
До 2014
Не погружаясь в историю семидесятых годов прошлого века и далее, начнём с века нынешнего. К его началу в МЦСТ применяли Sun Solaris, а эксперименты с Linux пошли в ранних нулевых — соответственно часть образовавшейся культуры явно идёт ещё от Sun с её смесью жёсткой проприетарности и более поздней поддержкой СПО. Практика работы с МО РФ также способствовала укоренению принципа «как бы чего не вышло», существенно препятствующего инициативной публикации несекретных наработок.
При этом минимальный патч на binutils был предложен в апстрим ещё в 2008 году.
2014—2024
С 2014 года наработки МЦСТ стали в принципе доступны на «гражданке», но лишь организациям: купить оборудование могли только юридические лица, а для получения документации и исходных текстов требовалось подписание соглашения о неразглашении. При этом стоит отметить, что с поставляемыми вычислительными комплексами «Эльбрус» в комплекте предоставлялись и ОС «Эльбрус» с компилятором lcc — для их получения, вопреки одному из мифов, подписание NDA не требовалось.
В это время патчи из МЦСТ стали попадать в более широкий круг апстримов: cmake, meson, flashrom, zstd... Но основной массив правок оставался закрытым — стоит заметить, что за информацией по e2k и впрямь охотились на Западе; так, осенью 2019 года на IRC-канале \#altlinux прозвучали невинные вопросы насчёт реверс-инжиниринга бинарника для e2k в рамках соревнований CTF с упоминанием имеющегося кроссового тулчейна.
При этом в мае 2021 года было опубликовано Руководство по эффективному программированию на платформе «Эльбрус»[1], частично документирующее систему команд.
В 2022 году произошёл ряд утечек исходного кода через нерадивых партнёров МЦСТ, одна из которых документирует систему команд полностью.
2024
3 июля 2024 года произошло событие, которому и посвящён этот доклад: компания МЦСТ объявила о состоявшейся публикации исходных текстов e2k-портов ядра Linux и системной библиотеки glibc, а также массива патчей для прикладных программ и библиотек — и запуске сайта Разработка на платформе Эльбрус[2].
Заметного влияния на сообщество это событие оказать ещё не успело, поскольку у партнёров исходные тексты и так в наличии, у сообщества — утечки; необходимо дальнейшее формирование инфраструктуры обмена текущими наработками.
Нужное
В дальнейшем, как упоминалось на этой конференции в 2023 году, потребуется отход от сложившейся практики, включая архивы вместо гитов и форки вместо соучастия — и переход к известной обкатанной технической инфраструктуре[3]:
- репозитории разработки кода (git);
- чат для быстрых обсуждений (telegram);
- почтовые рассылки для обсуждения по существу (mailman);
- отслеживание конкретных ошибок (bugzilla);
- накопление и систематизация опыта (wiki).
для уменьшения затрат времени и сил на постоянно идущий процесс обмена исходными текстами при разработке силами МЦСТ и партнёров, а также дальнейшего развития и более широкого вовлечения сообщества энтузиастов в деятельность по переносу, оптимизации, обновлению, исправлению и созданию программ.
Примечания и ссылки
- ↑ Руководство по эффективному программированию на платформе «Эльбрус» [1]
- ↑ Разработка на платформе Эльбрус [2]
- ↑ Создание Свободного Програмного Обеспечения [3]
- Открытие исходных текстов ПО для платформы Эльбрус
- Wiki ALT Linux о МЦСТ
- Эльбрус Бабаяна и Pentium Пентковского
- Официальный сайт МЦСТ
- Официальный сайт ИНЭУМ
- Официальный сайт Новосибирского центра информационных технологий УНИПРО
- Исходные коды Эльбруса
- Патчи Ильи Курдюкова для e2k
- Проекты Леонида Юрьева
- Проект lccrt
- Скрестим вилки, доклад Михаила Шигорина, на Application Developers Days 2011