Re: [DNG] Be prepared for the fall of systemd

2022-08-05 Thread Martin Steigerwald
Joel Roth via Dng - 05.08.22, 21:56:01 CEST:
> On Fri, Aug 05, 2022 at 03:05:54PM +, jkinney23--- via Dng wrote:
> >  On Thursday, August 4, 2022, 02:53:33 p.m. PDT, Bruce Perens via 
> >  Dng  wrote:
> > > I haven't followed more modern experimental operating systems.
> > > Mostly you don't hear as much about them these days, I think a
> > > lot of researchers use an existing Open Source OS as a base for
> > > some specific facility.> 
> > That's a little disheartening to hear. I have been trying to find a
> > program in Canada where I can go study operating systems. Is there
> > no one anywhere doing serious OS research anymore? ...I guess I
> > will stay with Youtube and the Devuan mailing list then :)
>
> Jöchen Liedke, who died a few years ago, was doing some
> interesting work: the L3 operating system, leading
> to the L4 microkernel and hypervisor framework.
> Looks like Pistachio is the latest, without much
> recent activity.
> 
> https://l4ka.org/
> 
> The L4Linux project is still active:
> 
> https://l4linux.org/

Also Genode and SculptOS are being actively developed.

https://genode.org/

https://genode.org/download/sculpt

I did not review those yet.

They have mailinglists:

https://genode.org/community/mailing-lists

Best,
-- 
Martin


___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-05 Thread Joel Roth via Dng
On Fri, Aug 05, 2022 at 03:05:54PM +, jkinney23--- via Dng wrote:
>  On Thursday, August 4, 2022, 02:53:33 p.m. PDT, Bruce Perens via Dng 
>  wrote:
> > I haven't followed more modern experimental operating systems. Mostly you 
> > don't hear as much about them these days, I think a
> > lot of researchers use an existing Open Source OS as a base for some 
> > specific facility.
> 
> That's a little disheartening to hear. I have been trying to find a program 
> in Canada where I can go study operating systems. Is there no one anywhere 
> doing serious OS research anymore? ...I guess I will stay with Youtube and 
> the Devuan mailing list then :)

Jöchen Liedke, who died a few years ago, was doing some
interesting work: the L3 operating system, leading
to the L4 microkernel and hypervisor framework. 
Looks like Pistachio is the latest, without much
recent activity. 

https://l4ka.org/

The L4Linux project is still active:

https://l4linux.org/



-- 
Joel Roth
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-05 Thread jkinney23--- via Dng
 On Thursday, August 4, 2022, 02:53:33 p.m. PDT, Bruce Perens via Dng 
 wrote:
> I haven't followed more modern experimental operating systems. Mostly you 
> don't hear as much about them these days, I think a
> lot of researchers use an existing Open Source OS as a base for some specific 
> facility.

That's a little disheartening to hear. I have been trying to find a program in 
Canada where I can go study operating systems. Is there no one anywhere doing 
serious OS research anymore? ...I guess I will stay with Youtube and the Devuan 
mailing list then :)

Jason  ___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-05 Thread Steve Litt
On Thu, 2022-08-04 at 14:53 -0700, Bruce Perens via Dng wrote:
> 
> This goes way back. Mach did lightweight messaging and more (and survives
> in MacOS, I think),  Plan 9 did the graphics API == window system API.

I pretty much like GNU/Linux just as it is, but I'd love to have a sane graphics
built into the OS so I don't need to choose between entangled mess X and forever
second-rate tragically modern Wayland.

I wonder how the OS for the Atari ST did graphics. Now THAT was a machine!

SteveT
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Bruce Perens via Dng
On Thu, Aug 4, 2022 at 7:01 AM  wrote:

> Do you have some pointers to thoose experimental operating systems
> so I can get a taste of what you are talking about ?


This goes way back. Mach did lightweight messaging and more (and survives
in MacOS, I think),  Plan 9 did the graphics API == window system API. I
haven't followed more modern experimental operating systems. Mostly
you don't hear as much about them these days, I think a lot of researchers
use an existing Open Source OS as a base for some specific facility.

Thanks

Bruce
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Hendrik Boom
On Thu, Aug 04, 2022 at 05:19:18PM +0200, Didier Kryn wrote:
> Le 04/08/2022 à 00:36, Bruce Perens via Dng a écrit :
> > The fundamental OS concept is "Everything's an API" rather than
> > everything's a file.
> > APIs rather than libraries and linking.
> 
>  etc...
> 
>     It seems to me that "everything is a file" could do it yet: the kernel
> implements such an API though /proc, with netlink for asynchronous
> signalling. A filesystem equivalent to /proc for user space, plus inotify
> capability would just do it. And keep it simple stupid. I may be missing
> something but I like to stick to simple concepts.

Like in Inferno?

-- hendrik
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Didier Kryn

Le 04/08/2022 à 00:36, Bruce Perens via Dng a écrit :
The fundamental OS concept is "Everything's an API" rather than 
everything's a file.

APIs rather than libraries and linking.


 etc...

    It seems to me that "everything is a file" could do it yet: the 
kernel implements such an API though /proc, with netlink for 
asynchronous signalling. A filesystem equivalent to /proc for user 
space, plus inotify capability would just do it. And keep it simple 
stupid. I may be missing something but I like to stick to simple concepts.


-- Didier


___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Dimitri Minaev via Dng
Quite a few of these concepts for the new OS remind me of Erlang BEAM. Does
this comparison make sense?

On Wed, Aug 3, 2022 at 10:36 PM Bruce Perens via Dng 
wrote:

> I came to the conclusion a while back that systemd was symptomatic of the
> fact that we had gone as far as the fundamental assumptions of the Unix API
> could take us. It is 50 years old, after all.
> There is room for replacement of systemd and continuation of Linux and
> BSD. But we should be looking forward to something else as the next OS
> paradigm. This would include features that have been seen mostly in
> experimental operating systems up to now. This is what I think the "next
> OS" might be:
>
> The fundamental OS concept is "Everything's an API" rather than
> everything's a file.
> APIs rather than libraries and linking. A mechanism to set up an API upon
> request, where the details are hidden from the application. The API may run
> on a different CPU. This means you need lightweight processes and fast IPC
> with the capability to redirect to a slower network connection.
> APIs have persistence and can own resources, and have an identifier that
> is something like a file descriptor. The replacement for
> open/socket/connect/accept is requesting an API with certain resources.
> APIs persist until you release them or they can no longer be provided
> because the other side has disconnected or a resource becomes unavailable.
> No assumption that any API provider lives on your computer. It can be
> anywhere, but is often on your computer for efficiency.
> No distinction between an API call and a system call.
> API calls are not blocking, but have an asynchronous event channel that
> the application listens to.
> Minimal installation for network-connected systems. API providers live on
> the web and can be cached on a local server, and are locally cached on a
> resource that is not user writable.
> Storage is an API provider and may live elsewhere. Systems may not have
> any storage, or may only have caching, or may have local storage.
> Message bus appears as an API with an asynchronous event channel.
> Configuration by a JSON db. The simplest is just a JSON file with an API
> that edits it. It's human-editable and readable, but human editing is not
> required for configuration. Local configuration overlaps site-level
> configuration.
> First-class sessions. This was a big missing element in Unix and I think a
> lot of the impetus for systemd. Sessions are API providers and own the
> facility that connects processes to all other APIs. They own the user
> information and only provide you with APIs that match your privilege. They
> own their own resources such as displays, audio, and input devices. You
> start with a session and then create processes in it. You can't create a
> process without creating a session first, but it may be a headless session,
> etc.
> No privilege escalation for your session. Login runs in a privileged
> session and starts a less privileged user session for you. Some APIs run in
> different sessions than you and thus can provide you with privileged
> services.
> Window systems export the same APIs as the raw display and audio - you can
> run an application with or without one. You can run a window system in a
> window. Request to open a new window may succeed or fail gracefully,
> leaving you with only your root window.
> WASM interpreter with access to APIs and privilege control to run
> untrusted remote applications the way you access web sites today. They can
> access local APIs and their host APIs with different privilege levels.
> Both native and WASM executables are first class. Makes porting a lot
> easier.
>
> So, how does this replace systemd and init systems? What we use servers
> for today gets replaced by API providers. API dependencies are part of the
> metadata in applications, and an application will not start if there is no
> provider available for an API. The providers will be started on demand when
> the applications ask for them and may be started *before *they are asked
> for, simply going by the application list and the session owner's previous
> usage. API providers can be retired when the API is released, or not, again
> depending on usage information and the application list. API providers may
> be local or remote depending on usage data and the necessary resources - if
> you use one a lot and it is not bound to a resource with a specific
> location, the system can start an API provider locally, but some API
> providers may rely on stronger or more specialized compute resources than
> your local CPU. Migration of APIs that own resources is not supported - you
> can close one and open another.
>
> Bruce
>
>
> On Wed, Aug 3, 2022 at 1:41 PM J.R. Hill  wrote:
>
>> There are a few things that need to be in place for a smooth transition.
>>
>> For general trust in the project...
>>
>> 1. the init system itself should be maintained by more than a single
>> human.
>> 2. the maintainers sho

Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Laurent Bercot



What do we as a community need to do
to get S6 into a "corporate friendly" state?

What can I do to help?


 "Corporate-friendly" is not really the problem here. The problem is
more "distro-friendly".

 Distributions like integrated systems. Integrated systems make their
lives easier, because they reduce the work of gluing software pieces
together (which is what distros do). Additionally, they like stuff like
systemd or openrc because they come with predefined boot scripts that,
more or less, work out of the box.

 There are two missing pieces in the s6 ecosystem before it can be
embraced by distributions:

 1. A service manager. That's what's also missing from runit. Process
supervisors are good, but they're not service managers. You can read
why here[1].
 In case you missed it, here is the call for sponsors I wrote last year,
explaining the need for a service manager for s6: [2]. It has been
answered, and I'm now working on it. It's going very slowly, because I
have a lot of (easier, more immediately solvable) stuff to do on the
side, and the s6-rc v1 project is an order of magnitude more complex
than what I've ever attempted before, so it's a bit scary and needs me
to learn new work habits. But I'm on it.

 2. A high-level, user-friendly interface, which I call "s6-frontend".
Distros, and most users, like the file-based configuration of systemd,
and like the one-stop-shop aspect of systemctl. s6 is lacking this,
because it's made of several pieces (s6, s6-linux-init, s6-rc, ...) and
more automation-friendly than human-friendly (directory-based config
instead of file-based). I plan to write this as well, but it can only
be done once s6-rc v1 is released.

 Once these pieces are done, integration into distributions will be
*much* easier, and when a couple distros have adopted it, the rest
will, slowly but surely, follow suit. Getting in is the hard part, and
I believe in getting in by actually addressing needs and doing good
technical work more than by complaining about other systems - yes,
current systems are terrible, but they have the merit of existing, so
if I think I can do better, I'd rather stfu and do better.



Here are some ideas:
- easier access to the VCS (git, pijul, etc)


 The git repositories are public: [3]
 They even have mirrors on github.
 All the URLs are linked in the documentation. I don't see how much 
easier

I can make it.

 Note that the fact that it's not as easy to submit MRs or patches as
it is with tools like gitlab or github is intentional. I don't want to
be dealing with an influx of context-free MRs. Instead, if people want
to change something, I'd like *design discussions* to happen on the ML,
between human beings, and when we've reached an agreement, I can either
implement the change or accept a patch that I then trust will be
correctly written. It may sound dictatorial, but I've learned that
authoritarian maintainership is essential to keeping both a project's
vision and its code readability.



- Issue tracking system


 The supervision ML has been working well so far. When bigger parts
of the project (s6-rc v1 and s6-frontend) are done, there may be a
higher volume of issues, if only because of a higher volume of users, so
a real BTS may become an asset more than a hindrance at some point.
We'll cross that bridge when we get to it.



- CI/CD build chain (being careful not to make it too painful to use)


 Would that really be useful? The current development model is sound,
I think: the latest numbered release is stable, the latest git head
is development. The s6 ecosystem can be built with a basic
configure/make/make install invocation, is it really an obstacle to
adoption?

 I understand the need for CI/CD where huge projects are concerned,
people don't have the time or resources to build these. I don't think
the s6 ecosystem qualifies as a huge project. It won't even be "huge"
by any reasonable metric when everything is done. It needs to be
buildable on a potato-powered system!



- "idiot proof" website
- quick start / getting started guide
- easier access (better?) Documentation


 I file these three under the same entry, which is: the need for
community tutorials. And I agree: the s6 documentation is more of a
reference manual, it's good for people who already know how it all works
but has a very steep learning curve, and beginner-to-intermediate
tutorials are severely lacking. If the community could find the time
to write these, it would be a huge help. Several people, myself 
included,

have been asking for them for years. (For obvious reasons, I can't be
the one writing them.)

 Turns out it's easier to point out a need than to fulfill it.

 It's the exact same thing as the s6 man pages. People can whine and 
bitch

and moan for ages saying that some work needs to be done, but when
asked whether they'll do it, suddenly the room is deathly silent.
For the man pages, one person eventually stepped up and did the work[4]
and I'm forever grateful to them; I ha

Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Tanuj Bagaria via Dng
What do we as a community need to do
 to get S6 into a "corporate friendly" state?

What can I do to help?


Here are some ideas:
- easier access to the VCS (git, pijul, etc)
- Issue tracking system
- CI/CD build chain (being careful not to make it too painful to use)
- "idiot proof" website
- quick start / getting started guide
- easier access (better?) Documentation

On Thu, 4 Aug 2022, 09:21 Steve Litt,  wrote:

> On Wed, 2022-08-03 at 17:19 +, J.R. Hill wrote:
> > There are a few things that need to be in place for a smooth transition.
> >
> > For general trust in the project...
> >
> > 1. the init system itself should be maintained by more than a single
> human.
>
> This hasn't been the case with runit. It's so darn simple people *do*
> trust it, even
> though it was written by one guy and he stepped away.
>
> > 2. the maintainers should be willing to respond to a large audience. (If
> a project
> > is used widely across distributions and is critical to operation and
> security,
> > it'll attract attention from armies of newbies and large cloud
> corporations
> > alike.) This means there needs to be an ability to move slow (maintain
> backwards
> > compatibility) and also to move fast (in security situations)
>
> True. All I can say is runit does one thing and does it well, appears to
> have no
> known security flaws, has a small attack surface, so there's little call
> for
> updates.
>
> > 3. the project should be available from some trusted platform with
> versioning and
> > source history.
> >
> > For ease of transition...
> >
> > 4. many init scripts need to exist, or they need to be trivial to write.
>
> The originator of runit gives many example scripts, AND they are trivial
> to write.
> See http://smarden.org/runit/runscripts.html .
>
>
> >
> > I'll give some thoughts on runit:
> >
> > I'll start by saying that I've used Void linux for a few years now, and
> I love
> > using runit. It's simple, it works, and it's understandable. That's the
> opposite
> > of my experience with systemd. I'm not passionately against systemd (or
> the
> > developers, or RedHat, or even IBM), and I think systemd is technically
> impressive
> > and ambitious. But also I don't really want to use it or anything like
> it.
> >
> > > It's maintained by the Void Linux project...
> >
> > Unfortunately I don't think this is true. It's used by Void, but we're
> packaging
> > it by building from the source tarball like anyone else.
>
> I guess what I meant was https://github.com/void-linux/runit . That's the
> source
> code, maintained by the Void Linux project, and it's up to individual
> distros to
> package it for their distro.
>
> SteveT
>
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread karl
Bruce Perens:
...
> But we should be looking forward to something else as the next OS paradigm.
> This would include features that have been seen mostly in experimental
> operating systems up to now. This is what I think the "next OS" might be:
> 
> The fundamental OS concept is "Everything's an API" rather than
> everything's a file.
...

Do you have some pointers to thoose experimental operating systems
so I can get a taste of what you are talking about ?

Regards,
/Karl Hammar

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Steve Litt
On Wed, 2022-08-03 at 15:36 -0700, Bruce Perens wrote:
> I came to the conclusion a while back that systemd was symptomatic of the
> fact that we had gone as far as the fundamental assumptions of the Unix API
> could take us. 

I find it symptomatic of the fact that a guy wrote some Rube Goldberg code and a
corporation decided it would be a great idea to spend millions getting the Rube
Goldberg code into many major distros. As far as us running our of road with the
Unix API, systemd solves no problem and offers no improvement that couldn't have
been solved or improved in a dozen different ways, almost all of which would 
have
been more modular and less prone to vendor lock in.

[snip]

> There is room for replacement of systemd and continuation of Linux and BSD.

Exactly! And if Redhat/IBM ever stops spending millions per year to keep systemd
from collapsing under its own weight, that room becomes a necessity.

> But we should be looking forward to something else as the next OS paradigm.

In the preceding sentence, I'd change the "But" to "Also".


SteveT
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-04 Thread Steve Litt
On Wed, 2022-08-03 at 17:19 +, J.R. Hill wrote:
> There are a few things that need to be in place for a smooth transition.
> 
> For general trust in the project...
> 
> 1. the init system itself should be maintained by more than a single human.

This hasn't been the case with runit. It's so darn simple people *do* trust it, 
even
though it was written by one guy and he stepped away.

> 2. the maintainers should be willing to respond to a large audience. (If a 
> project
> is used widely across distributions and is critical to operation and security,
> it'll attract attention from armies of newbies and large cloud corporations
> alike.) This means there needs to be an ability to move slow (maintain 
> backwards
> compatibility) and also to move fast (in security situations)

True. All I can say is runit does one thing and does it well, appears to have no
known security flaws, has a small attack surface, so there's little call for
updates.

> 3. the project should be available from some trusted platform with versioning 
> and
> source history.
> 
> For ease of transition...
> 
> 4. many init scripts need to exist, or they need to be trivial to write.

The originator of runit gives many example scripts, AND they are trivial to 
write.
See http://smarden.org/runit/runscripts.html .


> 
> I'll give some thoughts on runit:
> 
> I'll start by saying that I've used Void linux for a few years now, and I love
> using runit. It's simple, it works, and it's understandable. That's the 
> opposite
> of my experience with systemd. I'm not passionately against systemd (or the
> developers, or RedHat, or even IBM), and I think systemd is technically 
> impressive
> and ambitious. But also I don't really want to use it or anything like it.
> 
> > It's maintained by the Void Linux project...
> 
> Unfortunately I don't think this is true. It's used by Void, but we're 
> packaging
> it by building from the source tarball like anyone else.

I guess what I meant was https://github.com/void-linux/runit . That's the source
code, maintained by the Void Linux project, and it's up to individual distros to
package it for their distro.

SteveT
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-03 Thread Bruce Perens via Dng
I came to the conclusion a while back that systemd was symptomatic of the
fact that we had gone as far as the fundamental assumptions of the Unix API
could take us. It is 50 years old, after all.
There is room for replacement of systemd and continuation of Linux and BSD.
But we should be looking forward to something else as the next OS paradigm.
This would include features that have been seen mostly in experimental
operating systems up to now. This is what I think the "next OS" might be:

The fundamental OS concept is "Everything's an API" rather than
everything's a file.
APIs rather than libraries and linking. A mechanism to set up an API upon
request, where the details are hidden from the application. The API may run
on a different CPU. This means you need lightweight processes and fast IPC
with the capability to redirect to a slower network connection.
APIs have persistence and can own resources, and have an identifier that is
something like a file descriptor. The replacement for
open/socket/connect/accept is requesting an API with certain resources.
APIs persist until you release them or they can no longer be provided
because the other side has disconnected or a resource becomes unavailable.
No assumption that any API provider lives on your computer. It can be
anywhere, but is often on your computer for efficiency.
No distinction between an API call and a system call.
API calls are not blocking, but have an asynchronous event channel that the
application listens to.
Minimal installation for network-connected systems. API providers live on
the web and can be cached on a local server, and are locally cached on a
resource that is not user writable.
Storage is an API provider and may live elsewhere. Systems may not have any
storage, or may only have caching, or may have local storage.
Message bus appears as an API with an asynchronous event channel.
Configuration by a JSON db. The simplest is just a JSON file with an API
that edits it. It's human-editable and readable, but human editing is not
required for configuration. Local configuration overlaps site-level
configuration.
First-class sessions. This was a big missing element in Unix and I think a
lot of the impetus for systemd. Sessions are API providers and own the
facility that connects processes to all other APIs. They own the user
information and only provide you with APIs that match your privilege. They
own their own resources such as displays, audio, and input devices. You
start with a session and then create processes in it. You can't create a
process without creating a session first, but it may be a headless session,
etc.
No privilege escalation for your session. Login runs in a privileged
session and starts a less privileged user session for you. Some APIs run in
different sessions than you and thus can provide you with privileged
services.
Window systems export the same APIs as the raw display and audio - you can
run an application with or without one. You can run a window system in a
window. Request to open a new window may succeed or fail gracefully,
leaving you with only your root window.
WASM interpreter with access to APIs and privilege control to run untrusted
remote applications the way you access web sites today. They can access
local APIs and their host APIs with different privilege levels.
Both native and WASM executables are first class. Makes porting a lot
easier.

So, how does this replace systemd and init systems? What we use servers for
today gets replaced by API providers. API dependencies are part of the
metadata in applications, and an application will not start if there is no
provider available for an API. The providers will be started on demand when
the applications ask for them and may be started *before *they are asked
for, simply going by the application list and the session owner's previous
usage. API providers can be retired when the API is released, or not, again
depending on usage information and the application list. API providers may
be local or remote depending on usage data and the necessary resources - if
you use one a lot and it is not bound to a resource with a specific
location, the system can start an API provider locally, but some API
providers may rely on stronger or more specialized compute resources than
your local CPU. Migration of APIs that own resources is not supported - you
can close one and open another.

Bruce


On Wed, Aug 3, 2022 at 1:41 PM J.R. Hill  wrote:

> There are a few things that need to be in place for a smooth transition.
>
> For general trust in the project...
>
> 1. the init system itself should be maintained by more than a single human.
> 2. the maintainers should be willing to respond to a large audience. (If a
> project is used widely across distributions and is critical to operation
> and security, it'll attract attention from armies of newbies and large
> cloud corporations alike.) This means there needs to be an ability to move
> slow (maintain backwards compatibility) and 

Re: [DNG] Be prepared for the fall of systemd

2022-08-03 Thread J.R. Hill
There are a few things that need to be in place for a smooth transition.

For general trust in the project...

1. the init system itself should be maintained by more than a single human.
2. the maintainers should be willing to respond to a large audience. (If a 
project is used widely across distributions and is critical to operation and 
security, it'll attract attention from armies of newbies and large cloud 
corporations alike.) This means there needs to be an ability to move slow 
(maintain backwards compatibility) and also to move fast (in security 
situations)
3. the project should be available from some trusted platform with versioning 
and source history.

For ease of transition...

4. many init scripts need to exist, or they need to be trivial to write.

I'll give some thoughts on runit:

I'll start by saying that I've used Void linux for a few years now, and I love 
using runit. It's simple, it works, and it's understandable. That's the 
opposite of my experience with systemd. I'm not passionately against systemd 
(or the developers, or RedHat, or even IBM), and I think systemd is technically 
impressive and ambitious. But also I don't really want to use it or anything 
like it.

> It's maintained by the Void Linux project...

Unfortunately I don't think this is true. It's used by Void, but we're 
packaging it by building from the source tarball like anyone else.

https://github.com/void-linux/void-packages/blob/master/srcpkgs/runit/template#L12

They do, in effect, drive the maintenance or creation of runit scripts. In the 
event that we wanted to move many distros to runit, there are many examples of 
runit scripts to either copy or use (#4). Also it might go without saying, but 
the scripts themselves are trivial to write anyway.

If I consider runit for my other points above, it doesn't look so hot.

I don't see evidence that runit is maintained by more than a single person 
(#1), and given that the mailing list archive seems to be down... (And using 
the "wayback machine" archives it looks like it's been down for more than a 
year) it doesn't give me a lot of confidence that the maintainer is ready to 
respond to large audiences (#2). Also, the source is distributed as a single 
snapshot tarball on a personal website. There's no shasum, no GPG signature, no 
revision history, etc, which also doesn't give me a ton of confidence (#3). I 
don't care about seeing a lot of development activity or even recent activity, 
runit is simple. But especially for security reasons it's important to know the 
history of a project, like exactly which version has vulnerable code introduced 
and which version has a fix.

Now, I really really like runit, but I don't think it's ready right now. For 
runit to be a broadly-attractive alternative, it needs a few small things: to 
move to some source control system (git/mercurial/etc) where more than one 
person has access, and the maintainers have to be reasonably responsive. 
Without that, I think FUD around runit is probably justified. (Of course, we 
can always take the tarball and shove it in github/gitlab/etc, that wouldn't be 
the end of the world)

I don't know enough about S6 (using it, or the project) to comment on it.

-- J.R. Hill

--- Original Message ---
On Monday, August 1st, 2022 at 07:21, Steve Litt  
wrote:


> Hi all,
>
> As I said in a previous message, I see sentiment very slowly turning against
> systemd. If systemd keeps losing popularity, I have no doubt the corporate
> carpetbaggers will try to force an even worse atrocity on us, so we need to 
> be ready
> this time and not have the argument centered on a false choice.
>
> I see two init systems ready to take the baton and run with it:
>
> * Runit
> * S6
>
> Runit is the simplest init system other than /bin/bash or an rc script. It's
> maintained by the Void Linux project, so hit hard at the FUDdists who claim 
> runit is
> unmaintained.
>
> S6 is advancing full speed to a complete solution, implementing all the best
> features of systemd, but these features are voluntary and separable. If you 
> want top
> quality, choice and performance, and are willing to accept a little more 
> complexity
> (but sane complexity), S6 plus its service manager is the way to go. In my 
> opinion,
> S6 plus its service manager offers more than OpenRC, and IMHO it's easier to
> configure/manage.
>
> If and when systemd falls, we need to be ready, so we can get the right init 
> system,
> instead yet another corporate sponsored Rube Goldberg Machine.
>
> SteveT
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-03 Thread karl
Steve Litt:
...
Busybox doesn't do what I guess you want, for that you just
fire up a process supervisor, there are a few to choose among.
Remember busybox init is just a minimal init, everthing else
is some other programs responsibility. You can think of busybox
init as sysv init but with just one runlevel.

 But since you asked:

> 1) Does Busybox init require the daemon to background itself?

No, just place it last in /etc/rcS, and there can only be one
such process.

> 2) Does Busybox init give you a reasonable way to automatically restart the 
> process
> after the process terminates? 

You can run it in its own console, and there you can have it to
respawn just like a getty.

> 3) Does Busybox init give you the choice of auto-restart or not for each 
> different
> process? If it does, that's something specifically missing in Runit.

Yes, start the process either in /etc/rcS or in its own
"getty" line.

Regards,
/Karl Hammar

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-02 Thread Steve Litt
On Tue, 2022-08-02 at 11:25 +0200, k...@aspodata.se wrote:
> Steve Litt:
> ...
> > * Runit
> > * S6
> ...
> 
> Why not busybox init, it handles gettys and the rest is up to
> /etc/rcS, which you are free to make it do whatever you like.
> 
> As a direct replacement for sysv init, you can use
> for i in /etc/rcS.d/S* /etc/rc2.d/S*
> do
>   $i start
> done
> 
> in rcS and similar for shutdown.

Thanks Karl,

Some questions:

1) Does Busybox init require the daemon to background itself?

2) Does Busybox init give you a reasonable way to automatically restart the 
process
after the process terminates? 

3) Does Busybox init give you the choice of auto-restart or not for each 
different
process? If it does, that's something specifically missing in Runit.

Thanks,

SteveT
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Be prepared for the fall of systemd

2022-08-02 Thread karl
Steve Litt:
...
> * Runit
> * S6
...

Why not busybox init, it handles gettys and the rest is up to
/etc/rcS, which you are free to make it do whatever you like.

As a direct replacement for sysv init, you can use
for i in /etc/rcS.d/S* /etc/rc2.d/S*
do
  $i start
done

in rcS and similar for shutdown.

Regards,
/Karl Hammar

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


[DNG] Be prepared for the fall of systemd

2022-08-01 Thread Steve Litt
Hi all,

As I said in a previous message, I see sentiment very slowly turning against
systemd. If systemd keeps losing popularity, I have no doubt the corporate
carpetbaggers will try to force an even worse atrocity on us, so we need to be 
ready
this time and not have the argument centered on a false choice.

I see two init systems ready to take the baton and run with it:

* Runit
* S6

Runit is the simplest init system other than /bin/bash or an rc script. It's
maintained by the Void Linux project, so hit hard at the FUDdists who claim 
runit is
unmaintained.

S6 is advancing full speed to a complete solution, implementing all the best
features of systemd, but these features are voluntary and separable. If you 
want top
quality, choice and performance, and are willing to accept a little more 
complexity
(but sane complexity), S6 plus its service manager is the way to go. In my 
opinion,
S6 plus its service manager offers more than OpenRC, and IMHO it's easier to
configure/manage.

If and when systemd falls, we need to be ready, so we can get the right init 
system,
instead yet another corporate sponsored Rube Goldberg Machine.

SteveT
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng