Интервью у Леннарта Поттеринга берет член программного комитета конференции 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)
glowingsword
27.08.2018 18:44+1Спасибо. Очень интересно. Леннарт — яркая личность и отличный специалист.
sena
27.08.2018 19:10PulseAudio, Avahi, kdbus, systemd — к этим проектам до сих пор неоднозначное отношение. Особенно ругают PulseAudio и systemd. Я на в многоместной системе (multiseat) до сих пор не смог поженить Пульсаудио и Skype. В других приложениях, типа jitsi не работает эхоподавление.
kt97679
27.08.2018 20:38+2Вот здесь хорошо все разложено по полочкам: lurkmore.to/Systemd
develop7
30.08.2018 12:36разложено, конечно, задорно, с шутками и бугагашеньками, но однобоко и пристрастно
Laney1
27.08.2018 21:01Я на в многоместной системе (multiseat) до сих пор не смог поженить Пульсаудио и Skype
не беспокойтесь, в RedHat под патронажем автора Gstreamer уже вовсю пилят его замену. Pipewire называется)
immaculate
28.08.2018 04:13+1Я еще ни разу не сталкивался с проблемами systemd. Пользуюсь им на многих системах уже несколько лет, по-моему, он надежнее и удобнее, чем лапша sysvinit скриптов. С ними как раз регулярно были проблемы, так как они часто бывают глючными, а код их сложно поддается пониманию и отладке.
kt97679
29.08.2018 03:08Интересная статистика на эту тему: distrowatch.com/weekly.php?issue=20180618#poll
mspain
29.08.2018 10:04+1systemd это не только systemctl, но и целая телега ненужного навоза навроде hostnamectl, journalctl, dhcp-клиента, крона и тд итп.
Лично мне в первую очередь нынешнее журналирование кажется отвратительным.
А 80% компонентов systemd просто ненужными.
Хотя есть и плюсы, разумеется. Иначе бы оно не взлетело.kt97679
29.08.2018 18:42Взлетело оно в основном благодаря лоббированию redhat.
mspain
30.08.2018 04:38А лоббирование RH отменяет плюсы systemd? Зачем RH лоббировать что-то без достоинств?
Ответ «чтобы никто ничего не понимал и покупал саппорт» не принимается. CentOS вроде любить не перестали. Или есть другая информация?
Fracta1L
28.08.2018 10:14Леннарт крут, один из тех людей, что меняют Линукс к лучшему, несмотря на вопли ретроградов. Кстати, что там с kdbus? Его же вроде забросили и стали пилить bus1, о котором тоже стало ничего не слышно.
BeppeGrillo
28.08.2018 12:40+1Интервью с создателем PulseAudio?
Это наверное выглядело так:
— Леннарт, сегодня ты выступал с докладом на конференции Linux Piter, расскажи очень коротко, о чем был твой доклад.
— Пожалуй, “контейнеры” — это пшшш из самых модных словечек в пшш мире Linux. Пшшш разные точки зрения на то, что шшш это такое, но есть несколько пшшшккконцепций, которые интересны не только для конкретныххшш современных технологий контейнероввхсшш.
take
30.08.2018 12:59Я бы задал такой вопрос:
— Леннарт, скажи, почему ты стараешься, делаешь хорошие вещи, но тебя за них не любят?
Barafu_Albino_Cheetah
Многие opensource проекты средней руки страдают от нехватки помощи, не связанной с программированием. Дизайн убог, в интерфейсе ошибки, форум засран ботами, а документацию писали программисты (ключница водку делала). Так что, если вы хотите помочь разработке opensource, но не имеете навыков, то не стесняйтесь, зайдите и спросите: дело найдётся.
mazahakajay
куда обратиться?)
Berkof
dev-list, просто заходите на сайт интересного вам проекта (которому хотите помочь) и ищите там ссылку на dev-list рассылку… А потом просто пишите: здравствуйте, хочу помочь этому проекту, но не знаю с чего начать. О себе: профиль (ссылка на гитхаб, страничку в соцсети), могу писать документацию, править мелкие баги в проектах на Python и PHP, готов писать тесты. И если сообщество живое — через несколько часов или дней кто-то подкинет вам задачку «почему бы тебе не взять этот тикет, там нужно (краткое описание), посмотри (пара ссылок), если будут вопросы — обращайся напрямую ко мне или к (пара людей)… А дальше проявляйте старательность, попытайтесь прочитать и понять задачу, приведённые ссылки, подумать как будете её решать и решить (если более-менее уверены в своём решении) или описать это решение одному из приведённых людей и попросить одобрения или комментариев…