Re:Results of the Debian systemd survey
by VLM on Tuesday May 28, 2013 @07:58AM
(#5779390)
That's a good list of 30 or so myths and a pro-systemd explanation. It would be interesting to have an anti-systemd rebuttal. The explanation that systemd is non-monolithic "in design" because each binary can be separately packaged "in packaging phase" was pretty lame because it confuses the topic to "win", although also completely irrelevant (A better answer would have been, ok, assume inductively for the sake of this discussion that it's monolithic... given that inductive assumption, so what?).
1) Are there any significant/serious myths not listed?
2) Does it matter? What I mean by that is the systemd wars remind me a lot of the sound wars from years ago. $user installs a sound system (alsa, pulse, oss, doesn't really matter). It'll probably either work perfectly or miserably fail. If it works, $user will blindly love that sound system and brag about it. If it doesn't work, $user will trash talk it all over the internet. The facts don't seem to matter, just the results of one anecdotal experience. In an environment like that its nearly impossible to learn anything from the community about systemd.
It reminds me a lot of those geniuses who post on world wide forums how no one in the world should sign up for $cellphone_provider because their local tower has poor coverage. That's just great, as if the other 99.9999% of the population should care.
Re:Results of the Debian systemd survey
by rmk2 on Tuesday May 28, 2013 @08:36AM
(#5779555)
Of course its a "pro-systemd explanation", it's Lennart Poettering's blog. Not that it takes anything away from his explanations, it's a good post. One can at least assume he knows what he's talking about...
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @09:07AM
(#5779714)
Seems you're just confusing things.
Why do you suggest systemd is monolitic. What is the problem actually? There are various independant parts. E.g. the logind bit is now used by Canonical on upstart. Seems your issue is some theoretical problem while in practice systemd is just not monolithic.
Re:Results of the Debian systemd survey
by npsimons on Tuesday May 28, 2013 @12:27PM
(#5780957)
This is one of many reasons why I love Debian. Very agnostic, very reasonable approaches to issues like this, and above all, whether or not systemd ends up as the default, I can almost guarantee people will still have the option to very easily switch to (or from) it in Debian.
That being said, I can definitely second many of the top concerns listed, chief among them: non-greppable logs (binary formatted) and too much complexity/trying to do too much.
Re:Results of the Debian systemd survey
by jlgreco on Tuesday May 28, 2013 @03:27PM
(#5782140)
I had no problems with systemd when I was using Fedora on my laptops (I never had to interact with it at all), though right now I'm using Debian without systemd and have no problems either. I don't really have a dog in this fight; it seems either solution is going to stay out of my hair and do what it needs to.
Nevertheless, the concept of binary logs really annoys me and I have yet to see a satisfying explanation of why it should be necessary. The best I've seen is "well windows uses binary logging too" and "the syslog text format sucks", but neither of those satisfies. Windows does plenty of shit that should not be mimicked, and the benefits of text logging are severely dampened on Windows anyway (on account of Windows not being Unix.) Furthermore, the syslog text format sucking is not an argument for not using text logs in general, only an argument for not using the syslog text format specifically.
Why can't we have a reasonable non-syslog text format for logs?
Re:Results of the Debian systemd survey
by thaumaturgy on Wednesday May 29, 2013 @01:32AM
(#5784778)
I have had a problem with it -- or, rather, a problem which it made more difficult. From a comment a few months ago in a systemd thread (https://news.ycombinator.com/item?id=5124589):
> "Getting smbd/nmbd to work again was a real adventure. Like other users reported, it would just silently fail when starting it from systemd. No error message when issuing the start command, and only a vague "failed" in status. I ended up having to track down Lennart's blog post on "systemd for administrators" to figure out how in blazes to extract anything useful from that cussed binary log system he invented. My first half-dozen or so attempts to get anything useful out of the log journal got exactly zero results; I finally got lucky on another approach..."
I'm really not fond of the idea of having to search logs for information. Being able to page through them is actually super nice. Being able to tail -f them while kicking a process over and over again to see why it's mad at me is also really nice. I think I've heard that some people have come up with tools that will translate the binary log data back to text again, which helps, but that seems a little silly.
I'm running Debian (on everything that's not running BSD) now in part because they've been deft so far about handling the transition to systemd. I'm sure Debian will switch to it eventually, but I also trust them to make sure the major issues are all dealt with before they do.
Re:Results of the Debian systemd survey
by jlgreco on Tuesday May 28, 2013 @04:31PM
(#5782544)
Well, technically I suppose systemd doesn't, journald does (and systemd requires journald, and journald is made and shipped by the same people....).
I'm not opposed to a "next-gen syslog", but yeah, that isn't a push that should be done in such close connection with systemd. A better approach would be to make rsyslog more than just a syslog daemon and build up a new protocol and storage format with it, with the full intention of standardizing it. (the syslog protocol is a pain in the ass, particularly that hard limit on facility numbers... Fix that first, then roll from there. Make rsyslog treat syslog like Vim treats vi: capable of falling back to compat mode, but better by default.)
Re:Results of the Debian systemd survey
by anonyfuss on Tuesday May 28, 2013 @04:41PM
(#5782618)
> Well, technically I suppose systemd doesn't, journald does (and systemd requires journald, and journald is made and shipped by the same people....).
Technically indeed. If you try to forcibly disable journald, it causes causes dependency failures that result in you dropping to an emergency prompt.
Of course this doesn't stop Lennart Poettering from using the existence of separate but interdependent daemons as 'proof' that systemd isn't a monolithic ball of mud.
> I'm not opposed to a "next-gen syslog", but yeah, that isn't a push that should be done in such close connection with systemd. A better approach would be to make rsyslog more than just a syslog daemon and build up a new protocol and storage format with it, with the full intention of standardizing it. (the syslog protocol is a pain in the ass, particularly that hard limit on facility numbers... Fix that first, then roll from there. Make rsyslog treat syslog like Vim treats vi: capable of falling back to compat mode, but better by default.)
Agreed. This is what Apple did with asl(3); it's a modern syslog replacement that happens to still support the syslog protocol and syslog(3) APIs.
There's no reason a modern logging daemon can't be portable to other systems, too; it shouldn't be doing anything so crazy as to be impossible to run elsewhere, whereas since systemd is an intentionally non-portable kitchen sink, no other UNIX is going to run with journald.
Re:Results of the Debian systemd survey
by viraptor on Tuesday May 28, 2013 @07:50AM
(#5779367)
If Debian manages to actually use systemd by default, that may have interesting implications for Ubuntu which I think is the only major distro using upstart. All depends on how deeply would systemd be integrated of course, since Ubuntu already rewrites most of the system startup scripts for use with upstart anyway. I'd like to see some comment from Canonical people about how that would affect them.
Re:Results of the Debian systemd survey
by qznc on Tuesday May 28, 2013 @08:02AM
(#5779401)
The anxious parties are mostly the BSDs and maybe Ubuntu.
Other using systemd is not a problem for anybody. The problems start once the higher-level stuff (X.org,Wayland,Gnome,KDE,gdm,etc) requires systemd. The question is whether the anxious parties have enough devpower to maintain portability layers and especially the BSDs may not.
However, by Adams Law of Slow-Moving Disasters [0] these problems will be resolved in time.
Re:Results of the Debian systemd survey
by nitrogen on Tuesday May 28, 2013 @09:24AM
(#5779819)
One of my concerns with systemd is that kernel interfaces for input and display devices will begin to assume its presence, negatively affecting my ability to use /dev/input/event* or /dev/fb* in embedded systems.
Re:Results of the Debian systemd survey
by anonyfuss on Tuesday May 28, 2013 @01:20PM
(#5781241)
That's the way Mac OS X is written. They certainly haven't bundled the entire universe into a single master "system daemon" project.
A few, off the top of my head:
configd: A configuration store that handles storing (and monitoring changes to) configuration. It supports arbitrary plugins, such that other dependent systems can inject their own implementation code if necessary. It depends on kernel notification APIs and network notification APIs that are implemented at a different level.
launchd: Starting/stopping/restarting services, on-demand and on a schedule, per-user and system-wide.
diskarbitrationd: Handles mounting/unmounting of file systems, and notifies clients of changes to mounted file systems.
opendirectoryd: Handles namespacing of local and remote user/data directories. This includes LDAP, local user accounts, etc.
mDNSResponder: Used to be just the mdns daemon, now handles all name resolution and local caching.
All of these things have been iterated on independently over time, are loosely coupled with each other, and do not create tight bindings between Mac OS X and open source software, nor do they require huge non-portable changes to open-source software.
The precursor to opendirectoryd was netinfo, which also used to handle name resolution and caching. Later releases of Mac OS X moved name resolution into directory services, and then eventually into mDNSResponder. launchd replaced system starter (similar to initd/rc), cron, and a number of other services, but maintained 'perfect' backwards compatibility with the standard configuration file formats (eg, crontab(5)).
These are just a few of the (independently maintained, internally) projects/daemons that Mac OS X layers together to produce the desktop. You don't need a huge monolthic project to tackle all these problem domains, as evidenced by the fact that Mac OS X works.
You also benefit from laying these projects cleanly, as it allows them to tackle what they're good at, provide a stable interface, or even be swapped out entirely later.
Re:Results of the Debian systemd survey
by anonyfuss on Tuesday May 28, 2013 @02:20PM
(#5781653)
> Actually, launchd replaces init, inetd, crond, atd, and watchdogd.
That's not a "system daemon". Let's break it down:
- init: start/stop services
- inet: start/stop services
- cron: start jobs on a schedule
- atd: start jobs on a schedule
- watchdogd: restart services
Notice the commonality? launchd launches services, possibly on a schedule.
> I mean where do you think systemd got the idea from? :)
systemd is monolithic and system-invasive in ways that launchd never could be, or that anyone wants it to be. Just take a look at the systemd feature list[1]: Quota handling, swap handling, encrypted disk handling, kernel module loading, graphical UI, syslog replacement, console/keyboard configuration, X11 integration, fsck handling, serial console handling, and more!
Systemd is a crazy kitchen sink of a project. It's no wonder that it's non-portable, and I can't imagine trying to evolve the components of a system that came to rely on it. The minute you want to change how an OS subsystem works (eg, such as the automounter), you'll have to dig into the non-portable/non-abstracted systemd code.
Re:Results of the Debian systemd survey
by bitwize on Tuesday May 28, 2013 @02:52PM
(#5781875)
Yes, but... five second boot time!
Notice the commonality? launchd launches services, possibly on a schedule.
And so does systemd. The other stuff is handled by separate daemons that are part of the overall systemd project. See? Separate processes! That means it's not tightly coupled at all!
Personally, I feel that systemd is a shitfest -- so bad I switched back to slackware from Arch, being more than willing to sacrifice bleeding-edge distro releases and dependency management just to avoid it -- and that the unix way is how things should be developed. It's been a while since I've really been on top of Mac OS X internals, but if what you say is true they're doing a much better job of remaining modular and loosely coupled than Lennart has been.
But the CADT hivemind has declared the traditional Unix model obsolete. They tend to do a lot of throwing out babies with the bathwater, then rationalize it by saying obviously they were children no one wanted, and aren't we overpopulated enough as it is. I don't think Lennart is particularly innovative in this regard; he learned the game from the GNOME team. When the rationale for your black hole in my /usr/lib is called "Let's Make Unix Not Suck", you know you're a special breed of arrogant.
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @04:00PM
(#5782350)
systemd can boot quite a bit faster than just 5 seconds. In any case, do you have any specific complaints? Your post is pretty long but lacks specifics.
Re:Results of the Debian systemd survey
by bitwize on Tuesday May 28, 2013 @04:25PM
(#5782514)
Pid 1 does a lot.
You lost me right there.
Beyond that, the fact that the basic fundamental underpinnings of a Linux system are large monsters that try to do everything, and depend on dbus and libthis and libthat, is deeply offensive. So is the fact that despite there being many daemons in "systemd", they all depend on each other so that to get the benefits of one you have to take them all. It's the GNOME style of programming. I've hated GNOME since 1999 when it first came out, but I didn't worry too much about it since I never used it. But if this crap becomes the norm at a basic system level, it obviates the reason I got into Linux in the first place: to have a clean and useful Unix system that does the minimum it needs to do and otherwise stays the hell out of my way.
Re:Results of the Debian systemd survey
by anonyfuss on Tuesday May 28, 2013 @04:14PM
(#5782438)
> systemd can boot quite a bit faster than just 5 seconds.
So can other operating systems, no monolithic kitchen sink of systemd required [1].
[1] I realize that having 69 totally interdependent and non-portable daemons is considered "non-monolithic" in systemd-land, but I live in the real universe.
Re:Results of the Debian systemd survey
by jeltz on Tuesday May 28, 2013 @07:50PM
(#5783643)
Other init systems are just as bad. It is not like the scripts and executables used in sysvinit or upstart are any more portable than the systemd executables (which are not daemons). They are usually less portable since many of them are distro specific.
If anything you should call systemd out for inventing another standard to solve the problem of there being too many standards.
Re:Results of the Debian systemd survey
by noselasd on Tuesday May 28, 2013 @10:16AM
(#5780164)
Because, as the parent said, as higher level projects, starts requiring systemd, the BSDs will either have to port over systemd and replace their init system, or keep around patches to go around systemd requirments for every application that needs it. Neither is desirable and would take non-trivial effort.
Re:Results of the Debian systemd survey
by jeltz on Tuesday May 28, 2013 @10:19AM
(#5780183)
Because (as qznc stated) they are worried that various applications will start to rely on systemd features so that BSD either will have to maintain a compatibility layer or be stuck with old software.
Re:Results of the Debian systemd survey
by anonyfuss on Tuesday May 28, 2013 @11:40AM
(#5780648)
footnote: because the maintainer (Lennart Poettering) is religiously anti-portability.
This is a shame, because it makes for brittle software, even when targeting the same platform where APIs do shift and improve over time.
To quote:
> 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!
I find this to be extremely cringe-worthy; I can only hope that a Linux monoculture isn't the future of open source development.
Re:Results of the Debian systemd survey
by npsimons on Tuesday May 28, 2013 @12:33PM
(#5780983)
I hate with a passion having to work on just about any platform besides Debian/Linux. Call it what you will, I'm just very comfortable and satisfied with how Debian/Linux works. That being said, to be anti-portability is just plain unprofessional. Just having a second non-gcc compiler to test against for, say C++, is a blessing in that it's bound to make you rethink how you code and to catch problems well before they happen. The more platforms you can test against, the better your code will be. And much as I love Linux, I would hate to see it stagnate and become the only OSS option. I think Poettering has had an attitude problem for quite some time, and unfortunately he doesn't seem to be getting any better.
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @04:01PM
(#5782361)
Do you really think BSD would replace their init system with something not BSD licensed? Seems like a pointless exercise to slow down progress just for theoretical usecase.
Re:Results of the Debian systemd survey
by npsimons on Tuesday May 28, 2013 @11:21PM
(#5784383)
Which is part of my point; although BSD is not my personal license of choice, I really think it would be a bad idea to have Linux distros (or apps higher in the stack) be incompatible with the BSDs, eg by requiring something Linux specific (eg, systemd). I'm not a big fan of systemd; I really think is too wide in scope, and making the logs binary doesn't make sense to me. It might be more acceptable to me if they dual licensed it (GPLv3 and BSD) so that it could be ported to and used in the BSDs (among other systems); that would also give the bonus of improving the code (which making it portable almost always does). Alas, none of these concerns are likely to be addressed satisfactorily.
PS - So-called "theoretical" use cases have probably been the number one source of bugs (especially security holes) in the history of software. "Oh, don't worry about checking array bounds, nobody would be stupid enough to write too much data!"
Re:Results of the Debian systemd survey
by msbarnett on Tuesday May 28, 2013 @12:12PM
(#5780867)
The choice between 'portability' and 'ifdefs' is a false dichotomy. There are far cleaner ways to achieve portability, and ifdefs are almost always a sign of 'doing it wrong'.
See, for example, Kernighan and Pike talking about portability in The Practice of Programming.
Re:Results of the Debian systemd survey
by npsimons on Tuesday May 28, 2013 @11:42PM
(#5784461)
Code coverage tools are available. Porting software to other platforms is just one crude, but very effective way of testing different code paths, some you can't even see (unless you are in the habit of stopping at each compile stage and checking things such as the compiler's assembler output . . . ).
Re:Results of the Debian systemd survey
by anonyfuss on Tuesday May 28, 2013 @11:55AM
(#5780737)
> The opposite is true: Abundant use of #ifdefs makes for unmaintainable and brittle software.
False dichotomy; simply don't make abundant use of #ifdefs.
Most large, portable projects don't use #ifdefs across the codebase. They abstract the core concepts out into interfaces that can be implemented atop different APIs, and then maintain distinct implementations where necessary.
The advantage is that this also insulates you from changes to the underlying system APIs, creates testable code, and provides clean well-defined points of interaction between subsystems.
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @04:04PM
(#5782379)
Another layer of abstraction just results in more complicated code, more bugs, more difficulty testing the different code paths. Might be fine for a lot of projects, but this is just something to boot up your system.
Re:Results of the Debian systemd survey
by anonyfuss on Tuesday May 28, 2013 @04:21PM
(#5782490)
> Another layer of abstraction just results in more complicated code, more bugs, more difficulty testing the different code paths.
No. A proper approach to abstraction:
- Reduces complexity by reducing interdependency between subsystems.
- Facilitates testing by reducing interdependency between subsystems, and reduces bugs by facilitating testing.
- Allows for iterating components of the code base independently, and more easily adapting to changes to underlying components and subsystems, whether in the software themselves, or part of the system(s) the software relies on.
> Might be fine for a lot of projects, but this is just something to boot up your system.
Actually, this isn't just something to boot up your system (and if it was, it would be even easier to keep portable).
Instead, systemd a kitchen-sink-replace-everything-daemon that introduces massive cross-system/cross-module dependencies.
Re:Results of the Debian systemd survey
by ognyankulev on Tuesday May 28, 2013 @08:10AM
(#5779437)
Even if systemd becomes default in Debian, probably there'll be ways to replace it with other system/service manager because of the Hurd and kFreeBSD ports. In Google Summer of Code 2013 there's even porting OpenRC to Debian: http://wiki.debian.org/SummerOfCode2013/StudentApplications/... .
Re:Results of the Debian systemd survey
by IanChiles on Tuesday May 28, 2013 @08:06AM
(#5779416)
Canonical will learn that soon enough anyways, with everything surrounding Mir. And I'm glad. Their current way of doing things reminds me a lot of how GitHub works with open source, with the major difference that where GitHub builds completely new systems when they're needed/the alternatives aren't up to par, Canonical builds them all over the place, when many times it would be better if they contributed to the existing projects (Wayland, systemd) and expect the same community support that GitHub gets surrounding their open source code (Resque, Chronic, Jekyll, etc).
It's kind of disheartening that Canonical keeps trying to "disrupt" existing open source projects by muscling their way behind their own projects, developed in secret, with little to no community input. /rant
Re:Results of the Debian systemd survey
by rlpb on Tuesday May 28, 2013 @10:21AM
(#5780191)
This is a common complaint about Canonical. But your post is misleading at best.
upstart forged a new path at a time when systemd didn't exist. Ubuntu pioneered it in order to solve a specific problem for which no other solution existed at the time (desktop boot speed).
You can complain that Ubuntu has not switched to systemd if you wish, but it is systemd that went down its own path, dragging other upstream projects with it (eg. udev).
Red Hat switched to upstart initially, and has now decided to drop it in favour of a new project (systemd).
Re:Results of the Debian systemd survey
by nknighthb on Tuesday May 28, 2013 @08:29AM
(#5779524)
Lennart works almost alone, his "open intentions" are to explicitly not support the wider open source community (like non-Linux kernels and non-GNOME desktops), and he "contributes" to virtually nothing but his own inventions of questionable technical merit.
Re:Results of the Debian systemd survey
by buster on Tuesday May 28, 2013 @09:11AM
(#5779742)
I don't see anything wrong with a single developer concentrating on a few projects? How many developers do you know that make significant contributions to many different projects?!
Do you have a source for you claim that lennarts explicitely not supports non-Gnome? I think it is pretty clear that he doesn't support non-Linux, but why is that wrong?
On the other hand: What i don't like about Canonical is their latest move to first pretend to support Wayland and then mysteriously presenting Mir all the while spreading bullshit about how Wayland is not good enough.
Re:Results of the Debian systemd survey
by nknighthb on Tuesday May 28, 2013 @09:29AM
(#5779858)
> I don't see anything wrong with a single developer concentrating on a few projects?
Neither would I, if they were projects worth concentrating on or of any meaningful long-term value to the community.
> I think it is pretty clear that he doesn't support non-Linux, but why is that wrong?
systemd invites/demands dependencies on its own, unique interfaces that do not and will not exist outside Linux. This retards progress of other projects in supporting non-Linux systems.
> What i don't like about Canonical is their latest move to first pretend to support Wayland and then mysteriously presenting Mir all the while spreading bullshit about how Wayland is not good enough.
Red Hat began to support Upstart before switching to their in-house systemd and spreading bullshit about how Upstart is not good enough.
Why is it OK when Red Hat tries to come up with new things but not Canonical? Do you work for one of these companies?
> Looking into the git contributions he is not even the one who contributed most!
Re:Results of the Debian systemd survey
by buster on Tuesday May 28, 2013 @09:45AM
(#5779978)
No, not working for any of them. See my comment that it's still incorrect saying Lennart does all the work.
You can easily check the git yourself, go ahead.
Even taking out udev shows Kay Sievers contributing nearly as much as Lennart. It also shows many other people contributing. That there is a main developer that does a lot of work is not something negative about a project, isn't it?!
Re:Results of the Debian systemd survey
by rlpb on Tuesday May 28, 2013 @11:35AM
(#5780619)
> their latest move to first pretend to support Wayland
In November 2010 [1].
> and then mysteriously presenting Mir
In March 2013 [2].
Technologies change. The best path to follow can change. Switching paths over two years is surely acceptable and reasonable for any company. Claiming that Canonical "pretended" is false and misleading - or do you have any evidence of this?
> Looking into the git contributions he is not even the one who contributed most!
Others have already rebutted this: udev accounts for most other contributors, leaving Lennart for the vast majority of systemd.
Do you have anything to say that isn't deliberately misleading?
Re:Results of the Debian systemd survey
by mseepgood on Tuesday May 28, 2013 @12:02PM
(#5780788)
> In March 2013 [2]
Development of Mir started 9 months earlier. So they basically lied into the face of the whole Free Software community and the Wayland developers who counted on their support by not communicating their change of heart.
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @09:10AM
(#5779734)
Explicitly not support other desktops? That's wrong, systemd is supported by various desktops. In any case systemd is different level, a desktop should add support, not the other way around. Obviously best if a systemd developer helps out with that effort in a desktop, but suggesting systemd project needs to have knowledge/support for desktops is crazy. It doesn't support GNOME, GNOME has support for systemd!
Re:Results of the Debian systemd survey
by nknighthb on Tuesday May 28, 2013 @09:22AM
(#5779806)
> systemd is supported by various desktops
Various desktops were forced to adapt to systemd's insanities. This is different from systemd attempting to be a good citizen and support existing mechanisms.
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @10:34AM
(#5780266)
Just because I pointed out flaws in your arguments doesn't make it ok to respond like this. Please refute what I said based on clear references and without name calling such as "insanities".
E.g. you said: "forced": prove it. Also, you didn't back up your previous claims, just made different claims.
Re:Results of the Debian systemd survey
by nknighthb on Tuesday May 28, 2013 @08:58AM
(#5779663)
Thank you, I've read Lennart's shameless lies on this and many other matters. The truth in this particular case was revealed by Steve Langasek in the recent debian-devel thread[1]. Almost 80% of the systemd code is by Lennart.
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @04:11PM
(#5782424)
Nope, that is changing the wording to suit yourself. He started the project and is able to work full time on this.
A Mageia packager contributed some very good patches towards systemd. He's not in the email on debian-devel, while he monitors systemd , works with Lennart and others, etc.
Our Mageia packager is not included. One of the patches he wrote: During the development of the journal he fixed a really important journal memory bug. Took a lot of effort to figure out, etc.
But the arbitrary '100 patches' is introduced. Seems rebuttal is pretty biased.
PS: Upstart has had 17 contributors. Systemd has 15 people with commit access. Systemd seems way more viable.
Re:Results of the Debian systemd survey
by buster on Tuesday May 28, 2013 @09:15AM
(#5779762)
That's just not true, you are talking bullshit here.
You can look into the git repository yourself and see who contributed most lines. And it was Kay Sievers, not even Lennart Poettering.
edit: @nknight followup:
Did you even look into git for yourself?
Even with excluding udev the top contributors are:
613 Fabiano Fidêncio
812 Lukas Nykryn
929 Auke Kok
1138 Simon McVittie
1149 Marc-Antoine Perennou
2125 Dan Horák
2215 Thomas Bächler
3619 Harald Hoyer
7924 Michael Biebl
18850 Zbigniew Jędrzejewski-Szmek
30226 Tomasz Torcz
168803 Kay Sievers
170196 Lennart Poettering
Re:Results of the Debian systemd survey
by nknighthb on Tuesday May 28, 2013 @09:19AM
(#5779783)
Did you read the link?
Kay Sievers wrote udev, which Lennart swallowed into systemd and proceeded to make unusable outside his own pet configurations. Exclude the pre-existing udev, which was and should have remained a separate project, and it's all Lennart.
Re:Results of the Debian systemd survey
by ldng on Tuesday May 28, 2013 @10:07AM
(#5780111)
It feels like you are implying Kay didn't work with Lennart. it's simply not true. The systemd mailling list was created in May 2010 and Kay was already registered and posting there. Check the archives. They were working on systemd from the start in a RedHat-Suse joint effort.
Also udev merge into systemd would have not happened without Kay's consent.
And I don't understand why people get downvoted just beacuse they correct you.
Re:Results of the Debian systemd survey
by jeltz on Tuesday May 28, 2013 @11:50AM
(#5780704)
I did not downvote, but my guess is because you obviously did not read the email linked to which showed the numbers with udev excluded.
udev and systemd are two separate projects who happen to live in the same repository (nothing wrong with that!) so you have to remember to exclude udev when looking at contributors for systemd.
Re:Results of the Debian systemd survey
by ldng on Tuesday May 28, 2013 @05:41PM
(#5783024)
I did read it. What does it tells you ? Well that Lennart did the commit of the first original. Has it occurred to you that they could have work together on the design ? That Kay might have reviewed/coded all or part of the prototype ?
The git can not show that. And unless Kay himself state the contrary we will not know. Lennart says Kay was associated to the project from the start. If it were not true, wouldn't have Kay said something by now ?
I don't always agree with directions Lennart goes, or on the methods. But that does not justify ferocious ad hominem attacks I've read.
Re:Results of the Debian systemd survey
by jeltz on Tuesday May 28, 2013 @07:38PM
(#5783596)
I do not support the idea that Pottering wrote it without consulting people, but what is certain is that he wrote almost all of the code himself and since your comment talked about looking in git I assumed you were talking about code authorship.
Re:Results of the Debian systemd survey
by viraptor on Tuesday May 28, 2013 @08:05AM
(#5779409)
Actually it's Redhat that went their own lonely path after trying out upstart and switching away, if I remember correctly. (RHEL 6 had it, to be precise)
Re:Results of the Debian systemd survey
by mseepgood on Tuesday May 28, 2013 @08:47AM
(#5779599)
However, it's not a lonely path in this case, because they chose to govern it in a contributor-friendly manner: no contributor license agreements, commit privileges for non-RH developers (non-RH developers are the majority), cross-distribution collaboration, FOSDEM presence etc. In short: They managed to build a healthy community around the project.
Re:Results of the Debian systemd survey
by kunai on Tuesday May 28, 2013 @12:30PM
(#5780975)
I wonder why no distributions have adopted launchd as their SysV init replacement. Not only does it combine cron, at, and other daemons into init itself, but it's also licensed liberally and would serve as a quite decent replacement for init. It's also cross-compatible with BSD and Linux systems.
Is it perhaps the stigma that comes with using a product developed by Apple?
Re:Results of the Debian systemd survey
by acdha on Tuesday May 28, 2013 @01:32PM
(#5781311)
> Is it perhaps the stigma that comes with using a product developed by Apple?
Probably some stigma but also corporate history of working only semi-successfully with opensource. launchd has some weird things (e.g. use of XML plists) which only make sense for Apple and it doesn't have every feature which a major Linux distribution would need – would you want to bank your user experience on being able to get those changes merged into a project which is controlled by a single company?
Re:Results of the Debian systemd survey
by jff on Tuesday May 28, 2013 @12:45PM
(#5781050)
I use it to this day to keep my dynamic DNS records up to date. I also use it daily, although not explicitly, when the various Debian cron jobs run. Logrotate, that kind of thing.
It's the idea that all this shit should be rolled into init, the goddamn boot process, that revolts me.
Re:Results of the Debian systemd survey
by jeltz on Tuesday May 28, 2013 @08:24AM
(#5779498)
Does anyone know if the GSoC last year attempting to write a systemd -> sysvinit converter got anywhere? To me that sounded like a very ambitious project given the socket activation in systemd.
Re:Results of the Debian systemd survey
by secure on Tuesday May 28, 2013 @12:08PM
(#5780844)
It got to a state where it is somewhat working, but it doesn’t handle a lot of cases. When I tried to use it for a simple real-world daemon, it didn’t work. AFAICT, nobody actually cares enough to continue development (though some people want to see it succeed).
Re:Results of the Debian systemd survey
by buster on Tuesday May 28, 2013 @07:53AM
(#5779381)
Sounds great.. i'm using Debian on my Desktop and i would welcome such a move! Let the good old sys-v init system die, it has served long enough. I understand that most old init scripts would even work in systemd, so i imagine the migration not being as painful as it may seem..
Re:Results of the Debian systemd survey
by viraptor on Tuesday May 28, 2013 @08:03AM
(#5779403)
I've got mixed feelings about this. I really like the idea behind systemd/upstart (they're quite similar in practice) and was glad to migrate to systemd when Arch sorted out most of its integration issues.
But to be honest, I prefer upstart much more. It's simple, it does one thing, it's clear about what happens (most of the time). With systemd I find myself quite often with no idea where to even look for information about something not starting. I still have a service in the system that I don't know how to remove (it's failing to start apparently, not even sure where does it get created). I spent hours debugging issues and trying to get it all-green on my system... and failed. In my opinion it's just too big and complex for it's own good. For my deployments upstart provides the equivalent behaviour in the part that matters (actually running the software) in a simpler way and does not try anything else.
Re:Results of the Debian systemd survey
by viraptor on Tuesday May 28, 2013 @08:22AM
(#5779492)
I read (most of) it, but there's a big difference between "I know how this works" and "I can debug why things don't work as I expect them to work after reading documentation" with systemd. This gap doesn't exist with sysv style init scripts and I couldn't find much information addressing the issue.
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @09:02AM
(#5779684)
You're confusing existing knowledge you already have with how easy another system is. Obviously if you already know one system, the other system will seem more difficult.
I have had my fair share of daemons not starting due to various problems. E.g. openldap (terribly confusing debug messages). Give me systemd any day over the complexity of a lot of those scripts.
Re:Results of the Debian systemd survey
by ldng on Tuesday May 28, 2013 @09:53AM
(#5780023)
Had not seen your comment before adding mine but I think you're spot on. And having had to fight with openladp last week I can only agree with you. I used to know the "old" standard text file config and the new slap.d config style is confusing.
But I think it's comparable to systemd in that if you manage an LDAP directory day to day, the new system probably makes more sens once you're used to it.
We have to relearn the config and, man, sometimes we can be a lazy whiny bunch when we should try to evaluate systemd more objectively ;-)
As an aside, the survey pleased me as I expected more conservatism from Debian
Re:Results of the Debian systemd survey
by bkor on Tuesday May 28, 2013 @10:38AM
(#5780288)
I didn't mean the openldap config. Sometimes the daemon just plainly does not start. You basically have to resort to using strace to figure out what is wrong with the thing. Systemd redirects stderr and stdout, highly useful IMO.
Openldap gives difficult to debug starting problems in loads of cases. E.g. problem in a certificate, config problem, etc. Then you might want to increase the debugging level. Really not fun to look into some script and figure out what actually eventually is passed to the openldap daemon as arguments.
Re:Results of the Debian systemd survey
by ldng on Tuesday May 28, 2013 @09:44AM
(#5779972)
True. And I find myself struggling more than I'd like to tame the beast.
That said, putting my devil's advocate hat on, if you and I were to start afresh not knowing shell, we'd struggle too. And truth be told, I'm not objective enough to tell if it's easier to learn shell programming or systemd config for a neophyte.
Re:Results of the Debian systemd survey
by viraptor on Tuesday May 28, 2013 @08:28AM
(#5779517)
I know they're different in how they are constructed. They're similar in what they do. For the majority of people who ever need to do anything with upstart/systemd it will be: it starts a service and its dependencies; it restarts the service that crashes if configured to do so; service operations can be triggered from outside.
Yes, underneath they have completely different implementation, but it shouldn't really matter apart from OS-level edge cases. If it does matter, it's a sign they failed to provide a simple and usable tool in my opinion.
Re:Results of the Debian systemd survey
by jeltz on Tuesday May 28, 2013 @09:34AM
(#5779891)
I have not used systemd in practice but my experiences with upstart in practice are very different from both sysvinit and from what I read about systemd. I actually think systemd seems to be closer to sysvinit than to upstart.
EDIT: It is the reversed dependency logic in upstart which makes it so different from anything else.
Re:Results of the Debian systemd survey
by mseepgood on Tuesday May 28, 2013 @08:37AM
(#5779560)
They are also different in practice. For example, you can kill services cleanly with systemd, because it keeps track of what processes belong to which service via CGroups.
Re:Results of the Debian systemd survey
by viraptor on Tuesday May 28, 2013 @08:44AM
(#5779590)
If you're interested in edge cases, then cgroup support can be included in your upstart configuration too. It's not a simple switch in the configuration, but can be made to work in the same way - I do that for some forking services which sometimes fail to collect children properly. I wouldn't consider this to be a big difference between the systems - each has some features that the other doesn't.
1) Are there any significant/serious myths not listed?
2) Does it matter? What I mean by that is the systemd wars remind me a lot of the sound wars from years ago. $user installs a sound system (alsa, pulse, oss, doesn't really matter). It'll probably either work perfectly or miserably fail. If it works, $user will blindly love that sound system and brag about it. If it doesn't work, $user will trash talk it all over the internet. The facts don't seem to matter, just the results of one anecdotal experience. In an environment like that its nearly impossible to learn anything from the community about systemd.
It reminds me a lot of those geniuses who post on world wide forums how no one in the world should sign up for $cellphone_provider because their local tower has poor coverage. That's just great, as if the other 99.9999% of the population should care.
Why do you suggest systemd is monolitic. What is the problem actually? There are various independant parts. E.g. the logind bit is now used by Canonical on upstart. Seems your issue is some theoretical problem while in practice systemd is just not monolithic.
That being said, I can definitely second many of the top concerns listed, chief among them: non-greppable logs (binary formatted) and too much complexity/trying to do too much.
Nevertheless, the concept of binary logs really annoys me and I have yet to see a satisfying explanation of why it should be necessary. The best I've seen is "well windows uses binary logging too" and "the syslog text format sucks", but neither of those satisfies. Windows does plenty of shit that should not be mimicked, and the benefits of text logging are severely dampened on Windows anyway (on account of Windows not being Unix.) Furthermore, the syslog text format sucking is not an argument for not using text logs in general, only an argument for not using the syslog text format specifically.
Why can't we have a reasonable non-syslog text format for logs?
> "Getting smbd/nmbd to work again was a real adventure. Like other users reported, it would just silently fail when starting it from systemd. No error message when issuing the start command, and only a vague "failed" in status. I ended up having to track down Lennart's blog post on "systemd for administrators" to figure out how in blazes to extract anything useful from that cussed binary log system he invented. My first half-dozen or so attempts to get anything useful out of the log journal got exactly zero results; I finally got lucky on another approach..."
I'm really not fond of the idea of having to search logs for information. Being able to page through them is actually super nice. Being able to tail -f them while kicking a process over and over again to see why it's mad at me is also really nice. I think I've heard that some people have come up with tools that will translate the binary log data back to text again, which helps, but that seems a little silly.
I'm running Debian (on everything that's not running BSD) now in part because they've been deft so far about handling the transition to systemd. I'm sure Debian will switch to it eventually, but I also trust them to make sure the major issues are all dealt with before they do.
I think the real question is: why is systemd defining a logging format at all?
I'm not opposed to a "next-gen syslog", but yeah, that isn't a push that should be done in such close connection with systemd. A better approach would be to make rsyslog more than just a syslog daemon and build up a new protocol and storage format with it, with the full intention of standardizing it. (the syslog protocol is a pain in the ass, particularly that hard limit on facility numbers... Fix that first, then roll from there. Make rsyslog treat syslog like Vim treats vi: capable of falling back to compat mode, but better by default.)
Technically indeed. If you try to forcibly disable journald, it causes causes dependency failures that result in you dropping to an emergency prompt.
Of course this doesn't stop Lennart Poettering from using the existence of separate but interdependent daemons as 'proof' that systemd isn't a monolithic ball of mud.
> I'm not opposed to a "next-gen syslog", but yeah, that isn't a push that should be done in such close connection with systemd. A better approach would be to make rsyslog more than just a syslog daemon and build up a new protocol and storage format with it, with the full intention of standardizing it. (the syslog protocol is a pain in the ass, particularly that hard limit on facility numbers... Fix that first, then roll from there. Make rsyslog treat syslog like Vim treats vi: capable of falling back to compat mode, but better by default.)
Agreed. This is what Apple did with asl(3); it's a modern syslog replacement that happens to still support the syslog protocol and syslog(3) APIs.
There's no reason a modern logging daemon can't be portable to other systems, too; it shouldn't be doing anything so crazy as to be impossible to run elsewhere, whereas since systemd is an intentionally non-portable kitchen sink, no other UNIX is going to run with journald.
Other using systemd is not a problem for anybody. The problems start once the higher-level stuff (X.org,Wayland,Gnome,KDE,gdm,etc) requires systemd. The question is whether the anxious parties have enough devpower to maintain portability layers and especially the BSDs may not.
However, by Adams Law of Slow-Moving Disasters [0] these problems will be resolved in time.
[0] http://www.dilbert.com/blog/entry/fact_checking_adams_law_of...
A few, off the top of my head:
configd: A configuration store that handles storing (and monitoring changes to) configuration. It supports arbitrary plugins, such that other dependent systems can inject their own implementation code if necessary. It depends on kernel notification APIs and network notification APIs that are implemented at a different level.
launchd: Starting/stopping/restarting services, on-demand and on a schedule, per-user and system-wide.
diskarbitrationd: Handles mounting/unmounting of file systems, and notifies clients of changes to mounted file systems.
opendirectoryd: Handles namespacing of local and remote user/data directories. This includes LDAP, local user accounts, etc.
mDNSResponder: Used to be just the mdns daemon, now handles all name resolution and local caching.
All of these things have been iterated on independently over time, are loosely coupled with each other, and do not create tight bindings between Mac OS X and open source software, nor do they require huge non-portable changes to open-source software.
The precursor to opendirectoryd was netinfo, which also used to handle name resolution and caching. Later releases of Mac OS X moved name resolution into directory services, and then eventually into mDNSResponder. launchd replaced system starter (similar to initd/rc), cron, and a number of other services, but maintained 'perfect' backwards compatibility with the standard configuration file formats (eg, crontab(5)).
These are just a few of the (independently maintained, internally) projects/daemons that Mac OS X layers together to produce the desktop. You don't need a huge monolthic project to tackle all these problem domains, as evidenced by the fact that Mac OS X works.
You also benefit from laying these projects cleanly, as it allows them to tackle what they're good at, provide a stable interface, or even be swapped out entirely later.
Actually, launchd replaces init, inetd, crond, atd, and watchdogd.
I mean where do you think systemd got the idea from? :)
That's not a "system daemon". Let's break it down:
- init: start/stop services
- inet: start/stop services
- cron: start jobs on a schedule
- atd: start jobs on a schedule
- watchdogd: restart services
Notice the commonality? launchd launches services, possibly on a schedule.
> I mean where do you think systemd got the idea from? :)
systemd is monolithic and system-invasive in ways that launchd never could be, or that anyone wants it to be. Just take a look at the systemd feature list[1]: Quota handling, swap handling, encrypted disk handling, kernel module loading, graphical UI, syslog replacement, console/keyboard configuration, X11 integration, fsck handling, serial console handling, and more!
Systemd is a crazy kitchen sink of a project. It's no wonder that it's non-portable, and I can't imagine trying to evolve the components of a system that came to rely on it. The minute you want to change how an OS subsystem works (eg, such as the automounter), you'll have to dig into the non-portable/non-abstracted systemd code.
[1] http://0pointer.de/blog/projects/why.html
Notice the commonality? launchd launches services, possibly on a schedule.
And so does systemd. The other stuff is handled by separate daemons that are part of the overall systemd project. See? Separate processes! That means it's not tightly coupled at all!
Personally, I feel that systemd is a shitfest -- so bad I switched back to slackware from Arch, being more than willing to sacrifice bleeding-edge distro releases and dependency management just to avoid it -- and that the unix way is how things should be developed. It's been a while since I've really been on top of Mac OS X internals, but if what you say is true they're doing a much better job of remaining modular and loosely coupled than Lennart has been.
But the CADT hivemind has declared the traditional Unix model obsolete. They tend to do a lot of throwing out babies with the bathwater, then rationalize it by saying obviously they were children no one wanted, and aren't we overpopulated enough as it is. I don't think Lennart is particularly innovative in this regard; he learned the game from the GNOME team. When the rationale for your black hole in my /usr/lib is called "Let's Make Unix Not Suck", you know you're a special breed of arrogant.
You lost me right there.
Beyond that, the fact that the basic fundamental underpinnings of a Linux system are large monsters that try to do everything, and depend on dbus and libthis and libthat, is deeply offensive. So is the fact that despite there being many daemons in "systemd", they all depend on each other so that to get the benefits of one you have to take them all. It's the GNOME style of programming. I've hated GNOME since 1999 when it first came out, but I didn't worry too much about it since I never used it. But if this crap becomes the norm at a basic system level, it obviates the reason I got into Linux in the first place: to have a clean and useful Unix system that does the minimum it needs to do and otherwise stays the hell out of my way.
So can other operating systems, no monolithic kitchen sink of systemd required [1].
[1] I realize that having 69 totally interdependent and non-portable daemons is considered "non-monolithic" in systemd-land, but I live in the real universe.
If anything you should call systemd out for inventing another standard to solve the problem of there being too many standards.
Hardly. Other init systems don't bolt together everything from a (mandatory) syslog replacement to an NFS automounter to a kernel module loader.
This is a shame, because it makes for brittle software, even when targeting the same platform where APIs do shift and improve over time.
To quote:
> 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!
I find this to be extremely cringe-worthy; I can only hope that a Linux monoculture isn't the future of open source development.
PS - So-called "theoretical" use cases have probably been the number one source of bugs (especially security holes) in the history of software. "Oh, don't worry about checking array bounds, nobody would be stupid enough to write too much data!"
The opposite is true: Abundant use of #ifdefs makes for unmaintainable and brittle software.
See, for example, Kernighan and Pike talking about portability in The Practice of Programming.
You could start by explaining "a bunch of stuff" -- and why it's necessary -- concretely.
False dichotomy; simply don't make abundant use of #ifdefs.
Most large, portable projects don't use #ifdefs across the codebase. They abstract the core concepts out into interfaces that can be implemented atop different APIs, and then maintain distinct implementations where necessary.
The advantage is that this also insulates you from changes to the underlying system APIs, creates testable code, and provides clean well-defined points of interaction between subsystems.
This is exactly what systemd's D-Bus API is for.
No. A proper approach to abstraction:
- Reduces complexity by reducing interdependency between subsystems.
- Facilitates testing by reducing interdependency between subsystems, and reduces bugs by facilitating testing.
- Allows for iterating components of the code base independently, and more easily adapting to changes to underlying components and subsystems, whether in the software themselves, or part of the system(s) the software relies on.
> Might be fine for a lot of projects, but this is just something to boot up your system.
Actually, this isn't just something to boot up your system (and if it was, it would be even easier to keep portable).
Instead, systemd a kitchen-sink-replace-everything-daemon that introduces massive cross-system/cross-module dependencies.
It's kind of disheartening that Canonical keeps trying to "disrupt" existing open source projects by muscling their way behind their own projects, developed in secret, with little to no community input. /rant
upstart forged a new path at a time when systemd didn't exist. Ubuntu pioneered it in order to solve a specific problem for which no other solution existed at the time (desktop boot speed).
You can complain that Ubuntu has not switched to systemd if you wish, but it is systemd that went down its own path, dragging other upstream projects with it (eg. udev).
Red Hat switched to upstart initially, and has now decided to drop it in favour of a new project (systemd).
Why you think Canonical is any worse eludes me.
Do you have a source for you claim that lennarts explicitely not supports non-Gnome? I think it is pretty clear that he doesn't support non-Linux, but why is that wrong?
Looking into the git contributions he is not even the one who contributed most! http://pastebin.com/bkUs3jXa
On the other hand: What i don't like about Canonical is their latest move to first pretend to support Wayland and then mysteriously presenting Mir all the while spreading bullshit about how Wayland is not good enough.
Neither would I, if they were projects worth concentrating on or of any meaningful long-term value to the community.
> I think it is pretty clear that he doesn't support non-Linux, but why is that wrong?
systemd invites/demands dependencies on its own, unique interfaces that do not and will not exist outside Linux. This retards progress of other projects in supporting non-Linux systems.
Lennart has actively encouraged this: https://mail.gnome.org/archives/desktop-devel-list/2011-May/...
> What i don't like about Canonical is their latest move to first pretend to support Wayland and then mysteriously presenting Mir all the while spreading bullshit about how Wayland is not good enough.
Red Hat began to support Upstart before switching to their in-house systemd and spreading bullshit about how Upstart is not good enough.
Why is it OK when Red Hat tries to come up with new things but not Canonical? Do you work for one of these companies?
> Looking into the git contributions he is not even the one who contributed most!
See my other post downthread. You are incorrect.
Personally I do not see anything wrong with that, but 78% is basically doing all the coding.
git ls-files | grep -v udev | xargs -n1 -d'\n' -i git blame {} | perl -n -e '/\s\((.*?)\s[0-9]{4}/ && print "$1\n"' | sort -f | uniq -c -w3 | sort -n
Even taking out udev shows Kay Sievers contributing nearly as much as Lennart. It also shows many other people contributing. That there is a main developer that does a lot of work is not something negative about a project, isn't it?!
No, you didn't. Your command line is not limited to source code, but includes, for starters, the massive hardware database checked in by Kay:
You performed a fundamentally different and flawed test.> That there is a main developer that does a lot of work is not something negative about a project, isn't it?!
You were the one who complained about Canonical not "working together", not me. I'm just holding you to your own standard.
In November 2010 [1].
> and then mysteriously presenting Mir
In March 2013 [2].
Technologies change. The best path to follow can change. Switching paths over two years is surely acceptable and reasonable for any company. Claiming that Canonical "pretended" is false and misleading - or do you have any evidence of this?
> Looking into the git contributions he is not even the one who contributed most!
Others have already rebutted this: udev accounts for most other contributors, leaving Lennart for the vast majority of systemd.
Do you have anything to say that isn't deliberately misleading?
[1]: http://www.pcworld.com/article/210018/ubuntu_more_changes_by... [2]: http://www.theregister.co.uk/2013/03/05/canonical_mir_announ...
Development of Mir started 9 months earlier. So they basically lied into the face of the whole Free Software community and the Wayland developers who counted on their support by not communicating their change of heart.
Various desktops were forced to adapt to systemd's insanities. This is different from systemd attempting to be a good citizen and support existing mechanisms.
E.g. you said: "forced": prove it. Also, you didn't back up your previous claims, just made different claims.
He does not. Systemd has over 370 individual contributors, 15 other people have commit powers beside him. Myth 27: http://0pointer.de/blog/projects/the-biggest-myths.html
[1]http://lists.debian.org/debian-devel/2013/05/msg01365.html
Obviously he started systemd and works full time on it. Then loads of other people work on it as well, but not nearly the same amount as he does.
Kind of sad to start name calling when you're not clear about this yourself.
A Mageia packager contributed some very good patches towards systemd. He's not in the email on debian-devel, while he monitors systemd , works with Lennart and others, etc.
See his other email: http://lists.debian.org/debian-devel/2013/05/msg01367.html
Our Mageia packager is not included. One of the patches he wrote: During the development of the journal he fixed a really important journal memory bug. Took a lot of effort to figure out, etc.
But the arbitrary '100 patches' is introduced. Seems rebuttal is pretty biased.
PS: Upstart has had 17 contributors. Systemd has 15 people with commit access. Systemd seems way more viable.
In any case, I won't be responding to you anymore.
edit: @nknight followup:
Did you even look into git for yourself? Even with excluding udev the top contributors are:
On what planet is that "all by Lennart"?!Kay Sievers wrote udev, which Lennart swallowed into systemd and proceeded to make unusable outside his own pet configurations. Exclude the pre-existing udev, which was and should have remained a separate project, and it's all Lennart.
Also udev merge into systemd would have not happened without Kay's consent.
And I don't understand why people get downvoted just beacuse they correct you.
[Edit] Typos
udev and systemd are two separate projects who happen to live in the same repository (nothing wrong with that!) so you have to remember to exclude udev when looking at contributors for systemd.
The git can not show that. And unless Kay himself state the contrary we will not know. Lennart says Kay was associated to the project from the start. If it were not true, wouldn't have Kay said something by now ?
I don't always agree with directions Lennart goes, or on the methods. But that does not justify ferocious ad hominem attacks I've read.
You can see the differences in numbers: http://www.ohloh.net/p/systemd http://www.ohloh.net/p/upstart
Is it perhaps the stigma that comes with using a product developed by Apple?
Probably some stigma but also corporate history of working only semi-successfully with opensource. launchd has some weird things (e.g. use of XML plists) which only make sense for Apple and it doesn't have every feature which a major Linux distribution would need – would you want to bank your user experience on being able to get those changes merged into a project which is controlled by a single company?
I think I found the reason.
Be honest.
It might be because I'm an ops guy, but I use Cron to schedule things on a regular basis, even in my personal work.
It's pretty crazy good at what it does. Being able to say "Filter my email every 5 minutes", is awesome.
It's the idea that all this shit should be rolled into init, the goddamn boot process, that revolts me.
https://github.com/akhilvij/systemd-to-sysvinit-converter
But to be honest, I prefer upstart much more. It's simple, it does one thing, it's clear about what happens (most of the time). With systemd I find myself quite often with no idea where to even look for information about something not starting. I still have a service in the system that I don't know how to remove (it's failing to start apparently, not even sure where does it get created). I spent hours debugging issues and trying to get it all-green on my system... and failed. In my opinion it's just too big and complex for it's own good. For my deployments upstart provides the equivalent behaviour in the part that matters (actually running the software) in a simpler way and does not try anything else.
You could read the (currently) 20-part sysadmin guide.
http://0pointer.de/blog/projects/socket-activated-containers...
/sbin/init and its simple shell scripts never required this much explanation.
I have had my fair share of daemons not starting due to various problems. E.g. openldap (terribly confusing debug messages). Give me systemd any day over the complexity of a lot of those scripts.
But I think it's comparable to systemd in that if you manage an LDAP directory day to day, the new system probably makes more sens once you're used to it.
We have to relearn the config and, man, sometimes we can be a lazy whiny bunch when we should try to evaluate systemd more objectively ;-)
As an aside, the survey pleased me as I expected more conservatism from Debian
Openldap gives difficult to debug starting problems in loads of cases. E.g. problem in a certificate, config problem, etc. Then you might want to increase the debugging level. Really not fun to look into some script and figure out what actually eventually is passed to the openldap daemon as arguments.
That said, putting my devil's advocate hat on, if you and I were to start afresh not knowing shell, we'd struggle too. And truth be told, I'm not objective enough to tell if it's easier to learn shell programming or systemd config for a neophyte.
They're quite different. Upstart is event-based while systemd is based on automatic dependency resolution and socket activation: http://www.youtube.com/watch?v=TyMLi8QF6sw&t=11m18s
Yes, underneath they have completely different implementation, but it shouldn't really matter apart from OS-level edge cases. If it does matter, it's a sign they failed to provide a simple and usable tool in my opinion.
EDIT: It is the reversed dependency logic in upstart which makes it so different from anything else.