Don’t want to rely on other’s opinions about the Hurd? How to run your own GNU Hurd, in 140 letters:
wget http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.tar.gz; tar xf de*hu*gz; qemu-system-x86_64 -hda de*hu*g -m 1G
→ An answer to just accept it, truth hurds, where Flameeyes told his reasons for not liking the Hurd and asked for technical advantages (and claimed, that the Hurd does not offer a concept which got incorporated into other free software, contributing to other projects). Note: These are the points I see. Very likely there are more technical advantages which I don’t see well enough to explain them.
The translator system in the Hurd is a simple concept that makes many tasks easy, which are complex with Linux (like init, network transparency, new filesystems, …). Additionally there are capabilities (give programs only the access they need - adjusted at runtime), subhurds and (academic) memory management.
Information for potential testers: The Hurd is already usable, but it is not yet in production state. It progressed a lot during the recent years, though. Have a look at the status report if you want to see if it’s already interesting for you. See running the Hurd for testing it yourself.
Table of Contents:
Firstoff: FUSE is essentially an implementation of parts of the translator system (which is the main building block of the Hurd) to Linux, and NetBSD recently got a port of the translators system of the Hurd. That’s the main contribution to other projects that I see.
As an update in 2015: A pretty interesting development in the past few years is that the systemd developers have been bolting features onto Linux which the Hurd already provided 15 years ago. Examples: socket-activation provides on-demand startup like passive translators, but as crude hack piggybacked on dbus which can only be used by dbus-aware programs while passive translators can be used by any program which can access the filesystem, calling priviledged programs via systemd provides jailed priviledge escalation like adding capabilities at runtime, but as crude hack piggybacked on dbus and specialized services.
That means, there is a need for the features of the Hurd, but instead of just using the Hurd, where they are cleanly integrated, these features are bolted onto a system where they do not fit and suffer from bad performance due to requiring lots of unnecessary cruft to circumvent limitations of the base system. The clean solution would be to just set 2-3 full-time developers onto the task of resolving the last few blockers (mainly sound and USB) and then just using the Hurd.
On the bare technical side, the translator-based filesystem stands out: The filesystem allows for making arbitrary programs responsible for displaying a given node (which can also be a directory tree) and to start these programs on demand. To make them persistent over reboots, you only need to add them to the filesystem node (for which you need the right to change that node). Also you can start translators on any node without having to change the node itself, but then they are not persistent and only affect your view of the filesystem without affecting other users. These translators are called active, and you don’t need write permissions on a node to add them.
If the video doesn’t show, you can also download it as Ogg Theora & Vorbis “.ogv” or find it on youtube.
-> Geschrieben zu einem Artikel der Computerwoche.
Sehr geehrter Herr Hülsbömer,
Ihre Information zum GNU Hurd ist leider falsch, daher möchte ich sie bitten, sie zu berichtigen.
Der GNU Hurd funktioniert (wenn auch nicht perfekt) und ein GNU/Hurd System kann auf etwa 76% der in Debian vertretenen Pakete zurückgreifen, inklusive Xorg und GNUstep.
"Mit dem GNU Hurd können Nutzer alles in ihrem System ändern, das niemand anderen beeinträchtigt."
Und das ist eine Möglichkeit, Freiheit in einer Gemeinschaft zu definieren: "Mach was du willst, solange du damit niemand anderem schadest."
Im Gegensatz dazu benötigen die meisten aktuellen Systeme (GNU/Linux, MacOSX, Windows, ...) root Zugang um z.B. ein neues Dateisystem zu installieren.