Леннарт Поттеринг – одна из легенд 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 сейчас настолько стабильный продукт, что уже не делает больших скачков вперед, а только лишь улучшаются существующие в нем механизмы. Конкретно в LINUX ничего радикального не произошло. Например, docker и подобные вещи, которые заметно изменили всё, что вообще делается в IT, им уже около трёх лет. Мне нравится, что сегодня в Linux идет постоянное и устойчивое улучшение. Во всяком случае базовые компоненты, из которых состоит экосистема, отчётливо стабилизировались, и постепенно двигаются к лучшему. Это, на мой взгляд, признак зрелости и профессионализма, и это, пожалуй, хорошо.

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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



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

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

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

— Когда я попал в open-source, та вещь, которая зацепила меня — это конференция GNOME в Барселоне. Я не знал никого в индустрии и не понимал, что open-source разработчики хорошие ребята. Так что меня зацепила как раз не техническая часть, а то, как это здорово — ходить на конференции и общаться с разными людьми. Я бы никогда не подумал, что человеческий фактор и такое желания, как “сходить на конференцию” могут дать тебе понять, что хакинг — это круто. Например, я бы порекомендовал новичкам посетить конференцию 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!

Комментарии (20)


  1. Barafu_Albino_Cheetah
    27.08.2018 18:18
    +2

    Многие opensource проекты средней руки страдают от нехватки помощи, не связанной с программированием. Дизайн убог, в интерфейсе ошибки, форум засран ботами, а документацию писали программисты (ключница водку делала). Так что, если вы хотите помочь разработке opensource, но не имеете навыков, то не стесняйтесь, зайдите и спросите: дело найдётся.


    1. mazahakajay
      29.08.2018 04:37

      куда обратиться?)


      1. Berkof
        29.08.2018 05:53

        dev-list, просто заходите на сайт интересного вам проекта (которому хотите помочь) и ищите там ссылку на dev-list рассылку… А потом просто пишите: здравствуйте, хочу помочь этому проекту, но не знаю с чего начать. О себе: профиль (ссылка на гитхаб, страничку в соцсети), могу писать документацию, править мелкие баги в проектах на Python и PHP, готов писать тесты. И если сообщество живое — через несколько часов или дней кто-то подкинет вам задачку «почему бы тебе не взять этот тикет, там нужно (краткое описание), посмотри (пара ссылок), если будут вопросы — обращайся напрямую ко мне или к (пара людей)… А дальше проявляйте старательность, попытайтесь прочитать и понять задачу, приведённые ссылки, подумать как будете её решать и решить (если более-менее уверены в своём решении) или описать это решение одному из приведённых людей и попросить одобрения или комментариев…


  1. glowingsword
    27.08.2018 18:44
    +1

    Спасибо. Очень интересно. Леннарт — яркая личность и отличный специалист.


  1. sena
    27.08.2018 19:10

    PulseAudio, Avahi, kdbus, systemd — к этим проектам до сих пор неоднозначное отношение. Особенно ругают PulseAudio и systemd. Я на в многоместной системе (multiseat) до сих пор не смог поженить Пульсаудио и Skype. В других приложениях, типа jitsi не работает эхоподавление.


    1. kt97679
      27.08.2018 20:38
      +2

      Вот здесь хорошо все разложено по полочкам: lurkmore.to/Systemd


      1. develop7
        30.08.2018 12:36

        разложено, конечно, задорно, с шутками и бугагашеньками, но однобоко и пристрастно


      1. take
        30.08.2018 12:55

        к концу статьи плакал


    1. Laney1
      27.08.2018 21:01

      Я на в многоместной системе (multiseat) до сих пор не смог поженить Пульсаудио и Skype

      не беспокойтесь, в RedHat под патронажем автора Gstreamer уже вовсю пилят его замену. Pipewire называется)


      1. andrewsh
        28.08.2018 11:02

        Pipewire не замена PulseAudio. И не замена Skype.


        1. Fracta1L
          28.08.2018 16:50

          Это как раз замена PulseAudio (и JACK) + умение работать с видеопотоками.


    1. thatsme
      27.08.2018 21:19

      Попробуйте apulse.


    1. immaculate
      28.08.2018 04:13
      +1

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


      1. kt97679
        29.08.2018 03:08

        Интересная статистика на эту тему: distrowatch.com/weekly.php?issue=20180618#poll


      1. mspain
        29.08.2018 10:04
        +1

        systemd это не только systemctl, но и целая телега ненужного навоза навроде hostnamectl, journalctl, dhcp-клиента, крона и тд итп.

        Лично мне в первую очередь нынешнее журналирование кажется отвратительным.
        А 80% компонентов systemd просто ненужными.

        Хотя есть и плюсы, разумеется. Иначе бы оно не взлетело.


        1. kt97679
          29.08.2018 18:42

          Взлетело оно в основном благодаря лоббированию redhat.


          1. mspain
            30.08.2018 04:38

            А лоббирование RH отменяет плюсы systemd? Зачем RH лоббировать что-то без достоинств?

            Ответ «чтобы никто ничего не понимал и покупал саппорт» не принимается. CentOS вроде любить не перестали. Или есть другая информация?


  1. Fracta1L
    28.08.2018 10:14

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


  1. BeppeGrillo
    28.08.2018 12:40
    +1

    Интервью с создателем PulseAudio?
    Это наверное выглядело так:

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


  1. take
    30.08.2018 12:59

    Я бы задал такой вопрос:

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