LINUX.ORG.RU
ФорумTalks

Интервью с Романом Аляутдиным, директором департамента разработки компании ОМП. Прописные истины вещает, но, мож, кто не знал...

 , , , ,


0

3

Сабж

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

Э.М. Сколько в мире системных программистов, которые пишут что-то для ядра Linux? Думаю, что в представлении многих людей это десятки тысяч человек.

Р.А. Сложно оценить общее число, например, каждый год в ядре Linux активно участвует примерно тысяча человек — это те, чей вклад виден. БольшАя часть движения open source сегодня оплачивается компаниями, системы стали настолько сложны и велики, что даже крупные корпорации не могут в одиночку потянуть разработку компонентов, которые в итоге не дают для них какой-то уникальности, но необходимы для их продуктов. Ядра операционных систем, библиотеки, компиляторы, фреймворки — это настолько крупная разработка, что легче сложить все в общий котел и делать вместе.

Э.М. Правильно ли будет считать, что со стороны больших корпораций, таких как Apple, Microsoft и других, нет никакого альтруизма, они вкладываются в Linux, потому что это необходимость для них? Это так?

Р.А. В целом, можно сказать, что в open source движении значительную долю имеют энтузиасты. Но не меньшую долю имеют, а в некоторых проектах даже полностью берут на себя эту роль крупные компании, большой бизнес. По тем или иным причинам, связанным с их монетизацией, разделением затрат на компоненты, они хотят это делать открыто. В качестве примера можно привести ядро Linux, это уникальный и большой проект. В нем доли и права участников распределились так, что нет одного доминирующего игрока. Да, у Intel много людей, ответственных за определенные куски ядра. Есть Google, которая также делает вклад в ядро. Но даже уход одной крупной компании не приводит к коллапсу разработки, доли так порезаны, что разработка действительно идет всем миром. И если какой-то разработчик выбивается из общих норм, то его всегда можно заменить, никакой катастрофы не случится.

Можно посмотреть публичный ежегодный отчет Linux Foundation о том, кто разрабатывает Linux, вы найдете в нем множество крупных компаний. В последние годы очень сильно увеличила свой вклад Huawei, то же самое можно сказать про Microsoft, для которой доработки ядра, вероятно, связаны с их облачным бизнесом.

Большое количество участников гарантируют стабильность проекта и его развитие. Но существуют и другие проекты, когда по каким-то определённым причинам компании открывают свой код, но при этом фактически не отдают разработку сообществу, не говорят и не обсуждают, в каком направлении проект будет развиваться, какие решения и почему будут приняты. Сформулирован принцип четырех открытостей — открытая разработка, открытый код, открытое сообщество и открытое принятие технических решений. Если проект нарушает этот принцип, то, по моему мнению, это квазиоткрытый проект.

Э.М. Примеры таких проектов?

Р.А. Например, это Android AOSP, Google Chromium. Огромные проекты, в которых архитектурные решения, принципы того, куда все это движется, не раскрываются. Все делается в закромах Google. Инженеры компании могут принять те или иные исправления ошибок в «открытый» проект, как правило, незначительные. Серьезных изменений в проект AOSP от вас никто не ждет. Если посмотреть на изменения кода AOSP за год, то вы увидите, что 90% исправлений приходит от инженеров Google, оставшиеся десять процентов — от инженеров производителей процессоров. AOSP — это пример крупного open source проекта, который по факту таковым не является. Если почитать документацию Google, то компания открыто говорит: мы открываем исходный код текущей версии Android для того, чтобы производители железа знакомились с ОС, адаптировали свои решения под нее [1]. В рамках этого проекта Google решает сугубо свои проблемы. Очевидная сложность состоит в том, как портировать свою ОС на разношерстные устройства разных производителей. Более того, у устройств разный жизненный цикл, разные ценности для целевых рынков.

Поэтому в Google решили сделать Android квазиоткрытым проектом, переложив на вендоров железа (Sony, Motorola, HTC и т.д.) стоимость портирования и сопровождения операционной системы на конкретном устройстве. А сами просто сосредоточились на выпуске новых версий этой ОС, новом функционале, а также на разработке Android SDK, который является вообще закрытым.

Э.М. Мы говорим о первоначальном Android, который потом разделился на AOSP и GMS-версию, так?

Р.А. GMS появился и как один из сдерживающих факторов от форков AOSP, и как инструмент превращения AOSP на смартфоне в Android на смартфоне.

Однако со временем в подходе по передаче жизненного цикла ОС на устройстве на сторону производителей оборудования проявились объективные проблемы. Вендоры, портируя операционную систему, стали залезать ей под капот, трогать священную корову. Делали они это по объективным причинам: что-то не работало именно с их оборудованием, что-то требовало улучшений уже в этой версии ОС. При этом пользовательский опыт на Android становился не единым, он различался от производителя к производителю, часто создавалось впечатление «глючного» Android, а не глючного Sony.

Чтобы ограничить вендоров в рукоприкладстве к потрохам Android, случился проект Treble [2]. Это была большая структурная переработка начиная с Android 8, которая на уровне архитектуры отделяла аппаратно-зависимые компоненты, которые должен обеспечивать вендор оборудования, от остального Android, куда вендор залезать уже не должен. Больше чем за четыре года инженеры Google провели эту работу и теперь идут дальше — проект GKI [3]

Так исторически повелось, что ARM-процессоры (системы-на-кристалле) сильно различаются, поэтому разработчики всегда выпускают порт ядра Linux под свой конкретный чип. Этот порт становится основой ОС Android на этом устройстве. Сегодня Google говорит, что вендоры плохо следят за поддержкой ядра, за безопасностью, не исправляют уязвимости — давайте мы сделаем так, что ядро будет от нас, проверенное, будет прямо из GMS обновляться. Это чрезвычайно трудная инженерная задача в силу разницы чипов, именно поэтому на заре Android эту сложность переложили на производителей. В случае успеха проекта GKI и ряда других инициатив это обозначит путь постепенного закрытия системы Android, дистрибуции под разное железо из одной точки. Проект AOSP как кодовая база для производителей железа больше не будет нужен.

У Google был этап разбрасывания семян, когда они подсадили производителей, всю мобильную электронную промышленность на свою «открытую» ОС. Теперь они начинают собирать урожай: делают конкретные инженерные шаги для закрытия. Если в Google придумали это изначально, то это было гениальное решение по захвату рынка. Но если даже по ходу пьесы додумали, то все равно выглядит сильно.

Э.М. Взгляд со стороны. AOSP все больше отстает от GMS-версии Android, из этого «открытого» Android выкидывают приложения, пытаются остановить развитие той же Huawei, которая использует AOSP для своих разработок. Сейчас GMS Android имеет версию 13, в AOSP это 11-я версия. Получается, что у нас останется только ядро в AOSP?

Р.А. Даже не ядро, останутся только интерфейсы для производителей оборудования. Это будет сделано по аналогии с тем, как когда-то придумали в Microsoft для портирования Windows на разное железо, однако там задача была попроще, архитектура х86 и периферия намного более стандартизированы. В Google решают более сложную задачу — как портировать Android на все разнообразные ARM-процессоры и при этом не отдавать ядро производителям оборудования.

Э.М. Системными программистами не рождаются, ими как-то становятся. На YouTube точно нет курсов, как стать таким программистом. Я вижу два пути — попасть в такую компанию, как ОМП, либо вас учат на системного программиста в вузе. Часто в вузах учат плохо, так как там преподают теоретики, люди, не знающие реальную разработку. Как разорвать этот круг? Где вы берете людей?

Р.А. Отличный вопрос. Отмечу, что системных программистов не только в нашей стране, но и в мире не очень много, их нужно растить и создавать инженерные школы.

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

Личный пример: в начале 10-х годов я работал в компании, которая разрабатывала драйверы для Intel, и у меня был их новый процессор, который еще не вышел на рынок. Ко мне этот чип пришел в виде пластины, которую нужно было прикручивать винтами к плате, — эта эксклюзивность мне очень нравилась.

Часто люди начинают интересоваться электроникой и низкоуровневым программированием в институте. Уже работая, я понял, что мне этой любовью к железу и программированию хочется делиться с молодыми ребятами. Поэтому обрадовался, когда возникла возможность пойти в Московский авиационный институт на свою кафедру преподавать разработку драйверов и курс операционных систем. Почти девять лет читал лекции по субботам. Конечно, тяжело, так как нужна определенная энергия, чтобы после полноценной рабочей недели программистом у тебя оставалось еще достаточно драйва, чтобы суметь заинтересовать ребят тем, чем ты занимаешься. Прошлым летом прекратил преподавать, так как уже совсем не стало хватать времени.

Но мои коллеги по ОМП читают лекции, ведут курсы в разных учебных заведениях. Например, в Иннополисе у нас курс системного программирования. Сейчас мы хотим его масштабировать на другие вузы, потому что создан хороший материал, отличные лабораторные работы. Есть вузы, где электронику и низкоуровневую разработку читают хорошо, там мы могли бы дополнить своим курсом практические знания. Чтобы в лабораторных работах у ребят было больше возможностей поработать с настоящим железом. Также мы успешно взаимодействуем с Финансовым Университетом, где уже функционирует наша лаборатория, а студенты проходят летнюю практику в нашей компании по направлению продуктовой аналитики.

Э.М. Когда приезжаешь на фабрику, которая производит микроэлектронику, во время отладки техпроцесса до 95% уходит в брак. А сколько ребят остается в системном программировании после вуза?

Р.А. В МАИ у меня на потоке было примерно 80-100 человек, это большой поток. Из тех, кого я знаю, человек десять перешли в системное программирование или близко к нему. Остальные ушли работать в другие сферы. Очень многие шли работать по специальности. Получается, что не более 10%.

Э.М. Связано ли это с отсутствием рабочих мест? Или причина в сложности самой задачи?

Р.А. Большой барьер входа. И эта конверсия достигалась с учетом того, что фактически из ведущей российской компании приходил человек с инженерным опытом и рассказывал, как устроена разработка изнутри. В других местах, боюсь, процент был ниже.

Я рад, что многие студенты, с которыми я работал, сейчас очень сильные специалисты, некоторые работают даже в ASML, голландской компании, лидирующей в области производства станков для микроэлектроники. Жалко, что они уехали из страны, но это демонстрирует востребованность системных программистов на международном рынке. Ничуть не считаю, что они там работают благодаря мне, но хочется надеяться, что смог поделиться с ними своей любовью к разработке.

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

Э.М. У нас в России системное программирование, кажется, востребовано во всех сферах, мы поэтапно пытаемся заместить с двух сторон — на уровне чипов, то есть снизу, и сверху, на уровне фреймворков, так как с уровнем приложений и сервисов у нас все уже хорошо. Получается, что мы создаем движение навстречу снизу и сверху.

Р.А. Да. На примере «Авроры» видно, что мы по центру, связующее звено между электроникой и прикладным софтом, и это очень мотивирует. На нашей площадке идет общение между электронщиками и прикладными программистами, создающими пользовательское ПО.

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

Р.А. Как закалялась сталь. Конечно, поначалу будет не хватать специалистов, которые смогут этим заниматься. Это создаст востребованность в таких людях на рынке и большую заинтересованность среди молодежи. Однако, студент, который только что закончил вуз, не решит эти задачи. Так что это большой технически-организационный вызов — создать в российских центрах разработки боевые команды, которые возьмут на себя задачу портирования операционных систем, в широком смысле слова будут специалистами по встраиваемым системам. И самое интересное, что и специалисты, и компании смогут использовать эту экспертизу в других сферах в будущем.

★★★★★

Сейчас GMS Android имеет версию 13, в AOSP это 11-я версия.

щито он несёт

https://android-developers.googleblog.com/2022/08/android-13-is-in-aosp.html

Кстати, Treble сейчас активно используется всякими кастомными сборщиками. LineageOS в GSI, например, уже есть и даже работает. Весьма классная тема, потому что не надо искать сборку под конкретно твой девайс. Если девайс умеет Treble, то просто качаешь GSI под нужную платформу (arm64, arm, etc), шьёшь и всё.

Но так-то да, ведроед – срань, гной и червиё.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

Да они оба дичь несут. Например,

Э.М. Сегодня появляются сторонние разработчики железа под «Аврору», российские компании. Они должны взять на себя портирование «Авроры» под то железо, что они делают.

Это что за российское железо? На чьих мощностях? TSMC?

tiinn ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Apple – это чьё железо?

хозяина айфона

vaddd ★☆
()
Ответ на: комментарий от quickquest

российское что-угодно это всегда истории как собрались гарны хлопцы на деревне, истребили канистру спирта, побили городских («руки-молоты») и утопили мирный трактор. У меня стойкое ощущение, что все тексты таких интервью пишет Витя Пелевин.

Syncro ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)