The GNU Shepherd

The GNU Daemon Shepherd or GNU Shepherd, formerly known as GNU dmd, is a service manager that looks after the herd of system services. It provides a replacement for the service-managing capabilities of SysV-init (or any other init) with a both powerful and beautiful dependency-based system with a convenient interface. It is intended for use on GNU/Hurd, but it is supposed to work on every POSIX-like system where Guile is available. In particular, it is used as PID 1 by GNU Guix.

Downloading the Shepherd

Releases of the Shepherd can be found on the GNU servers: https://ftp.gnu.org/gnu/shepherd/ (via HTTPS). Older releases are available from alpha.gnu.org.

Documentation

Documentation for the Shepherd is available on-line, as is documentation for most GNU software. You may also find more information about the Shepherd by running info shepherd.

Mailing lists

The guix-devel mailing list is used to discuss most aspects of the Shepherd, including development and enhancement requests.

Please report bugs to the bug-guix mailing list, which has an associated issue tracker.

Guix-commits receives notifications of commits to the version control repository.

Announcements about the Shepherd and most other GNU software are made on info-gnu (archive).

Security reports that should not be made immediately public can be sent to the guix-security private mailing list or to the maintainers.

Getting involved

Development of the Shepherd, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).

Test releases Trying the latest test release (when available) is always appreciated. Test releases of the Shepherd can be found at https://alpha.gnu.org/gnu/shepherd/ (via HTTP) and ftp://alpha.gnu.org/gnu/shepherd/ (via FTP). Development Anonymous checkout: git clone git://git.savannah.gnu.org/shepherd.git You can also browse the Git repository with your web browser: https://git.savannah.gnu.org/cgit/shepherd.git For additional information, please see the shepherd project page at savannah.gnu.org. Road map A tentative road map was put up in November 2013. Please join the mailing list for discussion. Maintainer The Shepherd is currently being maintained by Ludovic Courtès. Please use the mailing lists for contact.

Licensing

The Shepherd is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

History

The GNU Shepherd was formerly known as GNU dmd. dmd was initially developed by Wolfgang Jährling, with input from other GNU hackers. It was first released in 2003, making it one of the first init systems departing from the venerable System V approach. Its development was then closely related to the GNU Hurd, although it has always supported GNU/Linux as well.

After a looong period of freeze, it was revived in 2013. It saw its first positively-numbered release in December 2013. It has since been used as the init system (PID 1) of the Guix System Distribution.

In January 2016, GNU dmd was renamed to GNU Shepherd to avoid confusion with a same-named project.