So, you are interested in contributing to the GNU Hurd project?

Welcome! Every single contribution is very much encouraged!

There are various ways of contributing, read on about contributing to...

  1. Documentation
    1. These Web Pages
  2. The System Itself
    1. Hurd on Mach
      1. Porting Packages
      2. Open Issues: GNU Hurd
      3. Open Issues: GNU Mach
      4. Open Issues: GNU MIG
    2. Hurd on a modern microkernel

Documentation

These Web Pages

Please read about how to contribute to these web pages.

The System Itself

There are essential two kinds of Hurd system designs.

Hurd on Mach

For one there's the implementation of the Hurd running on the GNU Mach microkernel. This is what is commonly meant when people are talking about GNU/Hurd systems.

This system has mostly been designed and implemented in the '90s. It works and is usable. For example, these web pages are rendered on a GNU/Hurd system.

You can try it out for yourself: for getting access, installing Debian GNU/Hurd will probably be the easiest and most feature-complete solution. If you don't have spare hardware to use for doing so, you can also get a shell account on a public Hurd machine. Depending on the things you're going to work on (and on your internet connection), this may be an easy way of getting used to Hurd systems. Installing in a virtual machine is another possibility, see the page about running a Hurd system for the full story.

Then you can either play around and eventually strive to do something useful or -- if you want -- ask us to assign something to you, depending on the skills you have and the resources you intend to invest.

Please spend some time with thinking about the items in this questionnaire.

Before you can significantly contribute, take some time to learn about the system, e.g., microkernels for beginners. Until you can do the basic exercises listed there, you won't be able to significantly contribute to the Hurd.

For more reading resources, please see these web pages, for example, Hurd documentation and Mach documentation for links to a bunch of documents.

Porting Packages

Debian is currently the Hurd distribution of choice among Hurd users and developers.

Here is a list of Debian packages that need porting.

You can also just install Debian GNU/Hurd and find what doesn't work or suit you and try to improve that.

Open Issues: GNU Hurd

Here is a list of open issues for the GNU Hurd.

Open Issues: GNU Mach

Here is a list of open issues for GNU Mach.

Open Issues: GNU MIG

Here is a list of open issues for GNU MIG.

Hurd on a modern microkernel

Developers have identified a number of problem with the Hurd on Mach system. Problems, that can not easily be fixed by bug-fixing the existing code base, but which require design changes -- deep going ones actually.

As such systems (as the desired one) are not in common use, but are -- if at all -- research projects, this new Hurd on a modern microkernel project itself is more a research project than a sit down and implement/code/hack project.

If you're interested in contributing in this area, knowing the Hurd on Mach system nevertheless is a prerequisite. At least have a deep look at the documentation pointers given in the previous section. Also read through the HurdNG section.

Please send email to the l4-hurd mailing list for discussing this post-Mach system design.