The Lennart hate is ridiculous. This time, even Linux kernel hackers think systemd is a good idea. What are your credentials?
There are other hackers around that are not "Linux hackers" who might have a different view about the quality of Linux space. I tend to agree with them.
When I put this next to the half-success that PulseAudio is (which was similarly promoted and blindly embraced by all major distributions out there), I find questionable the idea of systemd being the next best thing since hot water.
First of all, Pulseaudio was not the biggest success, true, but can't someone learn from their mistakes? Both are also living, moving software products that continue to improve, as you said, "development marred with huge number of bugs that ruined audio on Linux until recently" - key words: "until recently".
Secondly, about the technical aspects:
http://0pointer.de/blog/projects/the-biggest-myths.html
http://www.freedesktop.org/wiki/Software/systemd/ -> "The systemd for Administrators Blog Series"
Lennard Poettering said it better than I ever will.
Judging by his work and his writings, Lennart probably sleeps with a copy of "The Unix Programming Environment" or other such classic under his pillow. He probably knows Unix 10x better than you or me (feel free to point me to your resume/bio if my assumption is wrong :) ).
Just say that you don't agree with his design.
That's fine and it's acceptable. It also turns this debate into something kind of like Linux versus Minix. Working code (his) wins for now ;)
In my opinion, there is no replacement for true modularity, simple, future-proof interfaces, and clear, human-readable and human-writable formats.
I've been running systemd as my init system for at least a year. It's also used in Fedora. It is working pretty well by now.
> In my opinion, there is no replacement for true modularity
Systemd is an ecosystem. It contains a number of different binaries. They may be part of the same codebase, but so what?
>, simple, future-proof interfaces, and clear, human-readable and human-writable formats.
You mean, like systemd's unit file format, which is both more readable, and more specified, than the sysvinit boilerplate? If you mean journald, if you have rsyslog as well, you get your usual /var/log/syslog. Best of both worlds.
"Ecosystem" == vendor-managed closed system.
True interoperability does not produce "an ecosystem", it produces standards with (at least potentially) multiple implementations.
> It contains a number of different binaries. They may be part of the same codebase, but so what?
So it's contrary to the idea that modularity is achieved through clearly defined interfaces, so "the same codebase" is an unnecessary luxury for lazy designers.
I'm sorry, but you're not making any sense. If a closed system is a project you can fork on github, with ~ 260 contributors and libraries like python-systemd, I don't know how you define "closed".
> So it's contrary to the idea that modularity is achieved through clearly defined interfaces, so "the same codebase" is an unnecessary luxury for lazy designers.
Right. So, the systemd Debian package on my machine has 21 separate binaries. Who in their right mind would want to have 21 separate repositories to keep in sync?
As for "cleanly defined interfaces", I don't know how having several different systems in the same codebase prevents that. Which parts of systemd do you feel are not well-documented and prevents you from writing code to interact with it, or replace part of it?
[1] never encountered a single issue with systemd since archlinux pushed it as default, even on hybrid sysvinit scripts and naked systemd installs, compared to PA which may crash far too regularly, but that's just me.
If the downsides are so severe, it must have some really good upsides, otherwise no one would use it.
My personal anecdote is that Debian installed it for me on my long running system and that I've never touched a config file or otherwise looked at it at all and that my audio always works...
For those unfamiliar with Pulseaudio development, it's a third-generation audio subsystem (after OSS and ALSA with JACK forming two previous ones, and ESD being the beginning of the third) that is famous for overcomplicated, non-human-writable barely human-readable configuration procedure, development marred with huge number of bugs that ruined audio on Linux until recently, and suffering from immense number of internal interfaces and system being presented as a huge monolithic piece of software that can not be used in a modular manner except as modules that only talk among themselves.
systemd seems to suffer from the same problems, plus it tries to "integrate" init, udev and syslog into a single "product", with arcane internal interfaces and formats -- just as non-human-writable as Pulseaudio.