Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Innocent question: what happened to GNU? Lotsa good tools available, but as Minix spawned Linux which has a good chunk of the world, GNU as an OS seems but a legend.


"Linux" is the GNU OS - most of the pieces are the same, and many of them have histories that you can trace back well into the '80s. It's just the kernel that's different, but that's one small piece that interoperates with the rest of it.


There are a lot of parts in a "typical" Linux system these days that are non-GNU, and a lot of GNU pieces have become less central or been displaced in many distros (dash in place of bash by default in Debian, for instance).

This is not to take anything away from GNU, or the far more central role GNU code played in earlier Linux systems; I think it's totally legitimate to say that modern Linux systems are a success of the GNU project and the GNU vision. But it's less true these days that (desktop) "Linux" is "A GNU system with the Linux kernel."


> dash in place of bash by default in Debian, for instance

Dash takes the place of the Posix binary /bin/sh for performance and memory reasons. The default shell for users remains /bin/bash — this is what a terminal application will run, which is what a “shell” is supposed to be. The /bin/sh thing is not supposed to be viewed as the shell, and its replacement is a non-issue in this context.


Hm, I think I recall some install of something that had only dash by default, but I could easily be misremembering. Regardless it has made bash slightly less central, and there are probably other examples of GNU code being displaced.


Originally you said “a lot of GNU pieces have become less central or been displaced in many distros”. I challenge this statement and put it to you to provide examples.

Simply saying “there are probably other examples” will not do. This sounds like simply wishful thinking to me.


So you don't think bash is now "less central"? Off the top of my head, Clang now provides an alternative C compiler. Arguably the windowing system has become more central as there are more users that don't touch the shell, and that has never been GNU. None of this is to say there is not still a substantial amount of GNU code, just that it is a smaller fraction of a typical system than it used to be.

It's by no means wishful thinking - I am a little more a GNU partisan than not.


> So you don't think bash is now "less central"?

The replacement of /bin/sh is not replacing bash. Bash has not been replaced.

> Clang now provides an alternative C compiler.

Yes, but are any Linux distributions actually switching to Clang?


> The replacement of /bin/sh is not replacing bash. Bash has not been replaced.

Bash has been replaced in its role as /bin/sh. If you're disputing that, I'm confused or baffled. If you're not disputing that, and simply pointing out that most systems are configured to have bash installed and to use bash as the default shell, you're addressing a point I already conceded instead of answering the question I posed: how is it not fair to say that replacing bash with dash in the fairly-central role of "shell which executes system scripts" makes bash "less central"?


> but that's one small piece that interoperates with the rest of it.

Small? Aren't we getting close to 16 million LOC?


Yeah, just "one small piece" that is bigger than all the rest of the OS combined.


It's everywhere on Linux, and a even few other places... quite successful.

Building the kernel is one of the harder parts of that goal, and when Linux took off the gnu kernel lost a lot of steam. That they chose a more difficult design only helped. But the question is moot now.

Even at that early stage, he realizes that GNU doesn't have to write everything. Having a large enough body of libre-software is the real goal. And who knows, in 10 or 20 years it may be time for a new kernel design?


They have a working kernel, HURD, you can play with it using a Debian release:

http://www.debian.org/ports/hurd/


Most of the base stuff used with linux comes from GNU. glibc, gcc, bash, and many the base tools - which is why many insist on calling it GNU/Linux


GNU is alive and well -- the GNU kernel isn't (or has been making very slow progress). The project just diverged from its original technical goals, which is common.

Stallman would say GNU is an OS without a kernel. Debian GNU/Linux would be the complete OS. Someone pointed out on HN recently that many things user space on a typical "Linux" box comes from non-GNU projects, and it's not x11/GNU/Linux, or gnu/FreeBSD, or llvm/FreeBSD. So yeah I sort of see their point.


Their OS is called GNU Hurd. [1] Apparently, they are still making progress, but it must be hard to catch up with Linux.

[1] http://en.wikipedia.org/wiki/GNU_Hurd


Especially hard to catch up with Linux when Linux began development in 1991 and Hurd began in 1983. Linux is only -8 years ahead of Hurd in development, you'd think Hurd could have caught up by now.


Well, it is only so, given the amount of money and resources IBM, Intel and friends put into Linux.

How far would be Linux without those investments?


Linux was well ahead of where Hurd was at the time (and, in fact, ahead of where Hurd is now in terms of practical usability) when Linux attracted those investments (which mostly occurred after 2.0 in the mid 1990s when Linux was 5 or so years old and Hurd over a dozen years old.)

Kind of ironic, in retrospect, is Linus's original comp.os.minix posting announcing the project, saying on part, "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones."


There's been definite progress with HURD recently. I'm not sure mid-90's Linux is still more usable than HURD (though I'm certainly not sure of the converse, either).


> I'm not sure mid-90's Linux is still more usable than HURD

Mid-90s Linux was more usable on then-current hardware than the Hurd is on now-current hardware, though I suspect that mid-90s Linux would be less usable now (on current hardware) than the Hurd.


That's likely the case. I remember some struggles with Linux in those days, but any direct comparison is clouded both by memory (I was pretty young at the time) and by a lack of any direct experience with HURD.


Why did they invest in Linux instead of Hurd?


The linux of 1998 is still light years ahead of the hurd of today. That was before all those IBM and intel investments.


Light years ahead in what sense? I think it's an anachronism from a theoretical standpoint. I'd like to see more people run with newer ideas from Plan 9 / Inferno / Hurd / all the other operating systems that aren't a monolithic 1970s design.


> Light years ahead in what sense?

Usability for pretty much any of the purposes for which one uses a computer operating system other than exploring theoretical ideas about how to architect a computer operating system.

> I'd like to see more people run with newer ideas from Plan 9 / Inferno / Hurd / all the other operating systems that aren't a monolithic 1970s design.

So would I. That doesn't make any Hurd more ready for any other use other than exploring newer OS ideas that Linux is.

Or even the most ready for such uses (or even the exploring OS architecture use) of the "Plan 9 / Inferno / Hurd" set.


In the sense of being a working kernel you can use as the center of an operating system. I like to see people run with other ideas too. But hurd didn't have that idea, and they aren't running with it. They are stumbling around blindly. Ironically, minix is now light years ahead of hurd, and it is also a microkernel.

Also, plan 9 doesn't explore much of anything in the kernel. It is a plain old boring monolithic kernel. The exploration in plan 9 was in the userland.


Really? I use Linux distributions since 1995 and IBM was shortly thereafter already supporting it.


I used linux back then too, and I don't recall anything of the sort. IBM was still fighting against linux up until around the time of the redhat IPO. Looking back I can't find anyone referencing any IBM contributions that early.


s/\<OS\>/kernel


That's what I thought, but the Wikipedia article states:

"GNU Hurd (usually referred to as the Hurd) is a computer operating system using the GNU Mach kernel designed as a replacement for Unix..."

So it looks like GNU Mach is the kernel.


> Apparently, they are still making progress, but it must be hard to catch up with Linux.

Its probably hard with far fewer active developers, and even harder with the amount of Hurd's development effort that's gone into a series of dead-end efforts to replace the kernel.


speaking of progress

http://lwn.net/Articles/554992/

first comments include slides and videos of gnu hm 2011 and 2013


I would consider that a success. The free software ecosystem has grown much larger then any one project or organization.


Well, GNU has traditionally been awful at systems programming. They worked for more than a decade on the HURD kernel even after gcc and coreutils were long completed. Eventually, Linus got tired of waiting and created his own operating system using the GNU utils (I so wished he had used the 386BSD tools instead), and HURD pretty much just went away.

The mailing lists are full of spam and progress is at a crawl. It's awful. If you want progress, just use Linux.


"(I so wished he had used the 386BSD tools instead)"

My understanding of the timeline is that 386BSD was not available when Linus started work.


In fact, I think he may have once said that if 386BSD had been available at the time, he wouldn't have bothered doing Linux, or at least making it into what it is now.


That does ring a bell, though I've no idea the source.


> (I so wished he had used the 386BSD tools instead), I'm curious to the difference between the two. Do you have an example ?


They are a smaller code base, commands take less options, do less things. It's closer to the original UNIX userland.

A minority of people prefers this characteristics, history suggests that the majority just enjoys the added features: the GNU userland was widespread before Linux existed, people today install (parts of) the GNU userland on Mac OS X using fink/macports/homebrew.




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

Search: