Didn't say it was the right way necessarily (Though I do PERSONALLY think that it is. We have the features available in the kernel, may as well use them.)
I was just pointing out that if Net/Free/Open BSD want to maintain that they are true unix and that their way is the true unix way....if Linux does something the same way as them, then isnt Linux by extension following the true unix way?
Sorry for over-reacting, I really don't care if BSD or Linux shares ideas between them, in fact, I believe that's a good thing.
I love that systemd is using thigns from the kernel, like cgroups and all the fancy stuff.
I also like a lot of things that systemd is doing, like parallelization, faster booting times, etc.
However, I don't feel very well about systemd "merging" other components into the systemd repository, look at all the problem it has caused between udev and systemd, lots of people from the Linux community are raging on the udev thing.
There has to be a better way of dealing with this.
Well, it reminded me of the udev+systemd thing, that has caused lots of problems in the Linux community, so I'm not sure how I feel about it, it doesn't feel good however.
I thought it was referring to having more projects being merged into the systemd tree. Anyway, I probably got that wrong, or I don't know.
Sorry.
The udev incident was 2 things:
1) lennart's quote about eventually removing non-systemd support which got blown WAY out of proportion.
2) the commit that broke module loading for certain devices. Which if you actually delved into the mailing lists from lkml...the change made sense. It just broke things in process which pissed Linus off because of his "Dont break shit!" rule (a good rule) and then the udev guys made a fairly "Meh whatever" response to Linus, pissing him off more. BUT, the change they did, the re-ordering of the process for module loading that they did, made sense and was reasonable once you read the discussion and figured out what exactly happened.
I'm just gonna pick a few things at random that systemd does, this isnt meant to be comprehensive.
Hostname support: does systemd NEED be the hostname controller? No. But its such a simple thing (set HOSTNAME) I dont really see a problem with it.
Control login: Interesting idea, and im not against it mainly because of cgroups and the fact systemd tracks processes on a per-user basis no matter what (no double forking). It lets systemd properly follow what exactly started a process and by who to keep everything in line.
Rudimentary power management (Sleep, hibernate): Interesting idea, systemd controls modules being loaded and therefore it can ensure that everything is offloaded and reloaded properly.
The journal: Lennart was right about one thing: you can edit plaintext logs. (This isnt meant to be a binary vs plaintext log fight) and anyone can forge logs. Since systemd keeps absolute track of services, and processes it kind of makes sense that it would handle their logging too. The beauty here is that journal doesnt take exclusive control, I've got journal and syslog-ng running simultaneously. Journal takes messages from processes, makes its log, then forward the same messages onto syslog and then syslog does its thing.
Timezone handling: (See hostname)
Hardware clock: (see hostname)
Cron: This is one that I don't really see the point of, but as long as you can still run your own cron daemon if you want to, i dont really care lol.
udev: This is the one I'll get fought on, I know, but I'm gonna say it anyway. Systemd controls module loading as well as module logging, hardware is useless without drivers (modules), systemd also does hotplugging (multiseat) which means udev and systemd are going to be working hand in hand ANYWAY. Until such a time that Upstart, OpenRC, and SysV are all dead (AND you dont see a new competitor on the horizon) you won't see udev become hard-dependent on systemd... so whats the big deal? You can still build udev solo, you can still use it without systemd.
Side note: Every feature I mentioned except process handling (obviously) and the journal are all configurable via compile-time configure switches OR run-time configuration file values so don't jump down my throat about bloat or not being modular. Systemd has the ABILITY to do more when so desired just as it has the ABILITY to do less when so desired, which is only possible if its modular. And if its modular, then it cant be bloated because bloated implies that things are forced. Is the kernel bloated?
Very beginning of the thread: https://lkml.org/lkml/2012/10/2/194 I think its the 3rd email from Linus that he starts ripping into systemd/udev developers for breaking stuff. What it comes down to is should the firmware be loaded when the hardware is probed or when the module is actually loaded? if I remember correctly.
I can't find the link myself but there's more info in a gentoo forums thread talking about eudev (the gentoo hosted fork of udev v187 or v189)
He said he'd EVENTUALLY remove support for non-systemd. People always forget the "EVENTUALLY." Once people started freaking out he clarified that it was not a short-term goal by any means and would only happen once systemd was THE standard in the linux ecosystem and there WERE no competitors TO support.