5 ms·
The OS part, the GNU userland, was written before the 90s. The kernel was just the missing piece that made it all work on a 386 desktop that were rising in popu
by 51lver 8y ago
The OS part, the GNU userland, was written before the 90s. The kernel was just the missing piece that made it all work on a 386 desktop that were rising in popularity at the time.
- derekp7 8y agoI think a big part of it was the community that formed around the Linux brand. I have a feeling that it could have been Minix, if it was properly open source at the time. But a lot of people in the community were promoting Linux as an alternative to Dos/Windows (based on my recollection of Usenet and BBS postings at the time), whereas GNU, BSD were pushed as an alternative to Unix. And Minix's aim was educational, although Minix 386 (a set of community patches to the system) was more aimed to make Minix production capable.
- maxxxxx 8y ago"I think a big part of it was the community that formed around the Linux brand. " People are criticizing Linus for lack of social skills but somehow he managed to start a big and loyal community. That's not a small feat.
- kbutler 8y agoIt's interesting how the gnu project narrative of "we did all the work, the kernel was 'just the missing piece'" has propagated. The gnu project worked on a kernel - Hurd. It has been "in active development" since 1990. It's "just the missing piece."
- philwelch 8y agoHurd was a microkernel that was a genuine attempt at something new. Linux’s monolithic design was very safe, very 70’s/80’s, and was criticized by everyone for not being a serious 90’s microkernel design.
- peapicker 8y agoNeXT mach was a microkernel as well based on CMU’s Mach 2.5 (in the first release) and was in the market in 1988. It was actually fantastic, even when I was running 0.7 of the OS in prerelease at LANL. Hurd started in 1990 so it wasn’t NEW new imho (originally based on Mach 3.0 although NeXT went there too). There are other ideological differences but the core mach microkernel ideology started at CMU in 1985 making microkernels an 80s technology as well.
- mikekchar 8y agoI'm really stretching to remember, but I recall that initially the Hurd was planning to have a completely distributed user system (i.e., file handles were essentially URLs, they had a system for dealing with users distributed in the network, etc). They were going to use the Mach kernel message passing in really innovative ways and I seem to recall that they had in mind some fairly radical ideas for distributed processing. I don't think they ever really realized any of that (I haven't actually checked what they ended up doing). My impression was that the project was dogged with a lot of problems, some technical and some not. Had they succeeded, it would have been a really amazing system, I think. One of these days I keep thinking I should check out what they actually did.
- kbutler 8y agoThis was covered extensively over 25 years ago, including the classic comment by Linus that "In fact the /whole/ linux kernel is much smaller than the 386-dependent things in [the existing microkernel] mach". https://www.oreilly.com/openbook/opensources/book/appa.html https://www.oreilly.com/openbook/opensources/book/appa.html Mach and Hurd were existing microkernels/projects before Linux development began. Linux dominated because it (partly) worked and was accessible and a community formed around it. Hurd had none of those. It's the canonical proof of Richard Gabriel's prescient "Worse is Better (1991)" http://dreamsongs.com/WIB.html http://dreamsongs.com/WIB.html - "The good news is that in 1995 we will have a good operating system and programming language; the bad news is that they will be Unix and C++."
- mikekchar 8y agoLet's be fair to both sides here. The new way of working that Linus brought about absolutely crushed Hurd's "We have our team of experts and we don't want any help". It wasn't so much that the Hurd was destined to fail to deliver, it's more that the success of Linux made it completely irrelevant at a pace that nobody would have expected (not even Linus). I mean they even beat the law suits to free up BSD. This is one of the few things my feeble ageing memory recalls fairly clearly :-) I desperately wanted to work on the Hurd, but they rejected me because I was a noob. Then I was desperately waiting for BSD to pass through the legal gauntlet. Then a colleague said, "What about Linux? They just got X working. It seems pretty good". It really came out of nowhere -- not necessarily due to good development (thought there was lots of that), but rather because key early contributors were encouraged and enabled to participate by Linus. We were all desperately waiting and many talented people just leaped at the opportunity to do something (not me, unfortunately -- I got sidetracked with work :-P). In comparison to the rest of GNU, it was just a piece. A pretty big piece, but just a piece none-the-less. Keep in mind the amount of work that went into GCC and glibc, which at the time were comparable projects. Without those pieces, Linus would have nowhere to start. Then all the user land tools -- again, without those I don't think anybody would have joined in. They would have waited for BSD. And those user land tools were really good. The first thing I did when I installed a new Unix box was install GNU. GNU was important in Unix land before anyone had ever heard of Linux. Sometimes I think younger people have no real concept about how much code was part of GNU. The goal of GNU was to give you a fully functioning POSIX system. One of the reasons we even have POSIX is because of the work of the guys working on GNU. When we say that it's Linux with GNU, that's really to distinguish it from, say, Linux with Android. Or Linux with BSD (if anyone does that). I'm not actually sure how much GNU is regularly used in a Linux distro these days, but I still prefer it to alternatives (maybe I'm just old). Again, we're really talking about having a full POSIX compliant system and the kernel is just a part of that. Linux is super fantastic and I actually choose Linux over other possible kernels because of how good it is. But I'm never going to run Android on my desktop, no matter that it runs a Linux kernel. I'd rather not run Android on my phone, if I had any choice in the matter! To be even more fair, I always thought we should have given X a bit more air time. Especially these days, it's important to me if I've got X or Wayland running. But it was always a bit daft to think that people were going to be saying GNU/Linux. It's even more daft to think that people would say GNU/X/Linux or GNU/Wayland/Linux. It really doeasn't roll off the tongue ;-)