Tasks for the Hurd

These tasks are compiled from the ?niches of the hurd and what we need. The first asked “where can the Hurd find niches where it is the biggest fish in the pond, and how?” while the second asked “what do we still need to make the Hurd usable for most of its developers as system for their day-to-day tasks?”.

This might be useful for the next GSoC. Please feel free to edit and/or migrate it mercilessly :)


  • Port debian packages to the Hurd -> currently mainly tinkerers, but also any other niche. In the long run this is necessary for every user. Easy start for devs.
  • Document easier access to low-level functions via translators, one function at a time. -> tinkerers.
  • get nsmux ready for regular users by setting it up in the LiveCDs by default. -> show tinkerers what it can do.
  • Test on modern machines. If it doesn’t work, file a bug: info.


  • A filesystem-based package manager: Unionmounting packages. With filterfs from nsmux packages any user should be able to selectively disable any package without affecting the system of others. Simple active translators can add packages. -> clean design and more freedom for tinkerers to quickly setup test environments: “Does this also work with XY disabled?” ⇒ rapid testing for different base systems.
  • Enable subhurds for regular users via a subdo command: A framework for confining individual applications. -> tinkerers for testing their work.
  • Define your personal environment via translators, so you can easily take it with you ⇒ system on a USB stick. Would work great with a filesystem based package manager -> use the capabilities of a system and all its installed packages without having to give up your own custom environment.

  • Implement USB support, maybe using DDE or DDEkit -> prerequisite to system on USB.

  • Add Wireless support, maybe via DDE.
  • Add sound support via a sound translator.
  • Stabilize Xorg, so it can run fast for days.
  • Add PPPoE capablilities.
  • Debug NFS for climm, w3m and git.
  • Port a full-featured browser (i.e. Firefox).
  • (Graphical Desktop and switching between console and X) or full featured high-resultion console which doesn’t need X (and emacs :) ).


  • Get Hurd/GNU Mach ready for efficient multicore usage. -> multicore
  • Running parts of the Hurd on different computers, maybe even with shared servers on dedicated hardware (Cloud Computing when the servers can migrate between computers). -> multicore on steroids :)