
Ted Ts'o: For those who believe systemd developers are reasonable - dredmorbius
https://plus.google.com/117091380454742934025/posts/K7ijdmxJ8PF
======
dredmorbius
Linus Torvald's commnt provides some additional context (on the link above):

 _I think what you (and others) seem to miss is that the systemd people made
the "debug" option that we introduced not just do something - but do something
useless that actively broke other peoples use of that option._

 _It doesn 't matter who "owns" it, the fact is, they broke it._

 _Ok, fine. Bugs happen, and that 's not what makes people upset._

 _What makes me (and others) upset is that when the bug is reported, with
explanations and a suggestion for how to fix it, Kay just closed the bug-
report, claiming it wasn 't a bug._

 _Seriously? You want to debug kernel stuff, using the kernel command line
command "debug" that makes the kernel more verbose, and now the systemd people
say "sorry, we stole your thing and made it useless, and it's not a bug
because you didn't call shot-gun"._

 _Now, if this was an isolated incident, I personally would let it go. There
are bad engineers out there, it 's not worth worrying about. Ignore them and
move on._

 _But this is not an isolated incident. This is how Kay has treated other bugs
in the past. Literally months of stalling, closing bug-reports, and blaming
other people and projects for problems that he caused, telling others how they
should change their projects because he broke something, and obviously it can
't be his fault._

 _And that is a problem._

I'll openly admit I'm not a systemd fan. I've seen too much brokenness from
the developers involved, in this and other projects. I've seen far too much
arrogance. I see too much complexity. I'm quite disappointed in both the
Debian vote and Ubuntu's decision to go along with it (I was really hoping
that Shuttleworth would hold out as loyal opposition). Yes, systemd does
provide _some_ useful features, but at an extremely high cost in complexity
and unproven changes to a system at the core of every last Linux system.
Emphasis on "Linux", as it's also not cross-compatible with other OSes on
which many Linux programs will run, and on which some distros (such as Debian)
provide builds.

~~~
coldpie
I'm still mixed on systemd. My favored distro, Arch, switched to systemd well
over a year ago, and is currently the only supported init system. It works
fine for me, but I don't do a lot of complex sysadmin tasks. To be honest, I
haven't even learned the unit file syntax yet.

I do find Lennart's software to have godawful UIs and APIs. I dare you to
write a simple audio output program using the PulseAudio API. Let me know when
you've got the threading, mainloop, and callback APIs figured out so you can
write your sine wave...

The command to interact with systemd is not 'systemd', but instead 'systemctl'
(which is not 'sysctl'!). Systemd has units and targets which can be enabled
and started and disabled and stopped (what's the difference again? off to the
man pages...). systemd is trying to replace /var/log and cron as well, but
damned if I can remember the right four switches to journalctl to make it do
something useful.

On the other hand, systemd feels cleaner at a conceptual level to me.
Apparently more competent sysadmins find the new journalctl idea to be super
useful--it provides a consistent window into log files, so you don't have to
remember varying paths and log file formats and such. Service unit files allow
for complex dependency resolution for service startup, far more powerful than
the old symlinks-in-etc or rc.conf files allowed.

It feels like the right solution to me. I just wish it was more intuitive to
use.

~~~
loudmax
I've found systemd to be fast and stable on Arch. There's a learning curve
associated with a new way of doing old things. That doesn't bother me that
much because this is how progress happens.

What I find far more disconcerting is that systemd seems to eschew core Unix
philosophy
([http://www.faqs.org/docs/artu/ch01s06.html](http://www.faqs.org/docs/artu/ch01s06.html)):

 _This is the Unix philosophy: Write programs that do one thing and do it
well. Write programs to work together. Write programs to handle text streams,
because that is a universal interface._

Systemd does none of these. Well, maybe it works with other programs... it
really feels like it's own world.

~~~
hga
That philosophy, which has many merits, was nonetheless a virtue forced by
necessity. UNIX(TM) is Multics with, as the name implies, various important
features ... omitted in squeezing down a big system, for a multiple 32 bit CPU
mainframe architecture, to minicomputers. The first PDP-11 they used, which
was not the first PDP model used, was the original, later named the PDP-11/20,
which had 56KiB maximum of memory (above was reserved for memory mapped
devices, an innovation of the architecture).

The 2nd, where they really got going, was the PDP-11/45, which allowed any one
program 64 KiB of code and the same of data, but due to its paging
architecture the data was divided into 8 KiB of stack and 56 KiB for normal
user data.

So now that we use computers with as much or more L1 and L2 cache, we can, if
warranted, ignore that philosophy. Don't know if that's the case here, the
gravamen is that systemd's development team is grossly irresponsible. Which
could be reflected in its architecture, but even if it was more in the
traditional UNIX(TM) philosophy, their being that way would be as bad.

I just hope the next version of Debian is not a disaster, would not like
moving off of it, not that I'm entirely satisfied with it.

~~~
killnine
So wait, some geniuses came along and banged out the OS of the future, in the
smallest purest form they could, and now decades later, just because our
computers have improved, you think it logical to ditch the philosophy that got
us here???

~~~
peawee
More like "some geniuses came along and banged out an OS that would suit their
needs on the limited hardware they had on hand"

~~~
felixgallo
The philosophy applies no matter how much hardware you have.

~~~
hga
Not going to directly reply to the reading comprehension impaired, but my
point is that part of the philosophy _was required_.

To print technical papers to a phototypesetter, one of the first use cases for
which the UNIX project got serious funding, required a pipeline so that, as I
remember, tables, equations and basic formatting were all separate programs
piping their output to the next, with troff at the end (as I recall, I only
used nroff in one step to a Xerox daisy wheel printer for one paper before I
moved to Scribe and then TeX to a laser printer). No one single program doing
all that could fit into the 11/45's split I&D address space as described
above.

Now we can and have made individual programs bigger, but the philosophies of
doing a limited number of things well and communicating by plain text are
still very solid for many applications (but, not, say, many of the use cases
of Photoshop/GIMP etc. Or a browser. Or (in)famously, the linux kernel
itself).

How much they should apply to system initialization and daemon management etc.
I just don't know, haven't examined the issue. Not entirely, I would hazard a
guess, certainly nothing I can think of that looks like the chain ending in
troff. That the creators of systemd are reported to have ignored this
philosophy does not automatically make it bad.

Their reported consistent bad behavior (from people I know and trust, at least
in the case of Ted Ts'o) would seem to make it automatically problematical.
That Linus felt compelled to revoke this person's kernel commit privileges
([https://news.ycombinator.com/item?id=7522791](https://news.ycombinator.com/item?id=7522791))
is also telling.

Or let's put it this way: a program like systemd must, by definition, "play
well with others", _that 's its job_ after all. That main developers can't do
that in the real world is a very bad sign.

------
devnonymous
Just a small note, this story was posted earlier today (
[https://news.ycombinator.com/item?id=7521153](https://news.ycombinator.com/item?id=7521153)
). For people looking for a tl;dr:

a. systemd hijacks the usage of the 'debug' parameter on the kernel command-
line for it's own purposes. In some cases this renders the system un-bootable.
Since kernel devs can no longer use a parameter that has literally been around
for _years_ and was introduced with the explicit intention to help debug the
kernel, this is reported as a bug against systemd.

b. The maintainer of systemd closes the bug as NotABug and refuses to fix it

c. A patch is posted on the lkml that simply 'hides' the debug flag from
userspace in retaliation.

d. The patch is accept and Linus expresses his anger at what he thinks is a
repeating pattern of behavior (to cause regressions, break userspace and
refuse to fix the cause of the breakage forcing kernel devs to work around the
matter). He also decides to ban systemd maintainer from committing to the
kernel

hth,

------
profquail
I'm not a heavy Linux user -- I mainly use Windows and FreeBSD -- but I'm
curious to know why none of the Linux distros have looked at using launchd?
It's being ported to FreeBSD
([https://github.com/rtyler/openlaunchd);](https://github.com/rtyler/openlaunchd\);)
is there some reason it _couldn 't_ work with Linux, or is it just being
overlooked/ignored?

I have heard that launchd doesn't have all of the features systemd does, but
launchd does seem to be fairly solid for the features it does support.

------
rcxdude
[http://lists.freedesktop.org/archives/systemd-
devel/2014-Apr...](http://lists.freedesktop.org/archives/systemd-
devel/2014-April/018390.html)

Can't say I'm terribly impressed by the communication on either side currently
(apart from the above email).

------
yoha
Google Cache of the linked article:

[http://webcache.googleusercontent.com/search?output=search&s...](http://webcache.googleusercontent.com/search?output=search&sclient=psy-
ab&q=cache:I4weZxyAFqUJ:http://lkml.org/lkml/2014/4/2/415%2Bhttps://lkml.org/lkml/2014/4/2/415&gbv=1&sei=SmA9U7n7E6nT0QWN5oFw&hl=en&ct=clnk)

------
dman
Can someone please copy / paste the post here - sadly google plus is blocked
for me.

~~~
loudmax
This is the entirety of Ted Ts'o's post.

 _For those who believe the systemd developers are reasonable and will listen
to constructive criticism.....﻿_
[https://lkml.org/lkml/2014/4/2/415](https://lkml.org/lkml/2014/4/2/415)

There are dozens of comments on the G+ page.

At the moment, I can't even pull up [http://lkml.org/](http://lkml.org/) Not
sure if that's an outage or just me.

~~~
Daviey
[http://www.gossamer-
threads.com/lists/engine?do=post_view_fl...](http://www.gossamer-
threads.com/lists/engine?do=post_view_flat;post=1897161;;list=linux)

------
adobriyan
I didn't know about "debug" until this post because I used "ignore_loglevel"
for years.

Kernel is fun.

