[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] A quarter of the Hurd, Q2 of 2011, PS: *GNU Hurd Truths and Myths*. [[!if test="included()" then="""[[!toggle id=full_news text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]""" else=" [[!paste id=full_news]]"]] [[!cut id="full_news" text=""" After our last *[[Quarter of the Hurd|news/2011-q2]]* has been picked up by a bunch of news sites, blogs, and so on, discussions have been running all over the net *([lwn][], [reddit1][], [reddit2][], [h-online][], [slashdot][], [golem1][], [golem2][], [ih][innocenthacker], [netzwelt][], [tunnelbau][], [pro-linux][], [srini][], [schmehl][], …)*. We are happy to see that there is considerable interest in the Hurd; but we also saw some misunderstandings, false rumors, and outdated information floating around. Thus we will try to clarify the situation regarding some of the more common misunderstandings. [reddit1]: http://www.reddit.com/r/linux/comments/j2ztr/rms_mlayout_finally_shout_its_alive_at_gnuhurd_thanks/ [lwn]: http://lwn.net/Articles/451699/ [h-online]: http://www.h-online.com/open/news/item/Hurd-Progresses-Debian-GNU-Hurd-by-end-o [reddit2]: http://www.reddit.com/r/linux/comments/ipxxt/debian_now_has_concrete_plans_to_bring_gnu_hurd/ [golem1]: http://www.golem.de/1107/84947.html [golem2]: http://www.golem.de/1108/85430.html [slashdot]: http://news.slasd.h.ot.org/story/11/07/14/2141229/watch-out-linux-gnu-hurd-coming [schmehl]: http://blog.schmehl.info/2011/07/15#hurd-not-default [innocenthacker]: http://www.innocenthacker.com/2011/07/debian-7-might-come-in-gnu-hurd-version.html [netzwelt]: http://www.netzwelt.de/news/87551-debian-7-0-wheezy-erste-plaene-hurd-statt-linux-kernel.html [tunnelbau]: http://blog.operation-tunnelbau.de/archives/66-Hurd-kommt-zusammen-mit-Duke-Nukem-Forever.-Fast..html [pro-linux]: http://www.pro-linux.de/news/1/17261/gnu-hurd-will-offiziell-in-naechste-debian-version.html [srini]: http://srinicame.blogspot.com/2011/07/debian-gnuhurd-trial-installation.html * **Debian GNU Hurd works to become a port in Debian**: We plan to get into the next Debian release (Wheezy) as an additional port alongside GNU/Linux and GNU/kFreeBSD -- but we don't know yet whether we will make it. There is still substantial work necessary to indeed become a release candidate. If you want to help, please see our [[contributing]] page and the *to do* list maintained on . We'd be happy to have you on board! * **Java support for GNU/Hurd is nearby**: Jérémie Koenig is working on making a versatile Java programming environment available on the GNU/Hurd as part of his [[Google Summer of Code project|user/jkoenig/java]], focusing on OpenJDK 7 -- [partially working packages](http://jk.fr.eu.org/debian/experimental/) are already available. He also implemented GCJ/ECJ support, though this is not yet fully functional either. * **GNU/Hurd supports X.Org, though a bit unstable**: X support has been present for ages (anyone remember [1998's XFree86](http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/os-support/hurd/hurd_video.c?rev=1.1&content-type=text/vnd.viewcvs-markup)?); and X.Org also has been supported for a long time. (It's even mentioned in the [X.Org 7.2 release announcement](http://www.x.org/wiki/Other/Press/X11R72Released?action=show&redirect=PressReleases%2FX11R72Released).) It is true though that many modern drivers do not work anymore, as they require DRM (Direct Rendering Manager) support now; so often only VESA is available. Also, X on the Hurd is [[somewhat_unstable|hurd/status]]. * **The Hurd has weaker device support than Linux**: Most of the drivers we use today were imported from Linux 2.0.x. For network cards, Linux 2.6.29 drivers are available through [[DDE|hurd/dde]] -- however, this is not fully integrated yet, so using these drivers needs manual setup for now ([[hurd/dde/guide]]). Support for other driver types is also possible with DDE, but it requires some not-trivial work for each additional class of drivers -- so this can take some time to become available. (An additional benefit provided by DDE is that the device drivers run in userspace -- unlike the old drivers we were using so far, which are part of the underlying Mach microkernel.) * **The Hurd has SMP, but needs support for new chipsets**: Both Mach (the microkernel used by the Hurd), and the Hurd servers themselves come with SMP support. However, Mach [[misses drivers for modern SMP chipsets|faq/smp]]; and there are also some SMP-related bugs in the implementation -- so further work is needed for the Hurd to take advantage of modern multicore processors. * **Installation can still be challenging**: Please [[take notice|http://xkcd.com/293/]] of the [README file](http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/YES_REALLY_README.txt) -- just like with any software in development, there are some known pitfalls to avoid. (Or better yet, help to fix :-) ) Alternatively, you can simply use the the [preinstalled image](http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.tar.gz) in qemu. * **GNU Hurd is not the same as GNU/Hurd**: The GNU project set out in 1983 to create a complete free operating system. When a distribution such as Debian combines their GNU-based userland with the GNU kernel (named `GNU Hurd`), the result is more or less a full GNU system. However, such third-party distributions are distinct from what an official complete GNU system release would be; and thus we often call them `GNU/Hurd` (similar to `GNU/Linux` or `GNU/kFreeBSD`) for clarity. * **Performance**: The [benchmarks conducted by Phoronix](http://www.phoronix.com/scan.php?page=article&item=debian_gnu_hurd&num=1) attested very good performance to the Hurd. Keep in mind though that these benchmarks were almost completely CPU-bound; so they essentially just confirm that we don't do anything stupid regarding CPU initialisations. (Cache setup etc.) The results would be different for benchmarks that actually exercise the operating system functionality more. The fact that the tests were performed in a virtualised environment, might also have helped the results, for example by mitigating the effects of our unoptimized I/O paths -- which are currently the major bottleneck in most situations. Nevertheless, these results are a hint that the extra IPC required in microkernel systems [doesn't necessarily hamper performance](http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.16) quite as much as often believed. We are glad to see such solid benchmarks help dispel some of the myths around the Hurd :-) * **Given the available manpower, the progress is very good**: Over the past decade, there were seldom more than *half a dozen developers* at any given time hacking on the Hurd, in their spare time -- not hundreds of paid developers like Linux has. Considering this, the progress made is quite encouraging; with the system being [[pretty usable|hurd/status]] for many day-to-day tasks now. It is generally understood that the ambitious architecture of the Hurd required a lot of effort to get it working at all -- but the recent progress shows that once the foundations are in place, the Hurd design indeed allows the developers to be very productive. To see the progress over the last few years, you can have a look at our [[news_archive|news]]. If you’ve grown interested, you can find various ways to contribute on the [[contributing]] page. We’d be happy to see you join in because every single hand makes a big difference in the Hurd! """]]