The GNU Hurd has a number of enticing features:
It's free software, so anybody can use, modify, and redistribute it under the
terms of the ?GNU General Public License (GPL).
It's compatible as it provides a familiar programming and user environment.
For all intents and purposes, the Hurd provides the same facilities as a
modern Unix-like kernel. The Hurd uses the GNU C Library, whose development
closely tracks standards such as ANSI/ISO, BSD, POSIX, Single Unix, SVID, and
X/Open.
Unlike other popular kernel software, the Hurd has an object-oriented
structure that allows it to evolve without compromising its design. This
structure will help the Hurd undergo major redesign and modifications without
having to be entirely rewritten.
The Hurd is built in a very modular fashion. Other Unix-like kernels (Linux,
for example) are also modular in that they allow loading (and unloading) some
components as kernel modules, but the Hurd goes one step further in that most
of the components that constitute the whole kernel are running as separate
user-space processes and are thus using different address spaces that are
isolated from each other. This is a multi-server design based on a
microkernel. It is not possible that a faulty memory dereference inside the
TCP/IP stack can bring down the whole kernel, and thus the whole system,
which is a real problem in a monolithic Unix kernel architecture.
One advantage of the Hurd's separation of kernel-like functionality into
separate components (servers) is that these can be constructed using
different programming languages -- a feature that is not easily possible in a
monolithic kernel. Essentially, only an interface from the programming
environment to the RPC mechanism is required. (We have a project proposal for
this, if you're interested.)
The Hurd is an attractive platform for learning how to become a kernel hacker
or for implementing new ideas in kernel technology. Every part of the system
is designed to be easily modified and extended.
It is possible to develop and test new Hurd kernel components without
rebooting the machine. Running your own kernel components doesn't interfere
with other users, and so no special system privileges are required. The
mechanism for kernel extensions is secure by design: it is impossible to
impose your changes upon other users unless they authorize them or you are
the system administrator.
The Hurd is real software that works right now. It is not a research project
or a proposal. You don't have to wait at all before you can start using and
developing it.