Lennart Poettering

Last updated

Lennart Poettering
Lennart poettering.jpg
Poettering in December 2012
Born (1980-10-15) 15 October 1980 (age 43)
NationalityGerman
Occupation Software engineer
Employer Microsoft
Known for Avahi, PulseAudio, systemd
Website 0pointer.de/lennart/ OOjs UI icon edit-ltr-progressive.svg

Lennart Poettering (born 15 October 1980) is a German software engineer working for Microsoft and the original author of PulseAudio, Avahi and systemd.

Contents

Life and career

Poettering was born in Guatemala City but grew up in Rio de Janeiro, Brazil, and Hamburg, Germany. [1] Poettering worked for Red Hat from 2008 to 2022. [2] [3] He then joined Microsoft. [4] [5] [6] [7]

Since 2003, Poettering has worked on more than 40 projects, mostly written in C. He is the developer and maintainer of several free software projects which have been widely adopted by Linux distributions, including PulseAudio sound server (2004), [2] [8] Avahi zeroconf implementation [9] [10] (2005), and systemd init system (2010). [11]

Controversies

Lennart Poettering at 16th Forum Internacional de Software Livre, on 10 July 2015 Containers and systemd, com Lennart Poettering - Foto Tarlis Schneider (18959984634).jpg
Lennart Poettering at 16th Fórum Internacional de Software Livre, on 10 July 2015

Poettering is known for having controversial technical and architectural positions regarding the Linux ecosystem. [12] [13] [14]

His style has brought accusations that he is working against long-standing Unix philosophy, [15] which he addressed in his blog post The Biggest Myths. [16] For instance, Poettering has advocated speeding up Linux development at the expense of breaking compatibility with POSIX and other Unix-like operating systems such as the BSDs. [17] [18] He took this position because of his experience in writing some other low-level components in the desktop stack. [12] He invites other developers to do the same. [19] Poettering recommends also reading The Linux Programming Interface but ignoring the POSIX-specific parts. [13]

In 2011 Poettering, one of the main developers of PulseAudio, praised the Windows and macOS audio stacks as "more advanced" and called Open Sound System "a simplistic 90's style audio stack" without relevance for a modern desktop. [13]

Also in 2011, when asked why the Linux desktop hadn't been widely adopted by mainstream users, he answered that: "Linux is still too fragmented...[and] needs to be streamlined...". [20] In 2014 Poettering published an essay criticising how software in Linux distros is commonly packaged, updated, and deployed; and laid out proposals that he, Kay Sievers, Harald Hoyer, Daniel Mack, Tom Gundersen and David Herrmann, had for how the architecture should be changed. [21]

The controversy around systemd culminated in personal attacks and alleged death threats against Poettering. [22] [23] Poettering went on to put some blame on Linus Torvalds and other kernel developers for being bad role models for encouraging an abusive discussion culture on technical disagreements. [22] [24]

In 2017, Poettering received the Pwnie Award for Lamest Vendor Response to vulnerabilities reported in systemd. [25]

Related Research Articles

The Open Sound System (OSS) is an interface for making and capturing sound in Unix and Unix-like operating systems. It is based on standard Unix devices system calls. The term also sometimes refers to the software in a Unix kernel that provides the OSS interface; it can be thought of as a device driver for sound controller hardware. The goal of OSS is to allow the writing of sound-based applications that are agnostic of the underlying sound hardware.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

<span class="mw-page-title-main">FOSDEM</span> Annual event in Brussels centered on free and open source software development

Free and Open source Software Developers' European Meeting (FOSDEM) is a non-commercial, volunteer-organized European event centered on free and open-source software development. It is aimed at developers and anyone interested in the free and open-source software movement. It aims to enable developers to meet and to promote the awareness and use of free and open-source software.

udev is a device manager for the Linux kernel. As the successor of devfsd and hotplug, udev primarily manages device nodes in the /dev directory. At the same time, udev also handles all user space events raised when hardware devices are added into the system or removed from it, including firmware loading as required by certain devices.

init UNIX system component

In Unix-based computer operating systems, init is the first process started during booting of the operating system. Init is a daemon process that continues running until the system is shut down. It is the direct or indirect ancestor of all other processes and automatically adopts all orphaned processes. Init is started by the kernel during the booting process; a kernel panic will occur if the kernel is unable to start it, or it should die for any reason. Init is typically assigned process identifier 1.

D-Bus is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, initiated by GNOME developer Havoc Pennington to standardize services provided by Linux desktop environments such as GNOME and KDE.

<span class="mw-page-title-main">Linux kernel interfaces</span> An overview and comparison of the Linux kernel API and ABI.

The Linux kernel provides multiple interfaces to user-space and kernel-mode code that are used for varying purposes and that have varying properties by design. There are two types of application programming interface (API) in the Linux kernel:

  1. the "kernel–user space" API; and
  2. the "kernel internal" API.
<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

<span class="mw-page-title-main">PulseAudio</span> Sound server for Unix-like operating systems

PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, including Windows Subsystem for Linux on Microsoft Windows and Termux on Android; various BSD distributions such as FreeBSD, OpenBSD, and macOS; as well as Illumos distributions and the Solaris operating system. It serves as a middleware in between applications and hardware and handles raw PCM audio streams.

<span class="mw-page-title-main">Linux</span> Family of Unix-like operating systems

Linux is both an open-source Unix-like kernel and a generic name for a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project.

Upstart is a discontinued event-based replacement for the traditional init daemon—the method by which several Unix-like computer operating systems perform tasks when the computer is started. It was written by Scott James Remnant, a former employee of Canonical Ltd. In 2014, Upstart was placed in maintenance mode, and other init daemons, such as systemd, were recommended in place of Upstart. Ubuntu moved away from Upstart with the release of version 15.04 in favor of migrating to systemd. As of June 2024, there have been no updates released for Upstart since September 2014.

GNU variants are operating systems based upon the GNU operating system. According to the GNU project and others, these also include most operating systems using the Linux kernel and a few others using BSD-based kernels.

The Linux booting process involves multiple stages and is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Although the Linux booting process depends very much on the computer architecture, those architectures share similar stages and software components, including system startup, bootloader execution, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons. Those are grouped into 4 steps: system startup, bootloader stage, kernel stage, and init process. When a Linux system is powered up or reset, its processor will execute a specific firmware/program for system initialization, such as Power-on self-test, invoking the reset vector to start a program at a known address in flash/ROM, then load the bootloader into RAM for later execution. In personal computer (PC), not only limited to Linux-distro PC, this firmware/program is called BIOS, which is stored in the mainboard. In embedded Linux system, this firmware/program is called boot ROM. After being loaded into RAM, bootloader will execute to load the second-stage bootloader. The second-stage bootloader will load the kernel image into memory, decompress and initialize it then pass control to this kernel image. Second-stage bootloader also performs several operation on the system such as system hardware check, mounting the root device, loading the necessary kernel modules, etc. Finally, the first user-space process starts, and other high-level system initializations are performed.

<span class="mw-page-title-main">Calculate Linux</span> Linux distribution

Calculate Linux is a Linux distribution optimized for fast deployment in an organization environment. It is based on the Gentoo Linux project and includes many preconfigured functions.

systemd Suite of system components for Linux

systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manager" — an init system used to bootstrap user space and manage user processes. It also provides replacements for various daemons and utilities, including device management, login management, network connection management, and event logging. The name systemd adheres to the Unix convention of naming daemons by appending the letter d. It also plays on the term "System D", which refers to a person's ability to adapt quickly and improvise to solve problems.

<span class="mw-page-title-main">Criticism of desktop Linux</span> Criticism of certain Linux distributions

Criticism of desktop Linux is a history of comment on the perceived shortcomings of the Linux operating system when installed on desktop computers. These criticisms have been aimed at the plethora of issues and lack of consistency between Linux distributions, their usefulness and ease of use as desktop systems for general end users, driver support and issues with multi-media playback and audio development.

<span class="mw-page-title-main">Devuan</span> Linux distribution based on Debian

Devuan is a fork of the Debian Linux distribution that uses sysvinit, runit or OpenRC instead of systemd. Devuan aims to avoid "lock-in" by projects like systemd and aims to maintain compatibility with other init systems to avoid detaching Linux from other Unix systems.

<span class="mw-page-title-main">Snap (software)</span> Software deployment system for Linux by Canonical

Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel and the systemd init system. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system. Snap was originally released for cloud applications but was later ported to also work for Internet of Things devices and desktop applications.

<span class="mw-page-title-main">Windows Subsystem for Linux</span> Compatibility layer for running Linux binary executables natively on Windows

Windows Subsystem for Linux (WSL) is a feature of Microsoft Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL is not available to all Windows 10 users by default. It can be installed either by joining the Windows Insider program or manually via Microsoft Store or Winget.

<span class="mw-page-title-main">Genode</span> Free and open-source software operating system

Genode is a free and open-source software operating system (OS) framework consisting of a microkernel abstraction layer and a set of user space components. The framework is notable as one of the few open-source operating systems not derived from a proprietary OS, such as Unix. The characteristic design philosophy is that a small trusted computing base is of primary concern in a security-oriented OS.

References

  1. linux.conf.au 2007 profile
  2. 1 2 Marti, Don (18 September 2008). "LPC: Linux audio: it's a mess". LWN.net. Archived from the original on 1 September 2009. Retrieved 3 July 2009.
  3. "Lennart Poettering - systemd + PulseAudio Creator - Departed Red Hat". www.phoronix.com. Retrieved 6 July 2022.
  4. "Systemd Creator Lands At Microsoft". www.phoronix.com. Retrieved 7 July 2022.
  5. Proven, Liam. "Lennart Poettering leaves Red Hat for Microsoft". The Register . Retrieved 28 October 2022.
  6. "James Morris on LinkedIn: FOSDEM 2023 - Hardening Kernel Subsystems by Architectural Capabilities". www.linkedin.com. Retrieved 12 December 2023.
  7. "Image-Based Linux and TPMs". archive.fosdem.org. Retrieved 12 December 2023.
  8. Paul, Ryan (17 October 2007). "PulseAudio to bring earcandy to Linux". arstechnica.com. Ars Technica . Retrieved 20 March 2015.
  9. Paul, Ryan (16 September 2007). "Apple's new iPod checksum cracked by GtkPod coders". Ars Technica.
  10. "Using Avahi The 'Right Way'" Archived 27 February 2016 at the Wayback Machine , linux.conf.au 2007
  11. Michael Larabel (23 August 2010). "An Update On The SystemD System & Session Manager". Phoronix. Retrieved 29 January 2013.
  12. 1 2 "Interview: Lennart Poettering - Lennart Poettering will give a talk about "Systemd: beyond init" at FOSDEM 2011". fosdem.org. 2011. Retrieved 16 June 2014. Many of my previous projects (including PulseAudio and Avahi) have been written to be portable. Being relieved from the chains that the requirement for portability puts on you is quite liberating. While ensuring portability when working on high-level applications is not necessarily a difficult job it becomes increasingly more difficult if the stuff you work on is a system component (which systemd, PulseAudio and Avahi are).
  13. 1 2 3 "Un entretien avec Lennart Poettering". 6 July 2011. Retrieved 26 January 2013. we still can't fully match competing audio stacks like CoreAudio [...] Both Windows and macOS have much better integrated audio stacks than we have. [...] in general the CoreAudio stack is definitely more advanced than ours. [...] there's no doubt that it [the Windows audio stack] is probably still a better integrated audio hacking experience to develop for Windows. [...] OSS is a simplistic 90's style audio stack. I doesn't really have any relevance for what you need for a modern desktop.
  14. Gregori, Sven (16 October 2019). "Pack Your Bags - Systemd is Taking You To A New Home". Hackaday. Retrieved 6 October 2021.
  15. Larabel, Michael. 2 September 2014. New Group Calls For Boycotting Systemd. Phoronix
  16. Poettering, Lennart (26 January 2013). "The Biggest Myths".
  17. Vervloesem, Koen (2 March 2011). "Choosing between portability and innovation". LWN.net. POSIX is really an encapsulation of some choices that various Unix systems made along the way, rather than a body of text that got standardized and then implemented. According to Poettering, Linux should use its position as "market leader" (in the market of free Unix-like operating systems) and try out some new things. If developers don't force themselves into the constraints of the POSIX API, they could develop some really innovative software, like systemd shows. When these new developments happen to turn out really interesting, other operating systems could eventually adopt them as well.
  18. "FOSDEM 2011 interview". 6 February 2011. Not having to care about portability has two big advantages: we can make maximum use of what the modern Linux kernel offers these days without headaches -- Linux is one of the most powerful kernels in existence, but many of its features have not been used by the previous solutions. And secondly, it greatly simplifies our code and makes it shorter: since we never need to abstract OS interfaces the amount of glue code is minimal, and hence what we gain is a smaller chance to create bugs, a smaller chance of confusing the reader of the code (hence better maintainability) and a smaller footprint.
  19. "Interview: Lennart Poettering - Lennart Poettering will give a talk about "Systemd: beyond init" at FOSDEM 2011". fosdem.org. 2011. Retrieved 16 June 2014. In fact, the way I see things the Linux API has been taking the role of the POSIX API and Linux is the focal point of all Free Software development. Due to that I can only recommend developers to try to hack with only Linux in mind and experience the freedom and the opportunities this offers you. So, get yourself a copy of The Linux Programming Interface, ignore everything it says about POSIX compatibility and hack away your amazing Linux software. It's quite relieving!
  20. "Un entretien avec Lennart Poettering". 6 July 2011. Retrieved 26 January 2013. I think we weren't innovative enough in the interface, and we didn't have a convincing message and clear platform. If you accept MacOS as benchmark for user interfaces, then we weren't really matching it, at best copying it. I think this is changing now, with GNOME 3 which is a big step forward as an interface for Linux and for the first time is something that has been strictly designed under UI design guidelines. So we now have a better interface, leaves the message and the clear platform. Linux is still too fragmented, and a developer targeting Linux will have to choose from a variety of APIs, a bazaar of somewhat matching but mostly just chaotic choices that will work on some systems but not on others. I think it would be in our greatest interest to streamline the platform top to bottom, and thus have a clear message what the Linux OS is. And of course, I believe my work in cleaning up the lower levels of our userspace stack is helping to work in that direction. Getting a clear message out what Linux is supposed to be is definitely a social issue, but to make that happen the Linux platform needs to be streamlined first, and that's a technical task, and not done yet.
  21. Revisiting How We Put Together Linux Systems on 0pointer.net by Lennart Poettering "The classic Linux distribution scheme is frequently not what end users want, either. Many users are used to app markets like Android, Windows or iOS/Mac have. Markets are a platform that doesn't package, build or maintain software like distributions do, but simply allows users to quickly find and download the software they need, with the app vendor responsible for keeping the app updated, secured, and all that on the vendor's release cycle." (1 September 2014)
  22. 1 2 Vaughan-Nichols, Steven J. (6 October 2014). "Lennart Poettering's Linus Torvalds rant". ZDNet.
  23. Byfield, Bruce (7 October 2014). "Lennart Poettering and the cause of civility". Linux Magazine.
  24. "Lennart Poettering: Open Source Community "Quite A Sick Place To Be In"". Slashdot. 6 October 2014. Retrieved 8 November 2015.
  25. "Pwnie Awards 2017, Lamest Vendor Response: SystemD bugs". Pwnie Awards. Retrieved 10 June 2021.