Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
GNU Hurd (gnu.org)
97 points by jdkanani on April 6, 2015 | hide | past | favorite | 54 comments


Is there any specific reason why it's on the front page today?

P.S.: Just checked xkcd, I guess it's because it have been mentioned in today's comic...


2042 appears to be an important year in history!


Weird. When I read xkcd this morning it didn't mention anything at all about GNU/Hurd. Apparently my RSS reader decided to cut off the far right side of that image, so it just ended "In Fire." Checked the site and the whole image is there. The alt-text makes a bit more sense now.

Is it Friday yet?


It's one of the things that pop up on HN every now and then, even with the same link submitted by somebody else...



The idea that some elderly neckbeard would, decades after the fall, still be painfully hacking away at Hurd amid the decaying remnants of a dead civilization is a vision easy to see.


What is the deal with GNU Hurd? I know it's become a bit of a punchline for software being late, but does anyone use it for anything?

This site says you can get a build of Debian based on Hurd instead of Linux -- does anyone use this? Is it purely an academic curiosity at this point?


It's more like a cultural curiosity. It's an attempt to get a full GNU system on top of a microkernel. Except they've never gotten a particularly complete system working with any acceptable level of performance on any of many microkernels attempted.

It was already a punchline when I started trying to play with it in college circa 2004 or so.


RMS has said it's no longer a priority for the GNU Project to complete Hurd, as Linux works as a free kernel. But some people continue to work on Hurd out of technical interest.


Multiple attempts at replacing the Mach microkernel have fizzled out, meaning it's not even academically interesting. If Coyotos or Viengoos or L4.Sec had ever worked out, there would be something genuinely useful that people might want to work on.


I wasn't aware there were attempts to replace Mach with something else inside Hurd. I am really interested if you can share a bit of history about this; Especially if it's related to L4 and capability-computing. Same as Symmetry below, I would be interested in any L4 and seL4 based general purpose operating system project.



Genode works on a variety of L4-based kernels, probably what you want to look at.


In any case, RMS is absolutely right about people not giving GNU enough credit in naming or in general.


The GNU project tried to build an entire operating system. They published the parts they had built under the GPL. After Linus built his kernel, he and others started to use it, the GPL'd utilities from GNU and source from other places to build an entire operating system. That operating system is NOT the one that the GNU project was trying to build, and nowhere in the terms of the GPL does it say that by using this code you are required to give us credit or put us in the name.

And I don't think RMS's concern is that he wants credit. I think he wants a GNU operating system to further certain goals he has, and since a GNU operating system doesn't exist, he wants to make Linux that operating system and have Linux further his goals. But adopting GNU's utilities and even the GPLv2 has not made the people building the Linux kernel or most of the prominent Linux distributions adopt GNU's politics, and that's what all the sturm and drang about the name is really about.


> In any case, RMS is absolutely right about people not giving GNU enough credit in naming or in general.

If RMS wanted acknowledgement as a precondition for using components developed/maintained by GNU (or derivatives of those components), he should have included such a provision in the licensing of the components.

Its hardly as if RMS is a stranger to using licensing restrictions to achieving the world he wants to achieve.


Time was, gpl advocates would get all het up over the version of bsd that required derivative projects add in an acknowledgement statement, because making them do that was unfree.


If this[1] is what you're referring to, it's because the acknowledgements would make things needlessly wordy.

[1]: https://www.gnu.org/philosophy/bsd.html


So it's verbosity alone that makes "GNU/Linux" not just acceptable but morally required but "This product includes software developed by the University of California, Berkeley and its contributors." just beyond the pale. That explains a lot about RMS.


Historically, the people who put together a complete operating system have been free to name it whatever they want, and they generally did not use the name as a place to give credit for the components they included in their operating system.

The historically accurate way to view "GNU system" and "GNU/Linux" is as specifications, much like POSIX or the Single Unix Specification. An operating system can be said to be a "GNU system" or a "GNU/Linux" system if the meets the specifications for those, but that doesn't mean the maker of the operating system has to incorporate that into the name.


GNU is becoming progressively less and less important.

The "killer apps" for Linux have never been GNU. Apache httpd and XFree86/Xorg are by far and above the most popular applications on Linux, and they aren't GNU projects.

Graphically, GNU is at its nadir of influence. Freedesktop.org controls most cross-desktop standards, libraries, and services. GNU's own desktop environment GNOME is no longer nearly as popular as it used to be thanks to GNOME 3 being actively hostile to desktop users (and GNOME has always been part of GNU on paper only -- it's effectively a Red Hat project).

On the platform side, the init system has never been GNU. While the init system has always been a minor part of the OS, this is changing thanks to systemd (also a product of freedesktop.org) getting its hooks into everything on several levels.

Actually, I'd go as far as to say that freedesktop.org has far more influence on the userland than GNU does right now.


Aren't these all "killer apps" for Linux?

  cp
  mv
  rm
  cat
  grep
  find
  ln
  head
  tail


A canonical example of a killer app is something like Lotus 1-2-3 for the PC, or Halo for the original XBox -- something so compelling as to drive adoption of the host platform. Those are all pretty standard *IX command line utilities, not killer apps.

(They're also the sort of thing that I bet someone has coded in Rust or Go over a few weekends as an exercise, and as such they're probably the EASIEST bit of GNU code to rip out of Linux at this point if you wanted a Linux without GNU.)


> A canonical example of a killer app is something like Lotus 1-2-3 for the PC, or Halo for the original XBox -- something so compelling as to drive adoption of the host platform.

True, and I don't think the listed command-line utilities do that. OTOH, I do think that that presentation hints at the truth -- the "killer apps" that are driving Linux adoption aren't a big flashy end-user-facing 1-2-3 style apps, or even apps in the traditional sense, but lower-level more-technical features/tools that make developing on and for Linux attractive, or make Linux attractive for use in cloud deployments, etc.


In my opinion, the "killer apps" for Linux (aside from the Apache httpd that amyjess mentioned) are:

* A mostly Unix-like OS that runs on available commodity hardware, rather than requiring you to buy a SPARC, Alpha or POWER machine, you can buy a commodity x86 machine and use that instead. Because of economies of scale, commodity hardware is always going to be cheaper.

* Low (really no) licensing cost. The traditional model of scaling was that when your computer wasn't fast enough, you bought a faster computer. Linux's licensing model makes it affordable to scale horizontally -- to have lots of "slow" computers provide the same computing capacity as one big computer. In a "buy a computer and you have to buy my UNIX" world, any savings you can achieve by scaling out instead of up are offset by software licensing costs. Not in a Linux world, though.


They are all readily available on a number of other operating systems.


The single most widely used distro of Linux, Android, does not use XFree86/Xorg. Indeed it uses almost nothing from GNU or freedesktop.org


Android using the Linux kernel doesn't make it a Linux distro any more than Linux using GNU code in its userland makes Linux the GNU operating system. (Or put another way, nobody thinks that iOS is "the most widely used BSD.")


>Android using the Linux kernel doesn't make it a Linux distro any more than...

Um, actually that's exactly what makes it a Linux distro. That's the one defining feature of a Linux distro.


Well, iOS uses the XNU kernel which has Mach as its basis, not BSD. It uses a lot of parts of the FreeBSD kernel, though, but it's definitely not tracking upstream FreeBSD the same way that Android is.


And GCC is losing a lot of ground to Clang/LLVM.


GNU's own desktop environment GNOME

I am pretty sure GNOME is separate from GNU/FSF.


It's officially part of GNU: http://www.gnu.org/software/software.html ctrl-F "gnome"

Also, http://www.gnu.org/software/gnome/ redirects to http://www.gnome.org.

This relationship, however, exists purely on paper. Actual governance is performed by the GNOME Foundation, whose membership consists of all contributors to the project, and most (but not all) funding comes from Red Hat.

Edit: Beaten to the punch. That's what I get when I try to post and code at the same time.


GNOME project, and its products, are the work of the GNOME Foundation [0], not GNU/FSF.

GNU links to GNOME from the name "gnome" within its list of "GNU packages" [1], but GNOME is, and has been for some time, its own separate organization. GNU claims that things it lists as "GNU software" consist of software "released under the auspices of the GNU Project" [2], but that doesn't seem to apply to GNOME in any meaningful sense now, though historically GNOME was a product of the GNU project.

EDITED: to reflect historical relationship noted in cwyers reply.

[0] https://www.gnome.org/

[1] http://www.gnu.org/software/software.html

[2] http://www.gnu.org/philosophy/categories.html#GNUsoftware


Looking at the history:

http://www.gnu.org/press/gnome-1.0.html

> The Free Software Foundation (FSF) announced the release of GNOME (GNU Network Object Model Environment) 1.0 today at the Linux World Conference. GNOME is an integrated desktop environment designed to run on GNU/Linux systems.

> The Free Software Foundation, a tax-exempt charity formed in 1985, is dedicated to eliminating restrictions of people's right to use, copy, modify, and redistribute computer programs. It does so by protecting these rights through the GNU General Public License. The aim is to give people the freedom to cooperate with other computer users.

> "GNOME is a flexible GUI (Graphical User's Interface) that combines ease of use and the flexibility and reliability of GNU/Linux. We're very excited about GNOME and what it will mean for the future of GNU/Linux computing" Miguel de Icaza, chief designer of GNOME said earlier.

At one point, the G in GNOME stood for GNU (now GNOME is just a name, not an acronym), and the FSF was active in its maintenance.


My assumption is that the FSF used to be responsible for GNOME's governance before the GNOME Foundation existed, and nobody ever bothered to update the website afterwards.

That it's still listed is either stale, inaccurate data on a webpage or a relationship that only exists on paper, depending on how you look at it.

Oh, and all this just underscores my point that GNU has effectively no presence in the graphical sphere except for a few scattered applications (e.g. GIMP, Emacs).


GNOME is listed under the GNU Project's software page:

http://www.gnu.org/software/software.html

The page http://www.gnu.org/software/gnome/ is a redirect to gnome.org.


GCC and it's ecosystem is a killer app. Without it, you likely wouldn't have had the others[1], including Linux itself.

[1] X existed in the before time, but it was distinctly different than XFree86.


Theoretically speaking, does Hurd still have anything to offer over the Linux kernel's monolithic architecture?


As it stands, the Hurd consists of file servers on top of Mach called translators, which provide OS services. It's a rustier version of what Plan 9 achieves via the 9P protocol.

By academic standards the design is uninteresting and perhaps outdated, though if it had actually flourished in the 90s as it was intended, the use of a multiserver microkernel in a mainstream OS would have been quite the achievement back then.


Thanks vezzy... Very interesting reading about multiserver microkernels. I also found the following articles on the Hurd website very informative:

https://www.gnu.org/software/hurd/advantages.html

https://www.gnu.org/software/hurd/community/weblogs/ArneBab/...


Hurd (by way of Mach) has far more PhD papers.


Just in case, Samuel Thibault does talks about Hurd somehow regularly : https://www.google.com/search?q=samuel+thibault+hurd


If you are interested in trying a microkernel OS, Genode (genode.org) is pretty interesting, with a secure display architecture, ability to run Linux in a VM etc.


I wonder if someone is working on building an OS around seL4 now that it's open sourced? Obviously it would have to be designed differently than HURD is, but it sounds like it would be a nifty project.


A randomish additional thought. It seems like Arrakis[1]-like system is much more natural since then your database and your filesystem are both user level processes who have been given access to different hard drives. And your webserver and normal networking process can be different processes that have been given access to different channels on your ethernet connection.

Of course I'm just a robotics engineer, this is all woolly speculation.

[1]https://www.usenix.org/conference/osdi14/technical-sessions/...


GNU Hurd, the Daikatana edition.


I have it on good authority that the Hurd is being used as the engine in Half-Life 3.


Kind of sad, I remember when Hurd was used in the same sentence as Duke Nukem Forever.

Then they finished Duke..


Au contraire, it's a reason to lighten up a little: we might live long enough to see HL3 and Hurd done!


I like how they're almost as fanatical about using the definite article as Apple are the opposite ("The GNU Hurd" vs. just "iPhone"): https://www.gnu.org/software/hurd/hurd/what_is_the_gnu_hurd/...


I wonder how many best practices and contemporary OS techniques have come and gone in the Hurd's source code over the years.


its still alive?!?!?!


Oops! you misspelled the name. It begins with a 'T', not an 'H' :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: