News for hackers. Stuff that matters.
Re:DirectX is coming to the Windows Subsystem for Linux by traverseda on Wednesday May 20, 2020 @06:48AM (#23245361)
I don't think we should have stuck with something like SysVinit, there's definitely room for improvement, but saying "it's either SysVinit or systemd" is a false dichotomy.

If I was approaching building an init system I'd make a better language for writing init scripts than bash, some kind of interpreter that processes mostly declarative init files, sets things up, and then exits. An incremental improvement that works with existing systems instead of putting a whole bunch of new (generally un-audited) code into PID 1, with all the security implications that implies.

Redhat may contribute the majority of the work but they're also very good at positioning themselves so that outsiders can't really contribute any work, or get any independently developed standards implemented.

Re:DirectX is coming to the Windows Subsystem for Linux by soraminazuki on Wednesday May 20, 2020 @08:01AM (#23245819)
How can people replace SysVinit without "doing their own take on EEE"? Your alternative approach is still not going to be compatible with SysVinit either, not to mention it being strikingly similar to systemd.
Re:DirectX is coming to the Windows Subsystem for Linux by welterde on Wednesday May 20, 2020 @08:14AM (#23245927)
Archlinux had their own non-sysvinit system (which went away in favor of systemd) as does voidlinux (runit based) and alpine (OpenRC) today.

The problem is less the init system itself, but applications that depend on a specific init system [1] (gnome used to be a major source of contention in that regard).

[1] https://wiki.gentoo.org/wiki/Hard_dependencies_on_systemd

Re:DirectX is coming to the Windows Subsystem for Linux by Valmar on Wednesday May 20, 2020 @09:11AM (#23246415)
What apps depend on a specific init system?

Gnome does not depend on systemd, but rather logind.

KDE used to be the same, until someone started maintaining ConsoleKit2 again, proper, at which point they were happy to support it.

ConsoleKit was dropped because it just wasn't being maintained, and had various limitations.

Re:DirectX is coming to the Windows Subsystem for Linux by traverseda on Wednesday May 20, 2020 @09:56AM (#23246800)
Why does logind depend on systemd?
Re:DirectX is coming to the Windows Subsystem for Linux by Valmar on Wednesday May 20, 2020 @10:11AM (#23246961)
It's part of the systemd project umbrella? It's part of the systemd monorepo? It uses libsystemd?

Maybe it's simply easier to maintain this way?

elogind exists, if you care. It exposes the DBus interfaces that logind supports for applications to call.

Thus, environments like Gnome can be supported on non-systemd systems if they emulate and/or expose and implement the required DBus interfaces.

Re:DirectX is coming to the Windows Subsystem for Linux by traverseda on Wednesday May 20, 2020 @10:40AM (#23247367)
That's sort of the complaint, why I accused them of "doing their own weird version of EEE". When faced with a choice of "make everybody else do a whole bunch of work so that they're not forced to use your entire project-umbrella" or "make some minor changes to our architecture so things aren't as tightly coupled" they almost always choose the one that forces you to use systemd.
Re:DirectX is coming to the Windows Subsystem for Linux by the_why_of_y on Wednesday May 20, 2020 @04:26PM (#23251359)
To the extent that you believe that free software development should work such that random people on internet forums dictate the architecture to the people who are doing the work, and instead of writing their software to solve problems that actual users have, they should comply with these whims, you better prepare to be disappointed.
Re:DirectX is coming to the Windows Subsystem for Linux by AsyncAwait on Wednesday May 20, 2020 @11:56AM (#23248391)
logind has a stable API, it is possible to build alternative implementations not coupled to systemd, yet so far I don't see much on that front.

See also https://lwn.net/Articles/586141

Re:DirectX is coming to the Windows Subsystem for Linux by soraminazuki on Wednesday May 20, 2020 @08:25AM (#23246053)
Is applications depending on systemd particularly a bad thing? If we don't want applications to use non-SysVinit features, we might as well keep using SysVinit.
Re:DirectX is coming to the Windows Subsystem for Linux by na85 on Wednesday May 20, 2020 @09:02AM (#23246342)
Why should my window manager dictate what programs are allowed to start it?
Re:DirectX is coming to the Windows Subsystem for Linux by AsyncAwait on Wednesday May 20, 2020 @09:58AM (#23246820)
For the same reason every piece of software 'dictates' its dependencies.
Re:DirectX is coming to the Windows Subsystem for Linux by welterde on Wednesday May 20, 2020 @09:04AM (#23246364)
If you don't care about portability at all.. (regardless if it's just within linux or to *BSD).

And like I already mentioned in my previous post.. there are other alternatives around than just SysV-init..

Re:DirectX is coming to the Windows Subsystem for Linux by traverseda on Wednesday May 20, 2020 @09:47AM (#23246708)
>How can people replace SysVinit without "doing their own take on EEE"?

By not tightly bundling their init with other OS components, by not having GNOME desktop somehow depend on what init system you're using (as opposed to services running under that init system).

Also you know how shell scripts have `#!/usr/bin/env bash` at the top of them? Well the reason why my hypothetical init system would be compatible with SysVinit is because instead of `#!/usr/bin/env bash` it would have `#!/usr/bin/env new_init_language` at the top of it. 'new_init_language" could implement almost all the same features that systemd unit files do.

Re:DirectX is coming to the Windows Subsystem for Linux by AsyncAwait on Wednesday May 20, 2020 @07:05AM (#23245458)
> If I was approaching building an init system I'd make a better language for writing init scripts than bash, some kind of interpreter that processes mostly declarative init file

Guess what systemd does?

> sets things up, and then exits

And that's the crux of the issue isn't it? Because on modern systems, things need setting up and tearing down all the time.

Re:DirectX is coming to the Windows Subsystem for Linux by traverseda on Wednesday May 20, 2020 @07:29AM (#23245607)
> things need setting up and tearing down all the time.

Well not really, that's an artifact of systemd's over-engineered design. There's nothing stopping you from tearing something down from an init script or doing more complicated dependency management using the CLI as your RPC mechanism (but red hat needed a reason to use their in-house RPC mechanism).

Honestly something like systemd could be pretty reasonable if it wasn't created with the express intent of "combating fragmentation". Not that there aren't a whole bunch of technical and architectural issues with it, but still.

Re:DirectX is coming to the Windows Subsystem for Linux by AsyncAwait on Wednesday May 20, 2020 @07:42AM (#23245693)
> There's nothing stopping you from tearing something down from an init script

Except most init scripts I've seen are rather brittle and only "work" if the PID dance is exactly as the author predicted, are not declarative and hard to debug.

I don't want to go back to init scripts, for all systemd's faults, the past was worse.

Using the CLI as my RPC mechanism etc. just sounds like I should spend a bunch of time doing work that systemd can do a better job of managing for me.