The GNU Hurd is an incredible kernel, which has a number of enticing features:
- POSIX compliant
- GPLv3 compliant
- Object-orriented design
- Modularity
- Extensibility
- Educational
- No-reboot Design
- And of course, Translators
For more details on these advantages, refer to the sections below:
POSIX Compliant
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.
What this means, on a higher level, is that any program written for another POSIX-compliant system (such as Linux or newer UNIX systems), can be built, installed, and run on the Hurd. This means that, unlike, say, Plan 9 or Haiku, there's a huge library of programs already availble for the Hurd (and we mean natively, not under an emulator or a compatibility layer)!
GPLv3 Compliant
The Hurd is built from the ground up as 100% Free Software, so anybody can use, modify, and redistribute it as they please, under the terms of the GNU General Public License v3 (GPLv3)!
Object-Orriented Design
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.
Modularity
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.
Extensibility
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.)
Educational
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.
For more learning resources, see the Documentation page.
No-Reboot Design
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.
Technical advantages from a users viewpoint can be seen in the weblog entry Some technical advantages of the Hurd.