one thing i dont understand:
there are so many hacking on Linux,
why are there so few hacking on Hurd?
it seems technically more competitive, or at least designed in some way (not like Linux which is totally ad-hoc)...
Yes, Linux is obsolete since 1991, we know it...
The kernel code optimization of linux will allways be superior than hurd...
just because hurd was born after linux...
Because the Hurd stands for only one thing, Better never than late.
Or evolved, as Linus would call it.
Yes the Hurd is "designed". But that doesn't make it superior, just like that.
u misunderstood ME!
i like Linux.
i eat and drink it.
i use it every day (nearly).
but what is it that Hurd lacks, what attracts so many developers to Linux?
The subject line says it. Linux works it has a lot of drivers and its been tested for a long time. Call it momentum. HURD needs one very dedicated group of developers to put it together in a distro and test it until everything just works.
People test it it does not work they dont even tell you about it. Thats just one reality of open source. I tested it myself. I tried to fix it but i dont understand the code so i went on working on linux. HURD seems too complex for me. with linux i can understand some parts of it. But HURD not one.
LOL, i've been asking about DEVELOPERS!
once upon a time, Linux was an EXPERIMENTAL ALPHA stage project as well...
It is hard to find developers for alpha state projects.
Who wants to work on on a project which has not proven itself? Not many developers do. You can say "but hey, how about linux"? But it is hard to compare linux to the Hurd. Linux can be understood by anyone who has knowledge about UNIX. And there are plenty of books about UNIX.
The Hurd differs a lot from this. For a user GNU/Hurd looks just like GNU/Linux in many cases, but internally it works differently.
So new developers have to learn about the concepts of the Hurd and understand it is not the same as UNIX.
As I see it the GNU HURD's problems attracting developers stem from
Problem #1 for the HURD was trading the present away for the future a
bit too often. When the HURD started it was overly ambitious.
Development suffered from MPS. The desire to make the GNU HURD a
really advanced modern kernel (I know... I know... it's really a
collection of servers) kind of pushed out the desire to make the
kernel sane and usable in the present. Research is a flighty thing.
Some things work and some don't. It's very difficult to be really
cutting edge with a production system. In constrast this problem
hasn't pulled Linux down b/c the goal of Linux was/is to create a
usable production kernel *now*. Programmers who just wanted a system
that worked jumped ship to Linux. More users = more developers.
The present problem is credibility. The GNU Hurd has been vaporware
since before Linux existed. Developers aren't attracted to it b/c
there is something (Linux, *BSD, etc) that works *now*. By constantly
trying to be too advanced GNU fell behind. Even now GNU is shifting to
the L4 µkernel from Mach. The HURD is mostly a joke (no offense to
HURD developers I think that they have a lot of cool concepts, just
calling it as I see it).
the problem is that it is much to embitious: there is almost NO chance for a developer at this point of developement now to join the project. it will take ages to understand whats going on. almost no documentation ...
IMHO i say: take the best from HURD and start a new project, only with the basic functionality, but always with a "stable" branch, so people can use it for something.
Maybe L4/Linux is what you are looking for. Run both Linux and the Hurd at the same time under L4. Think of L4/Linux as your stable branch (where you have applications and device drivers that work), and L4/Hurd as the experimental/development area where you could experiment with new things like translators and such. That concept seems like it could be a nice development system. Whenever one of the Hurd "personalities" crashed, it wouldn't take the rest of the system down with it.
There is the Hurd Hackers Guide, which explains the generic concepts of the Hurd.
After that you should study things like libports, etc. It is documented in the Hurd Reference Manual.
But you don't have to know *everything* about the Hurd before you can work on it. Just learn about the part you want to work on and if it is not clear you can always ask questions on firstname.lastname@example.org or on the IRC channel of the Hurd.