Bits from the Debian GNU/Hurd porters
lists.debian.org
lists.debian.org
Edit to add: That said, since Debian seems to be the main group willing to do any kind of binary distribution with Hurd, they get to call the shots.
I suppose that whoever uses it also needs userland software. It's fun to have a kernel with an unusual architecture, but less so when there is no application for it. I'm also not sure who the public is, apart from FSF people(?), kernel enthusiasts and people who like to experiment. But clearly there are enough people interested that it is getting more usable, and there is nothing wrong with that.
What I'm talking about is adopting things well outside the confines of POSIX, into using stuff like FHS and systemv-style init. Hurd has some powerful stuff that's more like Plan9 than it is like UNIX, and some linuxy ways of doing things can get in the way of using those.
The world gains very little from having a great OS nobody knows about.
With time, the Hurd-ish ways should prevail where it makes sense.
Really, the next innovation in kernels and system architecture needs to be an improvement on plan9 - not on Unix, again.
Hurd predates Linux, it isn't architecturally different from Linux, Linux is architecturally different from it - but almost none of the runtime cares if it is running on a modular monolithic kernel (Linux) or a microkernel (Hurd, Minix, Mach).
Back to your sentiment, yeah it makes sense for all things GNU to be able to work with each other. That's one of the biggest benefits of this Debian project.
According to whose techne?
This really all boils down to opinions, nothing else.
Android's largely convinced me otherwise.
(Android isn't a Linux OS so far as I'm concerned).
I don't run linux, I run Debian. Debian might include packages from GNU, Linux, BSD, HURD, KDE, GNOME, US, EU, and X, but do I call the OS any of those?
Static operative systems with packages from only one source is a thing of the past.
Right now, the target audience are Hurd developers, who need a useful userspace to work with. Making that userspace as much like Linux as possible reduces the incremental maintenance effort, which is critically important given the limited number of developers.
(You could reasonably ask the value of developing Hurd at all, but given a set of people wanting to develop it, it makes sense for them to do so using a Debian userspace.)
They don't make it "as much like Linux as possible". Although nobody except for rms uses that name, the OS is actually called GNU. And they're "just" replacing the kernels, not really building the separate OS.
While modern GNU (and related) userland is, indeed, has many strong ties to Linux, their first milestone is probably to get things working, so, I guess, getting rid of Linuxisms just isn't the priority.
XNU, OS X's kernel, is based on the Mach microkernel, but also leverages some monolithic design in some cases.
In any case, it seems that Debian GNU/Hurd would be a worthwhile place to experiment with such technologies with a familiar runtime.
I agree with the premise that it's more hackable, though.
It states that the Mach kernel used in OSX was Mach 2.5 which was not a micro-kernel (as opposed to Mach 3.0) and is not used in OSX as a micro kernel.
QNX, Symbian, Type 1 Hypervisors, OKL4 are just a few examples of successful commercial use of the microkernel model.
I'm not aware what they used before, but why pthreads? Isn't this perfect opportunity to try to develop something better, introduce new concepts (async, coroutines or some kind of userspace deterministic job management)? Not sure if backward compatibility is best way to go here, but maybe i'm just talking gibberish
I agree that raw threads are a terrible abstraction for application programmers to manipulate directly. Actors and CSP are much better concurrency models for application developers to use.
However, if you're going to do low-level OS and language runtime programming for multi-core computers, threads are a good abstraction on top of which you'd implement CSP or Actors. Also, there's tons of legacy software that uses lots of raw pthread calls, so to have any kind of adoption of a UNIX-like OS, you're going to have to support pthreads.
Great to see this port moving forward, now I'm no longer certain my next playdate will be with Debian/kFreeBSD after all!
systemd is becoming the standard free-Unix init. Even the OpenBSD folks acknowledge the need for a systemd-compatible init and have started a GSoC project for just that.
As for the GSOC project:
-----
Project: Provide bsd-licenced, os-agnostic, dbus-api compatible systemd-{hostnamed,timedated,localed,logind} replacements.
Brief explanation: More and more desktop-level applications now depend on apis provided by linux's systemd. We need to have an equivalent to keep up with them.
Hardly, systemd is a blatant Linuxism. Unless your definition of "Unix" includes nothing but Linux, in which case, you're right at home with it.
EDIT - even if the BSDs have started working on their own equivalent, that doesn't help the Debian/Hurd porters who need a working init system _now_. Or, more accurately, a couple of years ago when they really started to get the distro together.