Lennart Poettering

From Wikipedia, the free encyclopedia
Lennart Poettering

Poettering in December 2012
Born Guatemala City
Nationality German
Occupation Software engineer
Employer Red Hat
Known for Avahi, PulseAudio, systemd
Website
0pointer.de/lennart

Lennart Poettering is a German computer programmer. He is best known for his work on free and open source software including PulseAudio, a sound server,[1] the systemd replacement for the System V init daemon,[2] and Avahi, an implementation of the zeroconf protocol for network device discovery.[3]

Life and career

Poettering was born in Guatemala City but grew up in Rio de Janeiro, Brazil, and Hamburg, Germany.[4] Poettering currently works for Red Hat.[5] Poettering is a long term contributor of the GNOME project,[6][7] a GNOME Foundation member [8] and a regular speaker at the GUADEC conference.

Lennart Poettering is a hobbyist photographer with a special interest in travel pictures, usually taken during extended trips near the conferences where he is invited.[9] He has created a collection of more than a hundred stitched panoramas.[10]

Since 2003, Poettering has worked in more than 40 software projects, mainly written in C and related to solution stacks in areas like multimedia, networking, telephony and system startup on Linux.[11]

Poettering is a key developer of kdbus, a Linux kernel based reimplementation of D-Bus, a topic which was publicly presented, by himself, for the first time during Linux.conf.au 2014.[12]

Quotes

On PulseAudio:

Both Windows and MacOS have much better integrated audio stacks than we have. We have a couple of unique features they can't match, like networking support, lower latency behavior, or float-less audio pipelines, but in general the CoreAudio stack is definitely more advanced than ours. The distance, however, is much smaller than it used to be.

The Windows stack is much less suitable as a benchmark, and we are matching its features much better than CoreAudio's, but there's no doubt that it is probably still a better integrated audio hacking experience to develop for Windows.[13]

On the question, why the Linux desktop hasn’t been adopted by the mainstream users yet:

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.[13]

which is similar to Ingo Molnár's view.

Poettering has advocated speeding up Linux development at the expense of breaking compatibility with the BSDs:[14][15]

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.

Poettering took this decision because of his experience in writing some other low-level components in the desktop stack:

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).

He even goes further with this provocative invitation to other developers to do the same:

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!

References

External links


This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.