Хабрахабр

Интервью с Леннартом Поттерингом на Linux Piter об изменениях в Linux, про systemd и о том, зачем посещать конференции

Леннарт Поттеринг – одна из легенд Linux-сообщества. Начиная с 90-х годов он работает над ядром операционной системы Linux. Леннарт запустил такие проекты, как PulseAudio, Avahi, kdbus, systemd и стал их главной движущей силой. В настоящее время работает в компании Red Hat в Германии. В прошлом году Леннарт приезжал на конференцию Linux Piter 2017 с докладом и сегодня, в преддверии Linux Piter 2018, мы публикуем интервью с этим именитым open source-разработчиком, в котором он рассказывает, зачем понадобился systemd, как менялась и меняется архитектура Linux, как лично он реагирует на многочисленную критику в свой адрес, зачем нужно посещать конференции, и что лично ему дают такие мероприятия, как, например, Linux Piter.


Интервью у Леннарта Поттеринга берет член программного комитета конференции Linux Piter, ведущий программист DELL EMC, активный член Питерского Linux-сообщества Василий Толстой.

— Леннарт, сегодня ты выступал с докладом на конференции Linux Piter, расскажи очень коротко, о чем был твой доклад.

Есть разные точки зрения на то, что же это такое, но есть несколько концепций, которые интересны не только для конкретных современных технологий контейнеров. — Пожалуй, “контейнеры” — это одно из самых модных словечек в мире Linux. Ведь до сих пор классические системы управления используются куда шире, чем контейнеры. Основная мысль моего доклада заключается в том, чтобы взять некоторые идеи, лежащие в основе современных контейнеров, например, изоляцию процессов и сборку ресурсов в пакеты, и использовать их в классическом управлении сервисами операционной системы. В общем, доклад был об этом; кроме того, я в нём вдавался в детали, как именно мы можем изолировать процессы, какие пакеты ресурсов можно использовать, насчёт systemd, и как это соотносится с тем, как docker и другие контейнерные системы поддерживают такую функциональность.

Доклад Леннарта Поттеринга на Linux Piter 2017 (оригинальная версия на английском):

Тот же доклад с синхронным переводом на русский язык

Что, по-твоему, интересного в мире Linux произошло за последний год?

— В целом, я думаю, LINUX сейчас настолько стабильный продукт, что уже не делает больших скачков вперед, а только лишь улучшаются существующие в нем механизмы. — Вопрос для размышления. Например, docker и подобные вещи, которые заметно изменили всё, что вообще делается в IT, им уже около трёх лет. Конкретно в LINUX ничего радикального не произошло. Во всяком случае базовые компоненты, из которых состоит экосистема, отчётливо стабилизировались, и постепенно двигаются к лучшему. Мне нравится, что сегодня в Linux идет постоянное и устойчивое улучшение. Это, на мой взгляд, признак зрелости и профессионализма, и это, пожалуй, хорошо.

— А какие технологии сейчас находятся на волне популярности, если такие есть?

Мне всегда нравилось, как разные модные словечки в отрасли заставляют всех «электризоваться» на какое-то время, а затем исчезают. — Я думаю, что это автоматизация, искусственный интеллект. И потом таким стало IOT, и пока никто толком не знает, что это на самом деле такое и чем отличается от обычных встроенных систем. Например, «контейнеры» — на самом деле это волшебное слово уже трехлетней давности, но оно по-прежнему популярно. Даже Linux Foundation сейчас создает проект по искусственному интеллекту. Думаю, в этом году тренд — это искусственный интеллект. При этом я не очень внимательно слежу за этой темой, хотя и наблюдаю со стороны. Я думаю, что это и есть та самая «волна», которую сейчас хотят поймать крупные компании.

Какие у тебя мысли по этому поводу? — Сообщество Linux и его ключевые фигуры становятся старше. Вообще, я считаю, что когда появился Linux, в 90-х, это, безусловно, была революция сразу во многих областях. Имеет ли это последствия?

— Конечно, имеет. Да и сами разработчики, как правило, ищут стабильности в жизни, чтобы спокойно вести свой проект. Теперь этот этап завершился, и каждый проект развивается во вполне определенном направлении. Но, я думаю, дурной знак, это когда люди зацикливаются на той манере думать, к которой они привыкли ещё в 90-х. Я не знаю, хорошо это или нет. Застрянет ли моя голова и мысли в прошлом 10-летней давности? Я смотрю на это и мне интересно, как буду думать я через 10 лет? Я вижу, что одни разработчики Linux справляются с этим лучше, чем другие. Или мне действительно удастся идти в ногу со временем и вовремя понять, что, вещи, которые я знал раньше, больше не имеют отношения к современному миру IT?

Мы убрали много старых концепций, которые были закреплены в Unix на прямо-таки религиозном уровне. Например, когда мы делали systemd, было много шума. Многие старые штуки в Unix были недостаточно хорошо продуманы с самого начала, нам нужно было что-то более современное и динамичное.

Сейчас вы подключаете какое-то оборудование, что-то происходит, и оно становится доступным. Мы вели большую войну, даже на простом уровне управления устройствами Linux. В лучшем случае надо было выключить компьютер, переткнуть провода, воткнуть что-то, запустить, и вот тогда в системе что-то поменялось бы, но уж точно никакого hot plug не было и в помине. UNIX был разработан не так.

Старики всегда говорят: «Старые схемы намного проще». Это был большой шаг вперед и настоящий бой — протащить этот подход через все слои системы и дать этому проекту жизнь. Может быть, и я однажды стану тем, кто говорит: «Нет, все эти новые штуки никуда не годятся», но я надеюсь, что такого не произойдет. Конечно, они проще, но уже не актуальны.

Думаю, что в целом большинство проектов Linux достаточно стабильны, чтобы развиваться дальше, даже если их основные разработчики уйдут. Между “новым” и “старым” всегда происходит конфликт. Взять ядро: если в какой-то момент Линус решит, что всё, что его теперь интересует — это нырять с маской и разглядывать рыбок, то этого почти никто не заметит, а с ядром ничего не случится.

Но если так не случилось, то это, скорее всего, значит, что проект не был на самом деле таким уж стабильным, популярным и востребованным, как все думали. В конце концов, есть что-то прекрасное в самой идее “открытого программного обеспечения”: ответственность здесь лежит на плечах такого множества людей, что если кто-то один уйдёт, то кто-то другой непременно займёт его место и подставит своё плечо. Это заставляет верить в то, что стоящие проекты выживут в любом случае. Я думаю, что это большое преимущество ПО с открытым исходным кодом — за ним нет единственной компании, которая владеет всем, и, когда компания или человек по каким-либо причинам покинут проект, всё хорошее все же останется вместе с проектом.

— Должны ли мы, как сообщество вокруг Linux, осознанно прилагать усилия, чтобы привлекать новых людей в open source проекты?

Если вы поддерживаете такой большой продукт, как наш, самое сложное — привлекать разработчиков и мотивировать их оставаться. — Бесспорно. Несколько раз нам это удавалось. Честно, я не знаю, как это сделать. А вот взять таких разработчиков и сделать так, чтобы они стали постоянными участниками проекта, стали сопровождать проект, и, в конце концов стали теми, кто делает ревью кода других разработчиков — это действительно очень сложно. Есть очень много людей которые отправляют нам патчи, мы делаем ревью их кода, “мержим”. Повторюсь, я пока не очень понимаю, как это сделать.

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

Например, я считаю, что сообщество ядра Linux обладает репутацией не самого дружелюбного сообщества, а с другой стороны, они очень успешны и у них получается делать что-то новое. Я не имею понятия, как построить действительно дружественное коммьюнити. Тут, очевидно, есть некоторое противоречие.

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

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

Все знают, сколько споров и противоречий она вызвала. — Леннарт, расскажи, пожалуйста, какова причина или причины такого успеха systemd?

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

Если же ты не такой, то у тебя есть проблема. Честно говоря, я считаю, что если тебе повезло родиться “толстокожим”, то у тебя блестящее будущее в open source. И я абсолютно горд собою, что нам удалось пробиться, а другим нет. Мне кажется это основная причина.

С документацией никогда не бывает так, чтобы она была написана достаточно хорошо. Другая причина, наверное, это документация. Всё, ну или почти всё, что мы сделали, мы документировали с самого начала… Я встречаю много технически совершенных проектов, где документации очевидно недостаточно. Но люди говорят, что у systemd она неплохая. Поэтому иногда сложно даже обсуждать с разработчиками их детище.

Я хочу сказать, что, приходя на конференции, мы хотели бы получать обратную связь и понимать, что на самом деле думают люди. И тут мы подходим к конференциям и контактам разработчиков между собой. Разработчики должны слышать и понимать, ответ на какой вопрос на самом деле ищут люди. Одновременно мы можем показать людям, что нам важно услышать их мнение. Что она значит для моей работы, и могу ли я решить этот use case так, чтобы сделать продукт более полезным в общем случае?” Мы, конечно, выполняем не все пожелания, а лишь те, которые считаем ключевыми, стараемся верно расставлять приоритеты. Некоторые вопросы заставляют подумать: “Окей, это другая точка зрения на то, чем я занимаюсь.

С чего начать, чтобы войти в мир open source? — Говоря о новичках, можешь ли ты дать им какие-то рекомендации?

Я не знал никого в индустрии и не понимал, что open-source разработчики хорошие ребята. — Когда я попал в open-source, та вещь, которая зацепила меня — это конференция GNOME в Барселоне. Я бы никогда не подумал, что человеческий фактор и такое желания, как “сходить на конференцию” могут дать тебе понять, что хакинг — это круто. Так что меня зацепила как раз не техническая часть, а то, как это здорово — ходить на конференции и общаться с разными людьми. Эта конференция проходит в Брюсселе, она ежегодная и бесплатная, и это отличная возможность старта. Например, я бы порекомендовал новичкам посетить конференцию FOSDEM или что-то подобное. Просто походите и посмотрите, что там есть. На самом деле это интересно для всех, несмотря на то, чем вы будете заниматься — вы все равно должны посетить FOSDEM. Если вы участвуете в разработке для Linux-сообщества, это место может стать отличным источником для получения адекватной обратной связи.

Вообще неплохо уметь делать что-то с компьютером, но это не обязательный входной билет в open source. Научитесь программировать. Таким и будет мой ответ — ходите на конференции и постарайтесь стать на них “своим”. Open source это больше, чем хакинг: это документация, художественное творчество, и много чего ещё. Да, иногда документация не идеальна, а код понятнее, чем документация. Тем более что open source проекты открыты для изучения. Иногда читать код сложновато, особенно с непривычки, потому что заставляет тебя думать, как думал другой человек, и тебе приходится “поместить свою голову в голову другого человека”.

Это интересная и важная часть в хакинге — не компьютеры и код, а люди и связь твоего разума с разумом другого инженера. — Очень интересная точка зрения.

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

— И напоследок, что еще ты хотел бы сказать нашим молодым читателям, которые думают — идти ли им в программисты и включаться ли в проекты open source?

Участвовать в open source проектах, это не только увлекательная работа — во всяком случае, если ты любишь хакинг — но и неплохой доход. — Ну, во-первых это деньги.

В большинстве open source проектов, по крайней мере, насколько мне известно, намного больше свободы, чем в обычных компаниях, разрабатывающих ПО. — Больше свободы.

Например таким образом меня пригласили на конференцию в Санкт-Петербург. — Интернациональное коммьюнити. Я люблю путешествовать, общаться с разными людьми из разных стран.

Мы интернациональны благодаря Интернету, например в systemd несколько человек — немцы, но все остальные не из Германии: американцы, конечно, русские, ребята из Индии, да отовсюду, со всего мира. Сравниваю себя с моими одноклассниками — тут я точно выиграл. Где еще ты познакомишься с такими разными культурами, и встретишься с разными людьми. Очень немного сфер, где есть такой интернационал.

Спасибо тебе! — Леннарт, у нас получилась отличная беседа.

Спасибо! — Ага, я люблю свою работу!

Видео запись интервью с Леннартом Поттерингом (английский язык):

Видеозаписи докладов 3-х прошедших конференций Linux Piter, а также интервью со спикерами конференции Linux Piter в рамках проекта #DevTalkRu смотрите на YouTube-канале конференции.

Леннарт Поттеринг в этом году вновь приедет на конференцию Linux Piter (LinuxPiter.com), которая состоится 2-3 ноября 2018.

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

В качестве бонуса участникам предоставляется право бесплатно и беспрепятственно посетить все мероприятия дружественной нам конференции — PiterPy, которая проводится в то же время на той же площадке, что и Linux Piter.

Для тех, у кого нет возможности приехать на конференцию лично — есть возможность купить доступ к онлайн-видеотрансляции.

До встречи на Linux Piter 2018!

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть