Леннарт Поттеринг

Леннарт Поттеринг (нем. "Lennart Poettering", лор. "Поцтеринг") — расовый арийский линуксоид из Гватемалы и Бразилии, программист программ руками, заслуженный велосипедист Red Hat и всего Linux-сообщества, изобретатель Avahi, PulseAudio, systemd, kdbus и ещё многих страшных слов, и просто человек-мем ЛОРа.
 
По мнению ЛОРа, Леннартушка только и делает, что заменяет нужные, работающие вещи на ненужные и неработающие. В этом смысле он стал этакой притчей во языцех, богом-покровителем NIH-синдрома и изобретателей велосипедов, и когда кто-то другой пишет printerd вместо CUPS, ну или там Wayland вместо X.Org, автора тут же в шутку обвиняют в том, что его «покусал Поттеринг».
Лоровец Oleaster ввёл единицу измерения упоротости: 1 поттеринг. Утверждается, что упоротости больше 1 поттеринга не существует в природе.
Если же смотреть непредвзято, то Леннарта действительно часто бранят, порой за дело, да и сам он весьма громок в своих мнениях и не стесняется называть окружающих идиотами.
Испокон веков, чтобы связать компьютеры в сеть, нужно было вмешательство админа — с настройкой сервера, ну или на худой конец какого-нибудь роутера с DHCP. И вот некая фруктовая контора придумала спецификацию Zeroconf — НЁХ для подъёма локальной сети и обнаружения сетевых сервисов автоматически, без участия человеков. Слабали и реализацию под свою яблочную OS X, весьма символично названную Bonjour, под вполне даже опенсорсной Apple Public Source License.
Но тут Поттеринг нашёл в Bonjour аж два фатальных недостатка: во-первых, его писал не он, а во-вторых, лицензия APSL не совместима с GPL. Казалось бы, кому какое дело до лицензии сетевого демона, который тихо-мирно живёт отдельным процессом и ни с кем не линкуется. Тем не менее был запилен Avahi, который ныне в большинстве дистрибутивов Линукса идёт из коробки, и когда яблочники спохватились и перелицензировали нужные части Bonjour под лицензией Apache, Avahi в Линуксе уже стал де-факто стандартом.
Впрочем, поскольку проблема объективно была, Поттерингу это вполне сошло с рук. А вот дальше начался трэш и угар.
 
Шёл 2007 год, и тогда ещё мало кому известный Леннарт обнаружил целую кучу фатальных недостатков в линуксовой системе звука. Во-первых, хотя драйверами звуковых карт уже сто лет как заведовала ALSA, осталось ещё немало замшелых программ, не понимавших ничего, кроме древнего OSS. Во-вторых, программы любили монопольно захватывать звуковую карту, что лечилось только их прибиванием. В-третьих, всякие там гномы с кедами тянули свои звуковые серверы ESD и aRts, которые, опять-таки, монопольно захватывали звуковую карту. В те времена самой популярной инструкцией для починки звука в Гноме было killall esd.
И вот решил наш бравый герой запилить один Единый Звуковой Сервер на все случаи жизни.
Ну что ж, хотели как лучше, а получилось как в xkcd. PulseAudio стал "ещё одной" из тысячи звуковых технологий в Линуксе, которые и так приходилось поддерживать бедным писателям прикладных программ — наряду со всеми этими ALSA, OSS, Jack и безвременно почившими ESD и aRts. К чести Поттеринга, он озаботился тем, чтобы приделать к Пульсе стопицот плагинов для обратной совместимости со всеми предыдущими системами. Увы, совместимость была не стопроцентной. Треск, шипение, потери звука, а то и полное его пропадание надолго стали бичом первопроходцев, ставших жертвами впиливания PulseAudio по умолчанию во всякие Убунты. А кроме того, вдруг оказалось, что некоторые системы типа Wine использовали недокументированные возможности ALSA, которые переставали работать при работе не напрямую с железом, а при подключении эмулятора ALSA в PulseAudio (который гнал звук в настоящую ALSA, а оттуда в дом, который построил Джек). Пришлось запиливать отдельный драйвер winepulse, до сих пор не включённый в основную ветку.
Зато наконец-то появился звук по сети!!!, ненужный чуть менее, чем никому из домохозяек, а также микширование звука между параллельно выполняемыми программами. Правда, это много лет существовало и в ALSA (в виде dmix), но об этом тактично забыли. А также о том, что то микширование было по возможности аппаратное, а запихивать аппаратное микширование в Пульсу Леннарт принципиально отказался. Наконец виновник торжества разразился былинным постом в рассылке, где по привычке смешал всех своих критиков с говном. А два года спустя обвинил во всём дистростроителей с их неправильными, негодными конфигами.
Постепенно, от версии к версии, PulseAudio наконец допилили до более-менее юзабельного состояния, хотя ради устранения многих его глюков, тормозов и пожирания процессора пришлось впилить новую функциональность аж в ядре. Возможность использовать PulseAudio появилась со временем почти везде (кроме совсем уж замшелых окаменелостей), градус неадеквата спал. Но Леннарт, злорадно потирая руки, уже готовил ничего не подозревающим дистростроителям следующий сюрприз…
Итак, одним замечательным апрельским утром Леннарт, думая, чего бы ещё такого в Линуксе переписать, обратил свой взор на православный init, которое в Unix-подобных системах исторически заведовало начальной загрузкой системы и запуском всяких демонов и служб по скриптам, при этом не меняясь аж с Unix System V. То, что некий космонавт уже создал до него замену init под названием upstart, его ничуть не смутило: во-первых, архитектура upstart была глубоко неправильной (то есть не была тупо слизана с яблочного launchd), а во-вторых, это же Canonical, они всегда против Red Hat, полупроприетарщики, копирасты и вообще пуськи бятые. Также стоит заметить что RHEL с 2011—2014 год использовал в качестве системы инициализации тот самый Upstart.
Недолго думая, поциент награфоманил свой init, с текстовыми конфигами и бинарными пускалками. Ну, казалось бы, написал и написал. Сколько было всяких initng, runit и прочих велосипедов, но взлетел, по сути, только upstart. Но у Поттеринга были длинные руки и раздатчик «одобрям-с» в лице Red Hat, и ничтоже сумняшеся, он начал пропихивать свой systemd всюду, где только можно:
В итоге systemd расколол сообщество дистростроителей. На него перешли, что характерно, RPM-дистрибутивы (SUSE, Mandriva, Mageia) и арчеводы, а остальные в ужасе сказали «свят-свят-свят». Гентушники продолжили пилить OpenRC (а также форкнули udev, чтобы выпилить systemd из кодовой базы, впрочем, вскоре три школьника, сделавших это, соизволили заглянуть в сорцы udev/systemd и выяснив, что буча была поднята зря, извинились перед разработчиками апстрима и даже подарили коробку конфет), убунтоводы стали лениво отбрыкиваться от понабежавших нубов, замучивших список рассылки вопросами: «Марк, ну когда уже у нас будет великий ужасный systemd?!!11»
В октябре 2013-ого года известные любители несвежего говна — дебиановцы, начали подумывать о том чтобы заменить свою умолчальную систему инициализации на что-то посвежее. В качестве вариантов было предложено перейти на системд, отдаться канониклу и перейти на апстарт, или присоединиться к гентушникам с их OpenRC. Цимес состоял в том, что двое членов технического комитета были сотрудниками каноникла, а еще один — бывший сотрудник и как именно они проголосуют всем было вполне очевидно. И это при том что в техническом комитете всего 8 человек. Но у сторонников поттеринга был свой аргумент: председатель тех. комитета был на их стороне, а так как председатель обладает правом решающего голоса, то для победы системд было достаточно чтобы голосование прошло 4:4. Говна взбурлили с небывалой силой. Эпицентром, конечно, был список рассылки дебиана, но и простые смертные, которым в общем на сам дебиан с его системой инициализации было весьма похуй, участвовали в празднестве весьма охотно. Борцуны с обеих сторон четко разделялись на две категории. В первой были одмины с аргументами «нахуй мне ваш системд, у меня парк из 9000 серверов, все работает и я в гробу видал все это обновлять» vs «системд — круто, у меня парк из 9000 серверов и я уже заебался писать велосипеды для той функциональности которая в системд из коробки». Во второй же были все остальные, с аргументами «Поттеринг — хуй» vs <del>«Нет ты»</del>"Марк — хуй". Голосование прошло, и голоса таки разделились 4:4. Но не успели поттерингофилы обрадоваться, как маркофилы собрав свои силы и уняв жжение принялись доказывать что голосование было составлено неверно, что голоса были подсчитаны неправильно, все 8, ога и что вообще, голосование в котором победил системд признать верным ну никак нельзя. Поттерингохейтеры начали всем немедленно доказывать что систему инициализации и вообще менять не надо и что надо продолжать срач. Чтобы всех успокоить, было проведено повторное голосование, в котором таки победил пункт «продолжить срач», чем все с удовольствием и занялись. Когда же людям вменяемым срач уже надоел, было проведено третье голосование, в котором голоса повторно разделились 4:4. Но и это голосование не успокоило маркофилов. Особенно отличился некий Ян Джексон (не тот который основатель дебиана), который в запале срача предложил сместить председателя технического комитета. Но Ян был послан нахуй и поттерингофилы возликовали. "(спойлер: "На что часть дебиановцев откололась и создала свой дистрибутив, без systemd.")" . В конце концов сдался даже Марк, объявив, что будущие версии Ubuntu вслед за Debian перейдут на systemd. И начиная с Ubuntu 15 таки перешли.
То, о чём так долго ванговали ЛОРовские аналитеги, наконец свершилось: взгляд Его упал на ядро, немедленно обнаружив там фатальный недостаток. Ну, то есть, если быть точным, оный недостаток был обнаружен в системе межпроцессовых взаимодействий D-Bus, но так как резолюцией Поттеринга стала идея о том, что D-Bus надо реализовать в качестве подсистемы ядра, то эта мелкая подробность может быть опущена. Пока что будущую подсистему, которую окрестили kdbus, Поттеринг разрабатывает в своём уютненьком гите, но грозится протолкнуть ее в релиз уже к концу 2014 года. Ожидаются ливневые говнопотоки и испепелённые пердаки. И они таки начались. И в числе первых, кто смачно обдал экскрементами systemd и kdbus (а конкретно Кея Сиверса, <del>собутыльника</del> соратника Леннарта по Redhat) был никто иной, как Линус. При попытке Кея продвинуть в ядро очередной костыль Линус впал во фрустрацию и в своём стиле всех послал, естественно, отказавшись принимать патчи.
После чего, Линусу напомнили кто платит за красивую жизнь в солнечной Калифорнии .
Итак, systemd продолжал своё победное шествие по планете, и все дистрибутивы склонились перед солнцеликим взором его, даже Debian, даже Ubuntu. Один лишь Gentoo пока держится. Но недолго над миром Линукса царило затишье. Божественный Леннарт обнаружил фатальный недостаток в линуксовых пакетных менеджерах, предложив заменить их на Глобальную и Надёжную систему на основе потоков btrfs, с атомарностью и цифровыми подписями. На минуточку, на момент написания этих строк файловая система btrfs до сих пор считается нестабильной и экспериментальной, да и установлена на исчезающе малом проценте машин, но когда такие мелочи останавливали Поттеринга и Божественное Видение Его?
Тут уж взвыли даже самые лояльные леннартофилы, а упоротость идеи была оценена аж в 1,5 поттеринга. Запасаемся попкорном и ждём дальнейших перекорёживаний всех дистрибутивов сверху донизу, уже в который раз. И они на подходе. Сколь бы ни был удобен пакетный менеджер, но поддержка этого зоопарка и dependency hell достали буквально всех. И уже GNOME, Canonical, RedHat и некоторые сопричастные наперебой предлагают варианты распространения софта в виде контейнеров со всеми зависимостями и кошерным набором нужных либ. Идеи по упоротости с большим отрывом отстают от Лёниной, но таки идут в том же направлении.
За время велосипедостроения Леннарту очень понравилось играться с линуксом, и он задумался — что бы еще такого перекорячить, чтобы сообществу в очередной раз порвать очко… И тут его взгляд случайно упал на православные никсовые VT-tty. «О!» — сказал Поттеринг и начал пилить свою замену в виде дополнения systemd. Встречайте — systemd-consoled! Уже в составе systemd, начиная с 217.
И, конечно же, всё это было только началом. Теперь он взялся за команду su. В этот раз, видимо, решил, что чем городить systemd-coreutilsd, лучше начать переписывать по одной команде в день, пока все его требования не будут выполнены.
 
Как видно, бздуны тоже питают к Поттерингу особые чувства. Особенно нежными они стали после предложения Поттеринга выпилить поддержку xBSD, Solaris'а и UNIX систем в GNOME и других Open Source проектах. Так как необходимость писать портабельный код поддерживать совместимость с этими системами якобы сдерживает развите СПО.
Иногда Поттеринг пробуждает творчество. Люди творят и выкладывают своё искусство. Например .