@m0xee @vic > What's wrong with dbus though?
FSE's text limit is 16,384 characters. I don't think I need a daemon for a browser to run, I sure as hell don't know why the browser should crash if the daemon is killed.
> Something has to fill the role of IPC
Processes have to communicate, sure. dbus is not the only answer, or the best answer. Sun had an answer and people hate the rpcbind shit.
> to pass messages between daemons and other software
Sit on dbus-monitor a while and look at exactly what passes through.
> that isn't… you know, a named socket — something higher level
No, you do not. For most of these terrible pieces of software, people say this sort of thing, and sometimes the best alternative to a terrible thing is "nothing". I can ask you why you need that and you can say "Because otherwise we couldn't have $x" and I tell you that I don't have $x (or maybe I have $x but I don't want it but shit refuses to build without it). It is an overengineered piece of shit, it is a
freedesktop.org bureaucratic nightmare, it provides literally nothing that I want and compels a lot of things that I do not want.
If we take it as a given that a real problem is being solved, even then "dbus is a solution to a problem" doesn't necessarily mean that it is the only solution. There are a lot of ways to achieve interprocess communication. A named socket is fine for Linux, terrible programs spew way too much information down dbus and it's another piece of shit tool in Lennart's open attempt to create a standard that no one needs in order to ensure that RedHat controls the ecosystem.
It's like a DE. I don't want a DE. People ask how you can have a widget tray without a DE. I don't want a widget tray. Increasingly, I don't want Linux, because all of the dumb shit that is present in Windows or OSX is getting added, as if the HCI problem were solved and there's only one way to do any of this. (Joke's on anyone that made that argument, because OSX is turning into iOS and Windows is turning into a shitty Flash website from 2002. Evidently the final word in user interfaces has not been spoken, or there wouldn't be any changes.)
> Even OpenWRT — which doesn't have all the luxuries of a full-blown system, has ubus.
It has that to support the stupid web GUI, and the web GUI breaks if you uninstall dnsmasq, which you might do because the stupid web GUI completely ignores you if you tell it that you already have a DHCP server and you want it to just route packets, and then you tell it to just not start dnsmasq and it ignores you anyway so you have to actually remove dnsmasq. So if you remove dnsmasq then the stupid web GUI actually crashes on startup.
> Can you get away not using it?
I don't know, but it's a router, not a system where I run programs and write code, and ubus is not dbus: what I know of ubus makes it seem like less of a problem.
> but at some point you would still want something to broadcast such messages,
What you are trying to explain is that if I remove a part from a system that is architected a certain way, then that part needs another part that fits in. I have said I don't want to deal with a horse and you're asking me how I'm going to pull my carriage and asking what's wrong with horses. The carriage is designed around the presence of a horse.
If I want to know what state an interface is in, I can just ask the kernel. If there are a bunch of daemons that would rather call a library that makes a system call to talk to a bus versus making a system call to talk to the kernel, that's the design of that system.
> Again, you can easily replace it with another implementation or not use it at all,
I don't like dbus; this is not to say I dislike all buses. Once there is a bus, everything starts to look like a nail.