Advanced

Open letter to the Linux World

Posted by Scott_Ruecker on · 95 comments
lkml.org; By Christopher Barry
Mail this story
Print this story

What is intelligence? Not exactly the spook kind, but rather what isthe definition of intelligence in humans? This is pretty good: http://en.wikipedia.org/wiki/Intelligence#Definitions

By most accounts, the self-appointed and arguably too influentialcreators and thinkers of the day around the 'One Linux' idea fit thedefinition of intelligent people - at least in the technical realm

Full Story

  Nav
» Read more about: Groups: Linux; Story Type: News Story

» Get new stories by e-mail: nightly or as they are published

« Return to the newswire homepage

  Related stories
» More like this

Comments (95)

75 earlier comments in the full thread.

Quoting:and i read the same link and learned nothing. more complaining without references or proofs. again, i still don't know what's wrong. i'd like to see an actual case of a problem being obscured by systemd.


Disregarding possible Straw man baiting, if "i still don't know what's wrong" is truly the case, then perhaps several of the comments following the more recent piece by the same author Choose your side on the Linux divide will be most enlightening, especially those comments that successfully manage to point out the specific drawbacks of systemd.







> ...and i read the same link and learned nothing. more complaining without references or proofs.

Well, if at least half a dozen restatements of "It violates the basic design principles of Unix and Linux" doesn't get the idea across, I don't know what will.
vainrveenr: thank you for the link. i am reading through the comments now. unfortunately i have a hard time finding comments that satisfy my expectations.

so far i found one comment about switching away from systemd because they found attack vectors. but no specifics on what these vectors are, so i can't decide whether they affect me.

i find more complaints about violating unix philosophy, but no example, some comments about how little systemd achieves with so much code,

there are some examples of how some goals of systemd could be achieved by improving existing applications. ok, that's nice. but while we are talking about unix philosophy i could not see a rule that disallows rewriting a utility from scratch.

so, i am sorry, but i am not satisfied.

maybe you could point me to one comment that you believe should answer my questions. it could be that i missed something. there was a lot to read and i may have skimmed a few comments to briefly.

jdixon: i am looking for an actual example of a real problem. or a demonstration of how systemd violates basic design principles unix. stating that it does, is not enough.

show me one program that is part of systemd and explain how it violates unix philosophy. the only contender i am aware of could be journaling with its binary logging. but since it is also able to log to syslog, the problem is reduced to it being an intermediary, instead of letting applications log to syslog directly.

is there another one?

greetings, eMBee.
how about going through the points mentioned in Choose your side on the Linux divide and analyzing how systemd violates them:

Quoting:1. Small is beautiful.
systemd is more than 60 individual binaries which all do different things. we'd have to look at each one of them to decide if they are small enough.
Quoting:2. Make each program do one thing well.
which of the more than 60 binaries does more than one thing that could better be done by separate programs. (edit:) or are there cases where multiple binaries depend on each other to do one thing together, which would be better done if it was one combined program?
Quoting:3. Build a prototype as soon as possible.
not sure if this was violated. but since the code is released it is no longer relevant.
Quoting:4. Choose portability over efficiency.
here we have a candidate. systemd is not portable. though i don't know if that relates to efficiency. as far as i understand it is not portable because it depends on other non-ported tools or libraries. making it portable would require to replace their functionality and potentially violate point 2.
Quoting:5. Store data in flat text files.
journaling fits this point. but it can send logs to syslog which produces text files. as mentioned above, the only problem here is that it adds an additional intermediate program, not that it denies us access to flat text logs.
Quoting:6. Use software leverage to your advantage.
i don't know how that should apply.
Quoting:7. Use shell scripts to increase leverage and portability.
the question here is where to draw the line. this point is highly debatable.
Quoting:8. Avoid captive user interfaces.
i don't think this is violated.
Quoting:9. Make every program a filter.
no clue here. but i don't think this really means everything must be a filter, unless you want to restrict all your editing to sed. so the question again is: where to draw the line? what should be a filter, and what shouldn't be?

greetings, eMBee.
@ridcully: With KDE it is optional. If you don't like it, don't use KDE.

But with the tentacles Systemd keeps sprouting, soon enough you will be running Systemd if you are running the Linux kernel...
I don't think 60 binaries is in any way "small".
Quoting: @ridcully: With KDE it is optional. If you don't like it, don't use KDE.

But with the tentacles Systemd keeps sprouting, soon enough you will be running Systemd if you are running the Linux kernel...


With KDE, you can (by and large) turn off (most of) the semantic desktop features, or, as you say, don't use it.

And as you say,... the problem with systemd is that the developers are swallowing up additional stuff,... not just the init process, but also mount, cron, power management... the list keeps growing. The bloat problem isn't size or number of files it takes to run,... it's in the way it has become viral, trying to take domain over other services. Pretty soon the OS could be described as GNU/systemd (featuring Linux) instead of (the politically correct) GNU/Linux.
Bob_Robertson: depends on what you expect the 60 binaries to do.

if all that systemd was doing is to replace init, then 60 binaries would be ridiculous. but that's not the case, so before we can judge that we need to look at the purpose of each of those binaries.

i do expect that each binary provides in independent function that does something useful, not only for systemd itself. (i remember to have read somewhere that some of the things that come with systemd are useful even without it)

compare that to fish vs bash for example. bash provides a lot of built-in functions. fish instead comes with dozens of separate executables and has only a few functions built in, namely those that wouldn't work if they were running as a separate process, like cd.

now which one is closer to unix philosophy of keeping things small and only doing one thing? fish, i would think.

the next question is whether it makes sense for all these programs to be delivered together with systemd. i can't tell, because i haven't yet looked at what they are.

but as they are developed by the same team, and probably have related functionality, i don't see why not.

a suitable comparison might be the coreutils package. it comes with more than 100 executables.

does that make coreutils violate unix principles? would you rather have each of those 100 programs distributed separately? would you expect each of them to be developed and maintained by a different person or group? i think not.

so just because systemd is aggregating a lot of functionality in separate programs, does not seem a violation of keeping things small.

greetings, eMBee.
@750, @JaseP

>> But with the tentacles Systemd keeps sprouting, soon enough you will be running Systemd if you are running the Linux kernel...

>> And as you say,... the problem with systemd is that the developers are swallowing up additional stuff,... not just the init process, but also mount, cron, power management... the list keeps growing. The bloat problem isn't size or number of files it takes to run,... it's in the way it has become viral, trying to take domain over other services. Pretty soon the OS could be described as GNU/systemd (featuring Linux) instead of (the politically correct) GNU/Linux.

++2 for both of you!

Do any of you realize that there's also a boycott systemd site that shows what you describe ACTUALLY HAPPENING??? No hot air here at all, really!! Just do an online search, visit the site, and you'll definitely see what I mean.

-fb
eMBee, portability is specifically rejected in systemd development. It is using Linux-specific interfaces for its work.

EDIT: yup, just like it says on that boycott page.
Gus3......thankyou for the link.......I've just read it and I am both staggered and dismayed. I think it is time Linus bought into this, if he hasn't already. And I take your point JaseP, as well....I think it is most definitely a takeover to produce GNU/systemd - even if that wasn't the original intention.
Quoting:thankyou for the link.......I've just read it and I am both staggered and dismayed.
Link now available on LXer, via http://lxer.com/module/newswire/view/205483.

Quoting:I think it is time Linus bought into this, if he hasn't already.
He already very much was brought into this exactly five months ago, as can be seen in the Linux Kernel Archives List post linked to at LXer as 'Linus Torvalds vs. systemd developers' via http://lxer.com/module/newswire/view/200597/index.html. AAMOF, later on in that very thread, Linus Torvalds tells off in no uncertain terms (perhaps even bans?) one of the key systemd developers.

The 'Linus Torvalds vs. systemd developers' piece happened to spawn a reaction in the LXer comments thread Linus Geekfight! Systemd banned!.



Paul Venezia follows up with an epic smackdown. The punchline is excellent.
My Dearest August Gus III,

[serious]

First I read the link in your last post. Now I am confused, correct me if I am wrong.

In the above thread, the thrust of most of the argument was that systemd fit the server needs not the desktop where it was a complicated distraction. Well if anything, the author of that post you showed said the opposite, i.e. those really interested in servers were likely to move to FreeBSD where systemd does not rule.

The one argument explicitly stated was it does away with the complexity of runlevels. What? Even I have an idea what they are. Moreover, I knew in greater detail when I first started to use Linux.

One of the first things I had to do was modify a bash script in one of the startup routines, where I changed some code in what I thought might be reasonable to get my system to run. This was back in '98 or '99, where I think the change allowed me to get my network working. At the time I still could not get a printer working, but that was solved with an early version of Mandrake. Even for me, if these are the benefits of systemd, I can forgo it.

[/serious]

As always,

YBT
JaseP wrote:the problem with systemd is that the developers are swallowing up additional stuff,... not just the init process, but also mount, cron, power management... the list keeps growing. The bloat problem isn't size or number of files it takes to run,... it's in the way it has become viral, trying to take domain over other services.


that's a good point. and it stands on its own as criticism imho.

i am not sure i agree that this is a problem though, at least, i don't see it as a technical problem. i consider this a social problem.

technically, what matters to me is the functionality. i don't care who wrote it, whether it was rewritten, or what not. i care that it works, and is stable, fixes bugs and doesn't introduce new problems. those are the things that systemd needs to be measured by. does systemd introduce problems that the current system doesn't have?

JaseP wrote:Pretty soon the OS could be described as GNU/systemd (featuring Linux) instead of (the politically correct) GNU/Linux.
as long as GNU is in the name, it would still be politically correct.

and if systemd does take over the core userland of linux, i am fine with that. that's really no different than BSD core userland which is developed by the same team as the kernel.

greetings, eMBee.
http://boycottsystemd.org/ has some interesting points, in particular this link is interesting:

http://www.openbsdfoundation.org/gsoc2014.html#systemd

it proves beyond a doubt, that lack of portability of systemd or at the least, of the APIs that other applications use, is a real problem. maybe not for linux, but for everyone else.

on the other hand, i consider having multiple implementations of an API a good thing. it pushes standardization and stability.

greetings, eMBee.
Systemd proponents remind me of those Jehovah's Witnesses who come knocking at my door on a regular basis. Utterly ignorant of all rational arguments, they keep coming back with their same tiresome rants until one day hopefully I will see the light. Or until I yell at them to just bugger off and get a life.
For the record, would someone please give me a definitive answer on the structures of systemd and sysvinit in the following areas:

My present understanding of systemd is that it has the form of a series of "interconnected binary blobs". If so, is the underlying source code freely available ? If it isn't, then it flies in the face of FOSS.

Is sysvinit a "binary blob" or is it an open text file ? My present understanding is that the source code for sysvinit is freely available.....well, if it is a text file, it has to be.

I'm trying to understand some fundamentals here that are outside my normal areas of interest, so I do beg the patience of the more knowledgeable readers if my questions seem pretty basic. However, I do get hostile if I think the fundamental tenets of Linux and FOSS are being undermined.
The underlying source code for systemd is freely available. It would never have gotten anywhere at all if it weren't. The complaint about binary blobs is in reference to the fact that a lot of things that were handled by scripts and logged in plain text are in systemd handled by binaries and logged in code.
CF, "handled by scripts", yes, _plain_text_ scripts.

Plain text, as in, "Gee, I wonder what options are available for this script? Let's read it and see."

Post a comment

A free account is needed to post. Write your comment here first: your text is kept in this browser while you sign up or log in, and is waiting for you when you come back.

Your message:
|||||
10
Markdown: **bold**, *italic*, [text](https://link), - lists, > quotes, $x^2$ for math. Formatting help

Sign up and post (it is free)  or  Log in and post