Le vendredi 15 novembre 2019 09:41:17 CET, vous avez écrit :
> * Alfred M. Szmidt <a...@gnu.org> [2019-11-14 06:21]:
> >    Le mercredi 13 novembre 2019, 19:23:43 CET Kete via Discussions
> >    about the>    
> >    development of the GNU system a écrit :
> >    > I disagree that they betrayed RMS. I still like the Guix
> >    > contributors,
> >    > probably even more now. Your systemd statement is confusing
> >    > because they made their own service program called shepherd.
> >    
> >    To be precise, GNU Shepherd is the continuation of an old init
> >    software
> >    originally called GNU DMD, written in Scheme, that was intended to
> >    provide init system to the Hurd before Guix and systemd existed
> >    (and happened to already provide some of the best features of
> >    systemd (like dependency graph, parallelism, etc.)
> > 
> > GNU dmd was never intended for the Hurd, it was far more general in
> > spirit.  One of the goals was that each user should be able to manage
> > daemons, and give back some of the closed garden that is the init
> > system.
> > 
> > I also don't think that shepherd is a better name, dmd far better
> > describes the intent Wolfgang and I had when we wrote and designed it.
> > Infact, most of the commands now make little sense...
> 
> Alright, Shepherd changed and became Guix specific software. Maybe
> they will make it better.

ams said the opposite likely, at least for interface(

> One thing about Shepherd is that it is
> lacking some justification. There are already good ways to start/stop
> daemons, I don't know what shepherd is bringing other than that it is
> GNU project.

It’s lisp (actually that’s pretty common/peculiar to GNU), it’s GPLv3, and 
as stated before it offers parallelism support and per-usage daemon 
management (some features that are used nowadays to advertise systemd: I 
wouldn’t be suprised there are others).

> In my opinion it has been adopted for Guix only for being
> GNU and Guile based project.

Very likely.  It offers better integration and since it’s the same 
language, better hackability by the same pool of hackers/users…

> Probably it was not Guile before.

Yes it was.  I remember very well it was already scheme and I tried it 
with Guile, when it was called DMD.

> In case of the service manager I would rather like to see technical
> advantages over some others.

I disagree.  When Debian used SysVinit, I recall when running a server I 
hacked *a hell lot* of shellscripts to install new stuff, modify how my 
stuff was ran, disable services, etc.  It was pretty straightforward when 
knowing commands (but I don’t recall to having found a central manual 
(man, info, --help, whatever) so I didn’t know so much about its automatic 
symlinking and such… unlike systemd and DMD/Shepherd!  Except I’d barely 
like to read a manual from a linux tool that keep eating monolithically, 
changing, and is only GPLv2 (systemd)), and when ignoring the standard 
right-way of doing stuff, it was pretty straightforward to get anything 
done by hacking some script in the place you wanted…

So, for init/daemon-management software, to me hackability and usage 
pleasure is a *great* advantage (below all the other technical features).  
Scripting through bourne shell as it was with SysVinit was good, scheme 
scripting is even better (as it is a “real” language).

> GNU project has one other program invocation and execution supervisor,
> that is pies:

It seems to be made by Sergey Poznyakoff, the same who did DMD in the first 
place.  I’m pretty sure they don’t totally overlap.  Also I guess GNU pies 
is not an init (pid 1) software.

And anyway for various historical reasons there are several duplicates and 
redundant packages within GNU, deal with it :/

> Date: Tue, 02 Jul 2019 17:42:29 +0300
> From: Sergey Poznyakoff <g...@gnu.org.ua>
> To: info-...@gnu.org
> Subject: pies-1.4 released [stable]
> Organization: GNU.org.ua
> 
> Hello,
> 
> This is to announce the release of GNU pies version 1.4.
> 
> GNU pies (pronounced ``p-yes'') is a program invocation and execution
> supervisor.  It starts and controls execution of external programs,
> making it possible, in particular, to run in background programs that
> were not designed to be run as daemons.  Pies configuration file allows
> administrator to specify arbitrary actions to be executed upon program
> termination (depending on its exit code or signal number it was
> terminated by).  It gives administrators complete control over the
> execution environment of each program.  This includes modifying shell
> environment, running programs with the given user privileges, etc.  The
> standard error and/or standard output of any component can be
> redirected either to a disk file or to syslog.
> 
> See the end of this message for a list of noteworthy changes in this
> version.
> 
> Here are the compressed sources:
>   http://ftp.gnu.org/gnu/pies/pies-1.4.tar.gz   (1.6MB)
>   http://ftp.gnu.org/gnu/pies/pies-1.4.tar.bz2  (1.2MB)
> 
> https://www.gnu.org/s/pies

> GNU pies can also be used as init daemon — the first process started
> during booting. The configuration can be supplied both as a
> traditional /etc/inittab file or as a native GNU pies configuration
> file, which gives much more flexibility. The control interface
> provides extensive monitoring and management capabilities.

Really?  Actually, anything can be used as pid 1 (I used emacs for it once 
x), was neat), but some stuff are better… afaik shepherd/ex-DMD offers 
dependency-graph support along with parallelism… does pies support that?

Also allowing extension with scheme is neat!

> It has better syntax, and does not depend on Guile.

Guile is pretty small and self-contained, it is much, much, much smaller 
(1,2M here) than emacs (39M here), for instance… actually it’s even the 
same size of bash!  while it is a fully featured language, byte-compiled 
(so much faster) with more portable standards (R5RS and parts of R6RS, 
R7RS and SRFI).

The only downside to guile I’ve been aware of until now is it’s not 
natively compiled (not the case of alternatives here), somewhat slow 
(compared to, say, jitter… but yet idem), apparently instable with bad 
APIs (at least that’s the reasons I heard it wasn’t finally used to replace 
the core of emacs, as planned… and why it didn’t implement more languages, 
as planned before its creation, like at least tcl), and I found it not as 
clean and well-organized as emacs, to motivate hacking it (so in the end 
emacs ends being much more hackable and user-friendly :/).

> I do not have time now, but I would make GNU free system distribution
> based on skarnet.org's small & secure supervision software
> suite. Comes with an ultra-fast init replacement, process management
> tools, an asynchronous locking library, and more.

What’s that? what’s that from?

It’s not GNU software… why that *precisely*?  Why not sysvinit then (it’s 
more standard… and the script language is likely more known!)

> That one has serious underlying justification and simplicity of use.
> 
> Shepherd does not. I do not know about pies.

See above.

Reply via email to