Also, I assume this is not directly related to the recent resignation[0] of Heen. But does the resignation of two people (whose resignations were deemed worthy of being voted to near the top of the HN front page) within a few day span suggest concernening structural issues or is this just poisson statistics at work?
https://lwn.net/Articles/621895/ https://lwn.net/Articles/621003/ https://lwn.net/Articles/620879/ https://lwn.net/Articles/620878/ https://lwn.net/Articles/619749/
They are related in the sense that are all fall-out of the struggle to integrate or block systemd in Debian and/or how it exposed some problems with the Debian constitution.
It's a shame to see that so much talent is lost and frustrated over what in my eyes seems to be a small issue. systemd and Upstart are both a large improvement over the System V init scripts. So, it's quite logical that it should be replaced at some point. Since systemd seems to have the most traction in other major distributions and upstream software, it makes sense to make that the default, while making it still possible to switch to Upstart et al. if someone wants to (at the risk of losing support for some upstream software).
If it turns out in three years that systemd is a dead-end, rip it out, and use whatever is better then. Distributions did that with devfs, the old hotplug scripts, egcs (which was merged back in mainline), etc.
Personally I don't really care much either way.
Definitely. But this is probably true for many things at a low-level in the stack. E.g., it would also be hard to replace D-BUS or the Linux kernel (as evidenced by the fact that Debian/KFreeBSD will probably not be in Jessy).
I agree that it is a worry. But you can never make progress without taking any risks. We have tried 'fully isolated init' for years and it does not really work for modern systems/applications.
We have tried 'fully isolated init' for years and it
does not really work for modern systems/applications.
I keep hearing this but I haven't seen any concrete reasons why it would be true. I'm curious what those reasons are. As I said I don't personally care that much as I work far enough up the stack to not be affected for the most part.The way I see it is that the systemd developers just plowed a way through the undergrowth and produced a suite of components that provide functionality that's appealing for people to build on. That's an offering that was accepted and now other people complain that the "systemd people are forcing their system on us and I want sysV init". The right course of action would be "meh, don't like systemd, I'll build a better offering." Talk is cheap, code is what counts.
I very much like systemd. It's documentation is actually long, but clear and well structured. The init component is much simpler than the mess of shell scripts used before. There certainly are problems and issues with it, but I've met problems and issues with about any kind of software I had to deal with so far (including my own), so I take that as a given.
The right course of action would be "meh, don't like
systemd, I'll build a better offering." Talk is cheap,
code is what counts.
This statement seems to ignore Upstart though. Which is again from a very cursory examination exactly that. A better and more modular init without some of the complaints of systemd and yet is not gaining the mind share.Why isn't it considered a viable alternative?
That's not that hard once you have proper dependency-driven init, Gentoo's done it for a long time. You just need some way for the networking scripts to tell init that they're started now. Traditionally they'd do it by forking into the background once they're done starting just like any other init script. It's a bit harder if the network might not become available until after startup but not that much so.
http://0pointer.de/blog/projects/socket-activation.html
Socket activated containers:
http://0pointer.de/blog/projects/socket-activated-containers...
Resource management:
http://0pointer.de/blog/projects/resources.html
Better service information:
http://0pointer.de/blog/projects/systemctl-journal.html
In fact, the whole series is a recommended reading. Anyway, all these features requirer tighter integration with other components than SysV init. E.g. Linux' cgroups, services that support socket activation, integration with the logging system for status information, etc.
Also, a lot of techniques in systemd were already pioneered in launchd on OS X since Tiger.
It's "you're stuck with this architecture unless you redo the whole darn thing". And, again, systemd keeps getting larger and larger. As you say, it isn't that hard to replace sysvinit. But to replace systemd you need to replace / write shims for far more things. (Your window manager? I wish I was joking...)
(See also: both sides on pretty much any political issue in the past few years)
It's sad that people resigned over it but the pain itself seems unavoidable from where I'm sitting.
If there's enough time and energy in the community to be throwing death threats around, surely there is enough energy to maintain debian/systemd and debian/upstart as separate distros, both of which live happily ever after, sharing the 99.999% of code and infrastructure that they have in common? Then if one side really IS technically superior, people will naturally end up moving to that one and the other will die a gentle natural death, no personal attacks and resignations needed.
(For example, see what happened when Canonical wanted Debian to be more apple-like -- they didn't send death threats to Debian developers, they just did the work that they wanted to see done, and now both projects are a great success)
There's some strife at both levels, the level of discourse is quite a bit different as is the level of publicity, and the level of actual impact.
You could be correct about modern culture and public non participant trolling culture. But there are more groups involved than just that (loud) group.
Dude ...
Of course English being not my mother tongue I didn't have enough vocabulary to express my distress at the mental picture that exploded in my brain when I read those words.
I thought "dude" conveyed best my disgust, puzzlement and amazement :-)
I don't hate you though.
There are also other issues. Yes, sysvinit doesn't parallelize scripts or do automatic dependencies. If that's all systemd fixed, I'm sure everyone would be for it. But systemd seems to be consuming everything in its path (logging, cron, etc), ignoring the well-proven and time-tested design tenet of "do one thing well".
https://teythoon.cryptobitch.de/posts/on-portability-of-init...
Besides, none of these are release architectures, so why should their limitations restrict what features >99.9% of Debian users have available?
Windows has even more traction, how about replacing all distributions with windows then?
Systemd has been very good for me in Arch and in OpenSUSE for me. I feel like it is a much better tool for my needs.
Userland utils like wget depending on a specific init package is a large improvement over sysvinit? Nope.
On Arch at least, wget depends on util-linux (package containing kernel tools like mount, dmesg etc.): https://www.archlinux.org/packages/extra/x86_64/wget/ And util-linux depends on systemd: https://www.archlinux.org/packages/core/x86_64/libutil-linux...
I have to assume this is Arch-specific, because I can't anything that basic as util-linux including a dependency on a specific init tool (and given there are still distros using other inits than systemd and still working fine...)
~ $ y -Qi libutil-linux | grep Depends
Depends On : None
EDIT: conversely, these are the packages depending on systemd: ~ $ y -Qi systemd | grep Required | fmt
Required By : accountsservice chromium colord crda cups
device-mapper gnome-session lib32-systemd libgdm libgusb libpulse
libusb libvirt libwacom lvm2 media-player-info mesa mkinitcpio
netctl polkit procps-ng qt5-base qtwebkit rtkit spotify subversion
systemd-sysvcompat udisks2 upower xf86-input-evdev xf86-video-ati
xf86-video-modesetting
As a sysadmin and developer I don't understand this systemd-hate. If you ever have written a /etc/init.d script for a python non-daemoning script running in a virtualenv, or something to the same effect, you'd notice the improvement over SysV init scripts.Upstart is nice too, but as a Linux desktop user I love socket activation: I can have cups, avahi and other optional/non-critical daemons "active" but not actually using any resource, until effectively used by some other process.
[wget]-depends-[libuuid1]-recommends-[uuid-runtime]-depends-[libsystemd0]
Ph’nglui mglw’nafh Cthulhu R’lyeh wgah’nagl fhtagn
Vote: https://lists.debian.org/debian-devel/2014/11/msg00891.html
How many votes will there be about systemd in Debian that will turn out inconclusive?
Also, I have yet to see a single article of somebody running into all the various horror scenarios envisioned by adversaries of systemd. I mean: Multiple distros have already switched and there still aren't that many blog posts about systems dying in flames because of the switch.
I would so love for this discussion to happen based on technical merits and (by now actually available) real world experiences than FUD (on both sides)
There can only be a single default init system obviously, so a vote was required there. It was a hot topic, no need to rehash this.
The second vote, initiated by Ian Jackson, was controversial from the start. A lot of people were tired about the init topic and wanted to move on, and didn't want the GR. And they got the majority here: the result of the vote is "General Resolution is not required". This is the majority clearly expressing it's now time to move on. And to be honest I'm happy about this, although I'm just a Debian user and do not vote. With this, it's now unlikely to be another vote.
And this desire to move on can be now felt on all sides of the argument, hence the resignations and people moving to other things. I just want to point out that except for Joey Hess (really sorry about that) all are still remaining part of Debian. They just move out of the TC (or systemd maintainership) but are still DD, working on some parts of Debian.
And now, hopefully, everyone can cool off and move to other things too.
It's not incorrect to do that. Nothing crashes. It might actually even be faster or use less memory if you were sufficiently clever about it. However, the argument is that you just bought yourself a future full of pain and misery for not a big enough present gain.
Look at poor technical decisions from the past. The earliest browsers were encouraged to be liberal in what they accepted (an adaptation of Postel's law to HTML parsing). I think a lot of people today regard that as a decision that probably held the internet back by a decade -- think of the time we wasted writing compatibility layers and artificially restricting what our web pages could do. But it wasn't immediately obvious that that was the case. It took 10 or 15 years for the implications of that decision to really hit home.
What happens next is not a collapse of the world. It's a slow accrual of follow-up decisions that are needed to keep the lights on, until one day you look at the Eldritch horror you've had to build over 10 years and go, "Jesus, that was a bone-headed idea." Maybe they're completely wrong in opposing it, but systemd isn't anywhere near old enough to have decided that just yet.
And there wasn't a faultless alternative either. It's not like upstart or sysvinit was so good that you need to invent anything to explain why systemd won out. It won out because people either don't share my mild aversion to its design or because they chose functionality on Linux over elegance/portability/fill-in-your-own-thing. And hey, that's a Pareto-optimal choice as well.
Perhaps the only thing everyone on all sides can agree on is funny, is that "further discussion" didn't get many votes. Somewhere last night I read a quote about there's hundreds on each side but only nine masochists who voted for "further discussion"
One i found some months back when the whole systemd issue got my attention was of someone that ended up doing a parallel arch install to read the journald logs.
Going from memory the problem seemed to be that he could not run the required command to get the logs dumped into readable form without systemd running as pid1. And systemd was refusing to boot for no apparent reason.
Thats the kind of thing that will get seasoned admins, that are used to cat being all you need to get at the logs, backing away with a "no way, no how".
As far as I can tell, the whole brouhaha started when there was a bug in the packaging of syslog-ng so it would not start properly after installing systemd. Since syslog-ng was not running, the only logs left were journald’s binary logs, and people assumed that “systemd ate my log files!”. No. It was a bug, the bug was not even in systemd, your log files will always be where you want them.
Unless you uninstall your syslog daemon, but then you are on your own.