Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024) — различия между версиями

Материал из 0x1.tv

(Новая страница: «;{{SpeakerInfo}}: {{Speaker|Михаил Шигорин}} <blockquote> </blockquote> {{VideoSection}} {{vimeoembed||800|450}} {{youtubelink|}} {{SlidesSection}…»)
 
 
(не показана одна промежуточная версия этого же участника)
;{{SpeakerInfo}}: {{Speaker|Михаил Шигорин}}
<blockquote>
Патчи, или правки исходных текстов для собираемости и работоспособности на платформе «Эльбрус», успели обрасти целым рядом мифов, будучи под неразглашением.  Поскольку летом 2024 года 
большая часть патчей была опубликована, разберём обстановку  и мифы.
</blockquote>

{{VideoSection}}

{{vimeoembed|1022635201|800|450}}
{{youtubelink|}}

{{SlidesSection}}
[[File:Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf|left|page=-|300px]]

{{----}}

== Thesis ==
=== До 2014 ===
Не погружаясь в историю семидесятых годов прошлого века и далее, начнём с века нынешнего.  
К его началу в МЦСТ применяли Sun Solaris, а эксперименты с Linux пошли в ранних нулевых   соответственно часть образовавшейся культуры явно идёт ещё от Sun с её смесью жёсткой проприетарности 
и более поздней поддержкой СПО.  Практика работы с МО РФ также способствовала укоренению принципа  «как бы чего не вышло», существенно препятствующего инициативной публикации несекретных наработок.

При этом минимальный патч на binutils был предложен в апстрим ещё в 2008 году.

=== 2014—2024 ===
С 2014 года наработки МЦСТ стали в принципе доступны на «гражданке», но лишь организациям: купить 
оборудование могли только юридические лица, а для получения документации и исходных текстов требовалось 
подписание соглашения о неразглашении.  При этом стоит отметить, что с поставляемыми вычислительными 
комплексами «Эльбрус» в комплекте предоставлялись и ОС «Эльбрус» с компилятором lcc  для их 
получения, вопреки одному из мифов, подписание NDA не требовалось.

В это время патчи из МЦСТ стали попадать в более широкий круг апстримов: cmake, meson, flashrom, zstd...  
Но основной массив правок оставался закрытым  стоит заметить, что за информацией по e2k и впрямь 
охотились на Западе; так, осенью 2019 года на IRC-канале \#altlinux прозвучали невинные вопросы насчёт 
реверс-инжиниринга бинарника для e2k в рамках соревнований CTF с упоминанием имеющегося кроссового тулчейна.

При этом в мае 2021 года было опубликовано Руководство по эффективному программированию на 
платформе «Эльбрус»<ref name="elbrus_prog">Руководство по эффективному программированию на платформе «Эльбрус» [http://mcst.ru/elbrus_prog]</ref>, частично документирующее систему команд.

В 2022 году произошёл ряд утечек исходного кода через нерадивых партнёров МЦСТ, одна из которых 
документирует систему команд полностью.

=== 2024 ===
3 июля 2024 года произошло событие, которому и посвящён этот доклад: компания МЦСТ объявила о 
состоявшейся публикации исходных текстов e2k-портов ядра Linux и системной библиотеки glibc, 
а также массива патчей для прикладных программ и библиотек  и запуске сайта Разработка на платформе Эльбрус<ref name="devmcst">Разработка на платформе Эльбрус [http://dev.mcst.ru/]</ref>.

Заметного влияния на сообщество это событие оказать ещё не успело, поскольку у партнёров 
исходные тексты и так в наличии, у сообщества  утечки; необходимо дальнейшее формирование 
инфраструктуры обмена текущими наработками.

=== Нужное ===
В дальнейшем, как упоминалось на этой конференции в 2023 году, потребуется отход от 
сложившейся практики, включая архивы вместо гитов и форки вместо соучастия  и переход 
к известной обкатанной технической инфраструктуре<ref name="producingoss">Создание Свободного Програмного Обеспечения [http://producingoss.com/ru/technical-infrastructure.html]</ref>:
#    репозитории разработки кода (git);
#    чат для быстрых обсуждений (telegram);
#    почтовые рассылки для обсуждения по существу (mailman);
#    отслеживание конкретных ошибок (bugzilla);
#    накопление и систематизация опыта (wiki).

для уменьшения затрат времени и сил на постоянно идущий процесс обмена исходными 
текстами при разработке силами МЦСТ и партнёров, а также дальнейшего развития и 
более широкого вовлечения сообщества энтузиастов в деятельность по переносу, 
оптимизации, обновлению, исправлению и созданию программ.

{{----}}
[[File:{{#setmainimage:Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>

* [http://mcst.ru/open-sourcing Открытие исходных текстов ПО для платформы Эльбрус]
* [http://altlinux.org/Эльбрус/upstream#МЦСТ Wiki ALT Linux о МЦСТ]
* [http://ixbt.com/cpu/e2k-spec.html Эльбрус Бабаяна и Pentium Пентковского]
* [http://mcst.ru Официальный сайт МЦСТ]
* [http://ineum.ru Официальный сайт ИНЭУМ]
* [http://unipro.ru Официальный сайт Новосибирского центра информационных технологий УНИПРО]
* [http://git.mentality.rip/OpenE2K Исходные коды Эльбруса]
* [http://github.com/ilyakurdyukov/e2k-ports Патчи Ильи Курдюкова для e2k]
* [http://gitflic.ru/user/erthink Проекты Леонида Юрьева]
* [http://gitflic.ru/project/e2khome/lccrt Проект lccrt]
* [http://0x1.tv/2a9-lets-cross-forks-shigorin Скрестим вилки, доклад Михаила Шигорина, на Application Developers Days 2011]

[[Категория:OSSDEVCONF-2024]]
[[Категория:Open-source projects]]
[[Категория:Draft]]

Текущая версия на 19:39, 23 октября 2024

Докладчик
Михаил Шигорин.jpg
Михаил Шигорин

Патчи, или правки исходных текстов для собираемости и работоспособности на платформе «Эльбрус», успели обрасти целым рядом мифов, будучи под неразглашением. Поскольку летом 2024 года большая часть патчей была опубликована, разберём обстановку — и мифы.

Видео

Презентация

Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024).pdf

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]:

  1. репозитории разработки кода (git);
  2. чат для быстрых обсуждений (telegram);
  3. почтовые рассылки для обсуждения по существу (mailman);
  4. отслеживание конкретных ошибок (bugzilla);
  5. накопление и систематизация опыта (wiki).

для уменьшения затрат времени и сил на постоянно идущий процесс обмена исходными текстами при разработке силами МЦСТ и партнёров, а также дальнейшего развития и более широкого вовлечения сообщества энтузиастов в деятельность по переносу, оптимизации, обновлению, исправлению и созданию программ.

Патчи для Эльбруса (Михаил Шигорин, OSSDEVCONF-2024)!.jpg

Примечания и ссылки

  1. Руководство по эффективному программированию на платформе «Эльбрус» [1]
  2. Разработка на платформе Эльбрус [2]
  3. Создание Свободного Програмного Обеспечения [3]