The second major issue is it growing way out of the bounds of being just an init replacement, thereby violating the so-called Unix Philosophy of doing one-thing well. For a user app to do that is one thing, but for a core OS component to do that just smells way too much like forcing Linux to be more like Windows, which a lot of hard-core Linux users are ideologically opposed to.
The third major issue is that on most major Linux distros, users are not given an easy way to avoid using systemd, no matter how much they hate it or oppose it.
The fourth issue is the apparent arrogance of the people responsible for systemd, and their off-hand dismissal of mature and widely respected unix conventions.
All of this adds up to a storm of controversy that the systemd people mostly brought upon themselves. Had they just been more humble about their creation and waited until it was mature and well-tested and did all the wonderful things they claim it could and should do instead of stuffing what was widely seen as a broken-by-design piece of garbage down everybody's throat, maybe much of the Linux community wouldn't have been nearly so outraged by it.
I keep on hearing this overly worn "Unix Philosophy" argument against systemd, which in the absence of any non-religious technical justification, basically boils down to "its different".
All of this adds up to a storm of controversy that the systemd people mostly brought upon themselves. Had they just been more humble about their creation and waited until it was mature and well-tested and did all the wonderful things they claim it could and should do instead of stuffing what was widely seen as a broken-by-design piece of garbage down everybody's throat, maybe much of the Linux community wouldn't have been nearly so outraged by it.
Nobody shoved anything down anyone's throat, least not the SystemD developers. And the same goes for PulseAudio, DBUS, and all the other projects on freedesktop.org.
Anyway, in reality, software does not become mature and well-tested without early exposure to real users and systems. Chicken-and-egg problem there.
I feel absolutely no sympathy for those who are outraged. There are many distributions out there (including Devuan) which align with their particular vision of an OS should be.
Instead they implement it poorly, have had various problems with it, and of course there have been security problems with it.
Do you really want an init system that replaces a ton of functionality poorly like dns, ntp, syslog, xinetd, etc etc etc?
SystemD is not just an "init" system. You have to look at the larger vision for it being a set of building blocks for Linux system and service management.
I think this is a very good thing. Its about time that Linux had a unified and self-consistent approach to system management and configuration.
This was not the way it was sold. It was originally sold as an init replacement.
If at the start the systemd guys had come out and said, "We aim to replace much of the core of Linux with some kind of Windows-Linux conglomoration: replace not only init but dns, syslog, turn all system log files binary, replace intetd, fuck with account naming, and oh, by the way, there'll be no easy way for distros that go with systemd to give their users a choice to use something else" then I'm not so sure how many people would have gotten onboard.
Basically, systemd has been a retooling of the core Linux ecosystem by people who think they know better. Well, this might be news for systemd fans, but they don't necessarily know any better than the rest of us, and the rest of us would like some choice in the matter. Instead we're force fed systemd and our operating system are no longer Linux but some bastardization of Linux and Windows.
"Nobody shoved anything down anyone's throat, least not the SystemD developers."
Tell that to the significan number of RedHat, Debian, and CentOS users who strongly object to systemd yet are forced to use it because that's all their distro supports.
"Anyway, in reality, software does not become mature and well-tested without early exposure to real users and systems. Chicken-and-egg problem there."
You don't have to test it out on all RedHat users, all Debian users, all CentOS, etc, etc. Getting a bunch of volunteers and letting them use a feature-complete version for five or six years before springing it on the rest of us would have been a good start. Instead you get an ever-morphing and ever-growing trojan horse.
1) Debian does support sysvinit right now, although with some packages having hard dependencies on systemd it might not be long before you hit a brick wall.
2) systemd (the init) was used by Fedora for a long time before getting into RHEL/CentOS- which is of course before it got into Debian. So there were volunteers.
Many people did, and didn't like what they saw. They also didn't like the idea that it was very difficult to replace for something they did like.
None of which are used in many companies.
I'm pushing my company to go to FreeBSD, but there are many who are completely powerless.
"Oh you don't like systemd, better not work on any Linux systems in any company" is the basic gist of what this means.
If it is as broken as you say why was it adopted?
The BSDs have really straightforward to maintain init scripts. Mainly because all the boilerplate junk is hidden in sourced-in files. Runit takes a more advanced approach, but its service files are still simple scripts a few lines long. We don't need a reinvent-the-world solution like systemd to address the most complained about problems with init.
In fact, only Debian underwent that process. Ubuntu did not. Nor did Fedora.
The Arch process was very different.
After all, Ubuntu is basically for Debain what RHEL is for Fedora.
You work in software right?
You never ever "just" replace a system with an improved feature-alike product, you go apeshit crazy with cool stuff you wanted for the past 5 years but couldn't get approved, until you run out of budget. Duh.
I specifically want Turing completeness out of my configuration languages.
That ship sailed a long ago when Linus ranted against microkernels :) Linux was never meant to follow a 'do one-thing well' design. It was designed to be a monolithic do-all-things design that's also highly modular.
Was Solaris a microkernel OS? How about SunOS? Irix? DEC OSF/1? HP/UX?
Last I checked, they weren't yet all were considered examples of Unix, and all existed before Linux.
I agree this is a big part of the problem, and appreciate it being raised.
> All of this adds up to a storm of controversy that the systemd people mostly brought upon themselves
I think Systemd comports itself as project exactly like most free software projects do, including Linux. Linus creates a template and then rages about how he doesn't like it.
I think @pmoriarty here just nailed it. It's not necessarily that "SystemD sucks" or that it doesn't do what it proclaims to do. But the fact that it's so monolithic (in practice, if not in principle) and subsumes so much of the rest of the system, and introduces so much coupling, is a very real issue. That switching from SystemD to $SOMETHINGELSE is a huge undertaking is, in and of itself, a problem.
The "Unix Philosophy" of "do one thing and do it well" isn't just a tagline. That philosophy is cherished because it's been proven to be valuable. Replacing init with something that moves away from that is certainly worthy of questioning, if not outright criticism.
Now maybe it's the case that SystemD is really just plain "so much better" that it outweighs all of that. I honestly don't know. But I can understand why people raise these issues.
It's PR fluff -- AFICT it's actually never been true. If it were true, we'd not have a "sort" option for "ls". (EDIT: It would also require a better interchange format than "unstructured text", but that's an aside.)
It's also fuzzy enough that you can always claim it to be true: What is the "one thing", well for systemd[1] the "one thing" is to be a "system daemon" (not an "init system" whatever the definition of that is). I guess you could argue whether it does it well, but I claim that it does -- at least for every single system that I'm running it on.
[1] That's the correct spelling, btw. Not SystemD or any other variation.
Systemd is a whole group of small, factored tools that call to each other. This complaint gets trotted out a lot and I lump it in with the "It is different because it has new features."
So, I haven't tried the exercise myself, so maybe it's easier than I've been lead to believe; but I keep hearing that the problem is that those "small, factored tools" talk to each other and pretty much only each other and that it's very difficult to, eg, rip out and replace just one of them. The argument, as I understand it, is that SystemD is "modular" in theory, but is a monolith in all practical terms.
Note that I'm not arguing for this position so much as restating it to the extent that I understand it. I'm currently using SystemD and while I have my doubts about it, it doesn't cause me any specific pain ATM, so I haven't bothered messing with it.
It is interesting that you say that, because I am still waiting for the reasoned technical argument in favor of systemd.
Anyway, my main issue with systemd is how difficult it is to get rid of. It doesn't matter how awesome you think your software is, there is always going to be someone who disagrees. The beauty of FOSS is that it is easy to modify your system to suit your preferences. But for some reason systemd makes it difficult to switch. Even GNOME has a dependency on it. That seems completely insane to me.
>Systemd, for all its flaws, fixes some very important problems that init and runit and similar systems left unsolved.
I don't really know what you mean by this (and I hear people say it a lot). Systemd only rose to prominence in the last few years. Most systems worked just fine before then. What sort of significant open problems were solved by systemd?
> As far as I can tell, systemd is a holy war. It's the new editor debate. It's vi vs emacs vs sublime vs atom vs ... down throughout time, with people arguing where the tradeoff between simplicity of execution is more important than delivering a system people asked for.
There is a difference between systemd and the other holy wars, and that is that the other holywars were destined to end in a draw. No matter how much you like emacs more than vi, no one harbored the illusion that vi would stop easily installable on an average system. But for some reason a majority of the systemd supporters seem to view using an alternative as a serious crime.
In that case, you may be interested in https://news.ycombinator.com/item?id=13387989 and the other resources it links to.
The comment reviews Russ Allbery's analysis of systemd [1], which he wrote as part of Debian's evaluation of whether to switch to it. Russ lays out a number of detailed arguments in favor of systemd, and contrasts systemd to alternative init systems.
[1] https://lists.debian.org/debian-ctte/2013/12/msg00234.html
Here is the only solid criticism of systemd I've read that focuses on design (as opposed to bugs that surface from the sprawling throw-it-over-the-wall approach to development): http://blog.darknedgy.net/technology/2015/10/11/0/
Notably, darknedgy hosted/hosts uselessd, which was a lightweight version of systemd. On the whole i think the idea underlying systemd, of graph-based management of services and system state makes more sense that wonky initscripts garbage.
Technical discussion aside, I rarely see mentioned is that, what in my opinion, systemd resembles a lot of "politics-driven-development" i've worked on before. It's sprawling and ambitious--which means bugs--and like a high-politics project there's a certain incentive i perceive to downplay bugs--which also means it's a great way for RHEL to centralize control over things they didn't have say in previously as well as standardize, etc.
I'll go ahead and beat up on it more by saying that if the project is going to be used cudgel-like, I wish it would more loudly start talking about stuff like formal analysis, fuzzing etc., because it would be a great opportunity to promote research-y stuff in the "email your patches" world of OSS development.
Which is fine, but running Arch workstations for nearly ten years now, there's been a lot of gore with systemd... more than i'd like to see in PID1.
Of course, I hate writing C code with a passion so I'm just a whiner really.
There are not fundamental design flaws. They don't have to be, to be a problem. And it's a problem exacerbated by the developers' typical response to problem reports -- to try to transfer blame, or treat them as personal attacks, rather than dealing with the issue. An example of that is CVE-2017-1000082 -- a rare example of a real problem that was assigned a CVE number by request of someone other than the developer, because the developers are still insisting, after a week of well-deserved mockery, that it's not a problem (or not their problem, or something)...
Refs:
Buffer overflow: https://www.theregister.co.uk/2017/06/29/systemd_pwned_by_dn...
Cache poisoning: http://seclists.org/oss-sec/2014/q4/592
This was discussed here: http://www.openwall.com/lists/oss-security/2017/07/02/1
> a rare example of a real problem that was assigned a CVE number by request of someone other than the developer
It's fairly common that the security researcher requests CVE. CVE request by an affected distro (which is what happened here) isn't anything unusual either.
* https://github.com/systemd/systemd/pull/6300
* https://github.com/systemd/systemd/issues/6277 (https://news.ycombinator.com/item?id=14681377)
* https://lists.freedesktop.org/archives/systemd-devel/2017-Ju...
You do not need to experience a breach in advance to have a hope of stopping a breach.
Besides, if people cared about security they'd use tools and languages and runtimes that help them test thst code works right. They don't, by and large.
Sure, people should audit their own tools, but there are also casual users. And there are indirect users. They are entitled to enjoy the better (if not perfect) security provided by battle hardened code.
I've even said above I agree with criticisms that systemd didn't plan and was deployed too early and too fast.
It would make sense if systemd delivered on its promise of automatically detecting service dependencies (through socket activation mechanism). In practice, it's still distro maintainers and sysadmins who need to specify any and all dependencies manually, and as such, systemd is in no way better than what we had with upstart or Gentoo's old initscripts (those before OpenRC).
New features require time to gain wider adoption. Some services already support this, but most don't (yet).
I have not personally experienced this, but I've been in enough of these threads to realize that it's a big problem when, on a regular basis, you can't get these little problems solved because the creator insists it's supposed to work that way, to the bemusement of experts who chime in that know it has never worked that way before (and perhaps with very good reason), never in any other related system of the kind.
So we get to have all of the reasoned, technical arguments again. That's how progress works, I guess. In a modern, systemd world, maybe the arguments that led to so many system designers putting their systems together in "this way," for arbitrary values of "this" which are broken in some way by systemd, actually don't fundamentally hold water anymore. Maybe if you drink enough of systemd's kool-aid, you won't try asking these types of questions of Lennart anymore, you can just see it the way he does.
"Am I out of touch? No, it's the children who are wrong..."
This is a point that bears repeating, so I shall.
Lennart Poettering is not the only systemd developer.
In all of the discussion of Lennart Poettering's reaction to the User=0pointer gives superuser rights bug, almost no-one has looked at the other systemd developers. I have had to point out several times Zbigniew Jędrzejewski-Szmek's reaction, which was to work on https://github.com/systemd/systemd/pull/6300 .
Or you might want to look at Martin Pitt, the systemd developer who famously turned back off systemd's widely problematic DefaultTasksMax setting, for Ubuntu. https://news.ycombinator.com/item?id=11675133 https://anonscm.debian.org/git/pkg-systemd/systemd.git/tree/...
OR
We burn all those MLs into the ground.
Terrible culture in these projects is basically how everyone is conditioned to interact from the top down. We can't pick and choose which assholes are okay and which are not. We either push back on all of them to make a more professional environment or we accept this is what we want.
I've seen Linus handle people numerous times who are learning or do not claim to be experts and he is always respectful, civil and a lot less blunt.
Not to mention the fact that when Linus is shitting on people it's often because they broke something for the "user"[0].
Lennart is not this way, he breaks userspace, he breaks norms and has a _huge_ ego. He conducts himself as if him and his crew are the only good programmers in the universe.
That is quintessentially _not_ the same as Linus.
[0]: User is a broad definition here, but it covers userspace programmers.
Either the environment is civil and professional or it is not. You can't say, "It is UNLESS..." and then mention something that could conceivably happen in the course of a normal working week.
>times who are learning or do not claim to be experts
That makes no sense. If _Linus_ thinks you should know better is not the same as "they claim to be experts". According to you, who has claimed to be an expert and demanded that Linus should listen to them?
>and has a _huge_ ego.
Sounds a lot like Linus Torvalds.
>I have an ego the size of a small planet, but I'm not _always_ right
>I'm an egotistical bastard, and I name all my projects after myself. First Linux, now git.
>I'm always right. This time I'm just even more right than usual.
All direct quotes from him.
>I've seen Linus handle people numerous times who are learning or do not claim to be experts and he is always respectful, civil and a lot less blunt.
People who are sometimes rude to others can also be sometimes nice to others. This is not surprising in the least.
It might be a quick way to blunt innovation in both. Or not. I dunno; people are complicated.
Also to that point... I've heard that Linus will grind you into the sidewalk for breaking userspace. I'm not sure that is the same thing that we are talking about.
I'm also not sure how accurate what I've heard is on the matter, but I think we absolutely can pick and choose which assholes are OK – the assholes that contribute to progress are favored over the assholes that impede it (for example, you may choose a different metric)
If you have a strong opinion and you back it up with facts, that's not just your opinion, it's an argument. If you have a strong opinion and you don't argue with facts, and you're not interested in opinions to the contrary, even when they are presented with strong facts, then you're just an asshole with an opinion, right? You can be inflammatory (I've heard that this is not just Linus, it's a national characteristic of Finnish people, and probably other nationalities too... again take with a grain of salt)... you can be an inflammatory asshole, but if you still present a coherent argument with solid facts and a sound rational basis, you may still advance the state of the art in spite of alienating some people.
This is a false choice. We can choose our battles as we please.
I'm not specifically trying to defend anyone's "retroactive abortion" comments but, there is a stark difference between reading a comment that says you (op) should be retroactively aborted, and reading a comment that says with some subtlety and nuance that you have made a bad decision and should be ashamed of making a bad decision.
The main difference? Impact. Agreed it's not a positive impact if it causes you to be totally humiliated and leave, rather than causing you to re-evaluate how you arrived at the bad choice and do better next time. But a poignant message should be making an impact, that's what makes it effective.
These people are primarily responsible for writing code, they may not be skilled at nuance or subtlety in English language, and they may view exercises of those particular disciplines as significant time-wasting sinks that they've spent too much time on with too little ROI. (From experience, I know I often write too much, and say too little!)
I feel like you're pushing an agenda & have discarded any possibility of listening to other points of view, or modifying your position. I recognise it as 'listening in bad faith'. I didn't say I liked being inconsistent or tribal, you are putting words into my mouth in an attempt to discredit my position as irrational.
It's still a false choice: I can choose how I spend my time, and I can spend it in a way that I think is effective.
You can choose how you spend your time. But that doesn't mean you can choose how people evaluate that time and if it's fair or not. This is a direct consequence of your own point!
This thing where you suggest I listened in "bad faith" but your point is dancing around the definition of "can" seems pretty bad faith to me.
If I understood your argument correctly, your position is that both Lennart and Linux exhibit aggressive, egotistical, “asshole” behavior. This makes them equally bad and thus condemning Lennart more that Linux is unfair.
I recognse this style of argument as the Continuum Fallacy: that if two things fall into the same scale of badness, then as a whole they are equally bad.
I disagree with this argument, and think it is possible for someone to complain & take action against one problem without being obliged to do the same against another similar problem. I also think that people can choose which problem to address, and do not necessarily have to only address the most egregious issue.
As I understand it, your complaint is that people complain about Lennart’s antisocial behaviour but remain silent on Linus’. I think that, since this topic is regarding systemsd, people will take about Lennart, and as the topic is not about the Linux kernel, people won’t talk about Linus. So, there may be lots of comments addressing Linus’ behaviour, but I wouldn’t expect to see them here.
Finally, I think the thing that makes Linus more acceptable than Lennart is that Linus is open about mistakes and has grown a developement community which encourages collaboration, and his outbursts are directed at changes which don’t match his expectations (which are fairly well established: run tests, check for merge conflicts, etc.).
I hope I have been clearer, and that this helps you make sense of some of the behaviour you have seen that you think is inconsistent/irrational.
The word you're looking for is "non-sympathetic." I certainly am that.
> This makes them equally bad and thus condemning Lennart more that Linux is unfair.
Parsing this, you've subtly mistaken my position. I'll return your gesture in kind: The Free Software as a whole is wracked with a plague of toxic leaders who copy the general lkml-style of aggressiveness, often promoting the fallacy of strictly-correct technological solutions and tying the production of such magical solutions to the capability of an individual as opposed to the capacity of the group.
In this context, the systemd project doesn't particularly stand out. It seems quite normal within a world that nourishes and rewards toxic social ecosystems.
Discarding Systemd uniquely is in this climate for Lennart's behavior is difficult to justify. You can argue his behavior is different and you yourself have a distinct objection to this. As I've said; that's your prerogative. You can in fact decide to give Linus a pass but not Lennart.
But I submit that this process of deciding who can be cruel and who cannot is inherently unfair. It's axiomatically unfair. To further extend that to the basis of technology decisions (that in most cases people far more expert than either of us in the specific field of linux distro maintenance) is to essentially undermine the very reasoning that supports the "meritocracy" that supposedly undermines this ecosystem.
You CAN draw a differentiation, I'm not denying that. They do subtly different things. I in no way defend Lennert's attitude.
If I had my way, I'd throw the lot of them out of their respective projects and install someone more level headed. I genuinely wish we could do that. For me, the good outcome is that people wake up and realize, "Wow, ALL these people are reprehensible and we should lose them all."
> I think the thing that makes Linus more acceptable than Lennart is that Linus is open about mistakes and has grown a developement community which encourages collaboration,
This is you, handing out a pass for bad behavior to Linus. Because "he can grow." Okay, sure. But I've been watching him since the start of the project. I don't think he's grown very much at all except where it financially benefits him.
I think this process of granting dispensation and refusing to censure specific people in the technology community is an epidemic of hero worship. It's an epidemic that leads us to small mistakes (bad mailing list management & tech decisions made against the advice of the principles we claim to cherish) up to large mistakes (Clinkle, Uber, and Github's management was all run with this principle at the fore, and it had disastrous results).
> I think that, since this topic is regarding systemsd, people will take about Lennart, and as the topic is not about the Linux kernel, people won’t talk about Linus.
A bold assertion, given that people are naturally drawing comparisons to that end outside this thread without prompting from me. I take this as evidence the cognitive dissonance of passing Torvalds and condemning Poettering weighs on people when they consider it, and they seek to rationalize it.
I would use this to describe someone who clearly didn't care about the other person's point of view; you seem to be completely ignoring what they said and misrepresenting them to be arguing for a case you have prepared a counter-argument for. E.g. when I say "I had a bad day" to my boss & they reply "tough, deal with it", they're not listening sympathetically; when they reply "you would have an easier time if you stopped creating so many bugs", then they're listening in bad faith.
> Parsing this, you've subtly mistaken my position.
I'm using a technique called 'active listening', where you repeat back to the person what you think they mean. This way, they can respond "yeah that's right", or "no, I see when I said <blah> it could be interpreted as <blah blah> but I meant <blah blah blah>". I think your response is using my misunderstanding of your position to score points & promote your agenda, instead of clarifying what you said so I understand it better.
> This is you, handing out a pass for bad behavior to Linus.
I didn't say that Linus gets a pass from me. I haven't mentioned any of my preferences regarding specific developers and their aggressive behaviours. My thesis is, "it's ok to call out a person on bad behaviour when other people also show that bad behaviour".
> Because "he can grow."
I didn't say that. If you're paraphrasing my statement, I meant the community has grown.
If you find my restating of my position—attempting to clarify it and put it in context—is "scoring points" then I only see 2 things:
1. Upon understanding it better you find my arguments more tailored to the argument and think this represents an unfair action.
2. You would rather I just agree with you rather than write honest responses. The idea that I have any standing TO disagree is evidence of "an agenda," an inappropriate thing to bring at all.
Not sure how a constructive conversation can continue, based on this.
I reject your premise. You reject mine. This conversation is only growing thornier and more tedious, and it's only out of respect to you that I have continued in good faith thus far. Perhaps this is where we agree to disagree and move on?
For a less politically correct one: http://suckless.org/sucks/systemd
For a personal experience: I remember that until systemd 21x (212? 213?) whatever core dump you got was cut off at around 700Mb (arbitrarily chosen by systemd developers due to journald limitations, a bug was left open without comments for 2 years, another person was essentially told that was the limit we're sorry [1], until a big customer of RH was hit by it maybe). Obviously preventing systemd from "intercepting" core dumps was (and it is still, IIRC) black magic. That made for some head scratching moments in our early RHEL7 installs.
[1] https://bugs.freedesktop.org/show_bug.cgi?id=55613, https://bugs.freedesktop.org/show_bug.cgi?id=59623, https://cgit.freedesktop.org/systemd/systemd/commit/?id=34c1...
Ted Ts'o: https://plus.google.com/+TheodoreTso/posts/EJrEuxjR65J
"For me a lot of "good taste" is about adding complexity when it's needed, and avoiding it when it's not needed. And if you do have complexity, making sure you have the tools so you can debug things when they break. And for me one of the things that I don't like about systemd is that it has added a lot of complexity, and when it breaks, trying to debug it can be almost impossible."
Also:
"Heck, I don't even I want to file bug reports, just so I can get abusive messages from Lennart. At least when Linus flames me, it's because I did something wrong which hurts users and which I d*mned well should have known better, given my years of experience in the community. Lennart just flames you because you're wrong, and he's right. By definition."
And:
"The high bit, in my opinion, is "not being able to admit you are wrong". If someone (such as Lennart) is always right, then it's impossible to have a technical discussion in a post-mortem to avoid similar problems in the future. In a company, if there are personnel issues like that, you can escalate to the person's manager, or use other mechanisms. In the open source world, all you can do is route around the damage. Whether you call the inability for someone to admit that he or she has contributed to the problem a "lie" or just that they were "mistaken" is really beside the point as far as I'm concerned."
This reminds me a lot of everyone complaining so much about Windows 10. If you're not prepared to vote with your feet, your complaints are just wasted breath (or keystrokes) when the vendor obviously doesn't care one iota about your grievances.
I have taken to likening systemd the the lovecraftian shoggoth, because both are amorphic masses that changes shapes and sprout new "features" continually.
This means that unless you have the deep economic pockets to rival Red Hat, you basically have to follow along.
End result is that whatever comes out of Fedora sets the de-facto standard in the Linux ecosystem these days, for better or worse (imo, the latter).
Perhaps, but is it really that hard to just stay with the older init services (sysv, upstart)? Slackware still has sysv AFAIK.
Also, if they really wanted they could team up with other distros to share the workload.
As for Gnome, this simply isn't true: Linux Mint proved this by hosting not one, but two renegade DEs: Cinnamon and MATE. And KDE and Xfce are still around, and not hard for distros to adopt if they choose; they just don't, they'd prefer to jump on the Gnome3 bandwagon for some odd reason.
>This means that unless you have the deep economic pockets to rival Red Hat, you basically have to follow along.
Again, Slackware seems to disprove this. Perhaps also Gentoo. Neither of these are large distros.
>End result is that whatever comes out of Fedora sets the de-facto standard in the Linux ecosystem these days, for better or worse (imo, the latter).
The existence of all the Debian-derived distros, using apt, seems to partially disprove this, but I get your point and I agree about it being worse. I really wish the Linux ecosystem had perhaps 3 or 4 large players, but each roughly equal to each other, instead of there being one commercial behemoth with too much power. Unfortunately, while Debian seems to be holding its own somewhat, SUSE went down the tubes ages ago and hasn't done any kind of power-wielding or standard-setting, and Ubuntu has tried and failed and is turning into just a Debian respin.
These are exactly the kinds of complaints I was saying I find less than compelling, because many of the same people who raise them then think the Linux project is okay to run like if UFC was also a papal state.
I am as amused as the next person by Linus' occasional invective on LKML, although I think it is sometimes a bit over the top. The difference between Linus and Lennart is that Linus tends to easily and of listen to the voice of reason, whereas Lennart, in Lennarts' mind, can do no wrong. Moreover, Linus has a 26 year history of shipping quality, working code built by a small army of developers. Lennart.... doesn't.
Mentioning these two in the same breath, in the sense of "well, Linus can do it, therefore so can Lennart" is a ridiculous kind of argument.
Linus's message there says "Yes, this is a problem and needs to be fixed, but here's a suggested work-around. Although, that's still a stupid way to use the interface, and you shouldn't be doing it that way."
Lennart's equivalent message would be "That's a problem with you, not with my software. It was changed to support [blah]. Use it correctly, and you won't have that problem. Now, go away."
In the first case, the problem gets fixed, and advice is dispensed on the better way to do things. In the second, the problem doesn't get fixed (or even acknowledged), and the universe is as it should be and always is, because The Dev Is Right.
I don't think getting into the specifics is going to be productive here, but I just wanted to point out that the debate shouldn't be framed as "systemd" vs "non-declarative init systems".
(Though, I'm also a huge proponent of declarative init systems; I like both shepherd and PIES)
Replacing SysV init? Relatively easy. Replacing Systemd, all the ancillary programs, desktop environments that it ties into, etc? It's a ton of work. One of the arguments I've heard repeated is that it's all very modular, but that doesn't seem to be true in practice.
Replacing van Smoorenburg rc is somewhat harder, but OpenRC does exist. As indeed does Mewburn rc (albeit that that is designed to run under FreeBSD init rather than van Smoorenburg init).
Three points to learn for these systemd discussions:
- init is not rc.
- We do not live in a world where nothing happened in between 1992 and 2011. A lot of things were done, a lot of softwares now exist, and the world did not step from van Smoorenburg init+rc to systemd. (Indeed, in 1992, the AIX SRC already existed.)
- van Smoorenburg init+rc are themselves clones of other softwares. These clones over the years added things like parallel startup with startpar, dependency ordering with insserv, faster boot times by switching to a shell with less startup overhead caused by its interactive-mode features, and a distinction between emergency and rescue modes.
* http://blog.darknedgy.net/technology/2015/09/05/0/
* http://jdebp.eu./FGA/inittab-is-history.html
* http://jdebp.eu./FGA/system-5-rc-problems.html
* http://uselessd.darknedgy.net/ProSystemdAntiSystemd/
* http://jdebp.eu./FGA/emergency-and-rescue-mode-bootstrap.htm...
Your distro maintainers obviously thought it was a worthwhile decision for them to make.
But yes, I hate C, too.
Does nobody other than my alma mater cover the concept of Coupling and Cohesion? It's not hard to argue the point on those grounds. I just kinda assumed everyone would be familiar enough with them to see that's the main thrust of systemd arguments, but that doesn't seem to be the case.
Since it is politically incorrect to criticize Linux, people attack projects that try make a positive change...
How old are you? OpenSSH wasn't built because there was something wrong with Linux per-se, in fact it came out of BSD due to a licensing issue with SSH. SSH was a replacement for the rlogin/telnet type toolsuites due to them being ridiculously insecure. Nothing to do with Linux.
Xorg was released, again as mostly a licensing issue (although some architectural improvements) based on XFree86, which was first released in 1991, with UNIX type systems in mind. This fully working windowing system was released around the same time Linus released the first fledgling version of his kernel. XFree86 was an implementation of X, which was around way before Linux was around.
> The real problem is Linux
I lack the words or intellect to refute such a well-founded and self-evident statement.
X was fine 20 years ago as a prototype. In the meantime, we could have Linux Foundation to create a modern alternative. Instead, we have two competing solutions MIR and Wayland that still do not work very well.
The reason we have such clusterfuck of incompatible distributions is that Linux is one man show. Instead of bringing industry toghether, Linus is doing his own thing. In meantime distributions instead trying to create useful userspace software are repackaging, porting and competing on init systems.... Next pointless war on the horizon snap vs flatpak.
OpenSSH was ported from BSB because there was no alternative in Linux
The original version of SSH was available for Linux, before OSSH or OpenSSH where developed.
X was fine 20 years ago as a prototype
Chortle. X stopped being a prototype around 1985/1986 and has powered more systems then I bet you had hot meals and changes of underwear.
The reason we have such clusterfuck of incompatible distributions is that Linux is one man show. Instead of bringing industry toghether, Linus is doing his own thing
Now you are just trolling.
[0]https://en.wikipedia.org/wiki/Secure_Shell#History_and_devel...
X was not intended for the desktop. It was used as a prototype because there was nothing better. We are stuck with an ancient client-server architecture that cannot properly display video playback inside the browser.
I respect your opinion, but you just ignore anything in your holy temple of Linux.
GPLv3 is the future
The initd-inspired community has resisted the push for declarative and component-based core system infrastructure for so long, and it's causing very strange distortions to the linux ecosystem as solutions get sought for the problems it introduces.
Systemd, for all its flaws, fixes some very important problems that init and runit and similar systems left unsolved. It's complicated, but it's hard to argue it's unnecessarily so. We always end up at these tortured bike metaphors or some other garbage. There's a whole website devoted to criticisms and it feels like at least half of the site is devoted to this kind of baseless rhetoric.
As far as I can tell, systemd is a holy war. It's the new editor debate. It's vi vs emacs vs sublime vs atom vs ... down throughout time, with people arguing where the tradeoff between simplicity of execution is more important than delivering a system people asked for.