Slashdot Mirror


Debate Over Systemd Exposes the Two Factions Tugging At Modern-day Linux

walterbyrd (182728) sends this article about systemd from Paul Venezia, who writes: In discussions around the Web in the past few months, I've seen an overwhelming level of support of systemd from Linux users who run Linux on their laptops and maybe a VPS or home server. I've also seen a large backlash against systemd from Linux system administrators who are responsible for dozens, hundreds, or thousands of Linux servers, physical and virtual. ... The release of RHEL 7 has brought the reality of systemd to a significant number of admins whose mantra is stability over all else and who perhaps had not waded into the choppier waters of Fedora or Debian unstable to work with systemd before it arrived in RHEL.

9 of 863 comments (clear)

  1. How about we hackers? by Anonymous Coward · · Score: 5, Insightful

    I know quite a few of us in hacker culture who hate the fact tha systemd does not feel UNIXy at all. It breaks practically every principle of the UNIX philosophy. Reminds me of working with windows, and that is never fun.

    1. Re:How about we hackers? by 0123456 · · Score: 5, Insightful

      365 days without a security patch. Does uptime make you more money than protecting your customer data?

      Most of my servers are behind firewalls with no incoming connections through the Internet. And, yes, uptime matters when we're doing something more critical than serving funny cat videos.

    2. Re:How about we hackers? by MrKaos · · Score: 5, Insightful

      As for the unix philosophy, init systems pre-systemd hardly did just one thing and hardly did it well.

      Are you sure you are using it correctly. Whilst fussy, init is hardly complicated - perhaps you are thinking of rc?

      How does systemd remind you of windows?

      I think the binary log files is a good start.

      Have you actually *used* either in a system administration capacity?

      Yes, we've been testing systemd in-house extensively. It has compelling feature that I like (unit files are a big improvement) however the monolithic approach is a turn off. If it was a replacement for rc, I'd back it, however as a replacement for initd it is not.

      Whilst there is much pontificating about systemd, I think it is great for desktop systems however I can't see many enterprise deployments using it, it's just not ready for prime time. risk==downtime==2am working==no way

      I don't care if you call me a holdout. I know how to make systemd do what I want because I use it. Init is still simpler and more robust because while you see the blocking/slow startup as a problem, most experienced admins see it as init advertising what is wrong.

      systemd solves a problem that isn't really there.

      --
      My ism, it's full of beliefs.
    3. Re:How about we hackers? by TheRaven64 · · Score: 5, Insightful

      I don't know why you've been modded troll. The problem isn't binary files, it's complex files. All of your log files are binary, the difference is that you have a load of small tools that can work with the ASCII / UTF-8 text ones easily. As long as there's a small program that can be statically linked and run from a recovery medium to turn the log files into something that other tools can handle (or, ideally, can search them faster) then there's no issue. The problem is systems where you need the entire GUI and a big chunk of the userland applications stack working to be able to read logs.

      --
      I am TheRaven on Soylent News
    4. Re: How about we hackers? by Anonymous Coward · · Score: 5, Insightful

      That's right, Linux is monolithic, but on the other hand--and this is a crucial difference--Linus is hugely concerned about preventing breakage. Of all the large packages I use, the kernel is the one that gives me the least worry when it comes to upgrade time.

      L. Poettering, on the other hand, seems to relish in breaking things. He sure isn't big on commiserating with people whose systems his code has broken.

  2. Re:It's about control by caseih · · Score: 5, Insightful

    Today, the competent administrator can control startup, dependencies, etc on a granular basis. With systemd, that control has gone - somewhere else.

    How so? Systemd has removed my ability to start and stop services?

    How would a package mess with systemd's configuration? It's readily apparently no clue about systemd. Hint, it's no different than it was before. A package drops its own service definition file in a directory (sound familiar?). That's it. It's no different in this area than any other init system. If the file is bad, the service just won't start. Just as it was before. Runlevels or targets are defined the same way: with simple symlinks. Really in this aspect, systemd is no different than upstart or plain old system v init.

    This post is one example why the debate gets so heated. People like you post stuff that's only nearly half true, without knowing anything about systemd, except the name of one of the authors. FUD plain and simple. A technical debate is fine, but you've got to actually know what you're talking about before you start debating. So far I've seen zero technical debate on this site regarding systemd. Certainly no one is willing to own up to the flaws in traditional init that have led to systemd's development. It's extremely disheartening to see this kind of irrational fear instead of technical discussion.

  3. And apps while we're at it by knorthern+knight · · Score: 5, Insightful

    It's not just the init, it's also the applications that are being infected with Lennart-ware, e.g. gnumeric. It's a great spreadsheet, but recently it's been picking up various egregious hard-coded dependancies that simply don't make sense. This occurs mostly via GTK, which seems to pull in a significant chunk of GNOME.

    I run a minimalist Gentoo desktop, and I notice when additional dependancies are dragged in. The past year or 2 has seen goffice, ghostscript, harfbuzz, dbus, and various other crap become hard-coded dependancies for gnumeric. It was not necessary a couple of years ago. If I had several million dollars, I'd hire a bunch of progragrammers to port gnumeric from being dependant on GTK to being dependant on FLTK (Fast Light ToolKit) http://www.fltk.org/ Some of the money would go to ongoing maintenance.

    Another few million dollars, and I'd like to hire a team to hack and slash away at Firefox. I was around when "Phoenix" was forked as a lightweight alternative to the Mozilla web-browser. I savoured that promise. That promise has been dashed into the ground, with a Firefox that's bigger, heavier, and slower than the original Mozilla ever was. Time for a new fork.

    I want GNU-Linu-x, not GNOME-Lenna-x

    --

    I'm not repeating myself
    I'm an X window user; I'm an ex-Windows user
  4. Re:Not true. There's a different division by Endymion · · Score: 5, Insightful

    Your'e close - the split is indeed between the older Unix types and people that just want to be "users", but you need to recalibrate where their relative positions. Those of us that are against being forced to use[1] systemd see this in a different light. As computers became inexpensive over the last decade, a new generation of younger people joined the Linux community. They were young an inexperience, and often made well-known mistakes in their software. Thats was ok - we were all n00bs at first, and many of us tried to gently nudge the inexperience developeers in useful directions. Very few listened, and have now decided that anything "old" is bad.

    Listening to those that came before you is important, if you want to avoid making the same mistakes. A lot of those lessons are collected under what many refer to as the "Unix Philosophy". Mostly, that "philosophy" is jsut a handful of tricks that make maintainance saner. A lot of the stuff that people claim is "overcomplicated", "messy" or an "archaic design" is such an "ugly" state for a reason, and those messy bits are bugfixes. The nice ideal design we all starty with rarely fits exactly when we introduce it to the problems and unforseen circumstances in the real world. That ugly spaghetti-code-style hack that seems to ignore and bypass the "correct" way? That is probably a bug fix, and by removing it you probably reintroduce the bug.

    You call us luddites, but heed our warning at your own peril. Some bugs and bad designs have happened before, and a key reason why we don't like systemd is that it makes one of the worst mistakes you can ever make when designing software: it throws out the supposedly "old" or "ugly" parts. I suggest readoing Joel Spolsky's famous essay on this topic:

    you can ask almost any programmer today about the code they are working on. "It's a big hairy mess," they will tell you. "I'd like nothing better than to throw it out and start over."

    Why is it a mess?

    "Well," they say, "look at this function. It is two pages long! None of this stuff belongs in there! I don't know what half of these API calls are for."
    [...]
    The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they've been fixed. There's nothing wrong with it. It doesn't acquire bugs just by sitting around on your hard drive. Au contraire, baby! Is software supposed to be like an old Dodge Dart, that rusts just sitting in the garage? Is software like a teddy bear that's kind of gross if it's not made out of all new material?

    Back to that two page function. Yes, I know, it's just a simple function to display a window, but it has grown little hairs and stuff on it and nobody knows why. Well, I'll tell you why: those are bug fixes.

    Each of these bugs took weeks of real-world usage before they were found. The programmer might have spent a couple of days reproducing the bug in the lab and fixing it. If it's like a lot of bugs, the fix might be one line of code, or it might even be a couple of characters, but a lot of work and time went into those two characters.
    [...]
    When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work.

    Systemd is still at the early stage, where it can get away with this kind of bad design, but as more and more people start to use it and the never-ending list of Real World Problems starts to creep in, the systemd developers - and the distros that joined them - are goign to have one nasty mess on their ihands. It is going to be a nightmare to all of the bugfixes and real-world mess that was thrown away because it was "old".

    We tried to warn them, and were labeled luddites.

    Well, as B5's Londo Mollari put it:

    "Ah, arrogance and stupidity a

    --
    Ce n'est pas une signature automatique.
  5. Re:Are you sure? by serviscope_minor · · Score: 5, Insightful

    I think the reality is that SystemD makes life easier for distro builders, not for users, and that is why it has won.

    I think this is the underlying cause as to why the old guard are upset, and what a lot of the lawn-invaders don't really understand. It's not really about systemd.

    Linux used to be our system. It was unashamedly by hackers for hackers. The user was king because the user was a hacker and Linux built by like minded users. If there was something that sucked to set up or sucked to use it wouldn't win out because why would anyone want to make a system worse for themselves. Furthermore the builders were derived from all walks of hackerdom. Some were distro builders, some web developers, some kernel hackers and so on and so forth.

    For systemd, I don't even know if there's much wrong with it. But it is indicative of a deeper rift. Linux systems are now primarily build by professional distro builders and they don't do much on Linux except build distros day to day. And the vast influx of corporate money means that it's getting harder and harder (though not impossible yet) to avoid its effects.

    The end result is that Linux is no longer the ultimate hacker system, made by techies for techies. It used to be uncompromisingly awesome by the standards of the time for such people.

    Now compromises have had to be made, and the old guard are feeling the effects of the change. This amazing system which once you could bend to your will in any way imaginable is beginning to approach the type of opaque black box that they fought so hard to escape.

    That's the problem. Systemd is just yet another instance where it bubbles to the surface.

    --
    SJW n. One who posts facts.