
LINUX is obsolete (1992) - edwincheese
https://groups.google.com/forum/m/#!topic/comp.os.minix/wlhw16QWltI
======
TaylorAlexander
This is my favorite part:

"Linus Benedict Torvalds In article <1992Jan29.2...@klaava.Helsinki.FI> I
wrote: >Well, with a subject like this, I'm afraid I'll have to reply.

And reply I did, with complete abandon, and no thought for good taste and
netiquette. Apologies to ast, and thanks to John Nall for a friendy "that's
not how it's done"-letter. I over-reacted, and am now composing a (much less
acerbic) personal letter to ast. Hope nobody was turned away from linux due to
it being (a) possibly obsolete (I still think that's not the case, although
some of the criticisms are valid) and (b) written by a hothead :-)

Linus "my first, and hopefully last flamefest" Torvalds"

This HN comment posted from a Linux machine in 2015. :)

------
amirmc
I find it interesting that this post can be taken two ways.

1\. It's clear that Linux 'won' in the marketplace so we can all laugh at how
wrong this guy was and the curiosity of these 'microkernel' things and that
portability stuff. Lols all around.

2\. We've reached a point where ideas are gaining ground about immutable
infrastructure, people are talking more about things with similarities to
microkernels called unikernels [1] (and where they might be used [2]). Linux
isn't going anywhere but these new approaches have value and were being
discussed as long ago as 1992. Of course, the author got things wrong but
that's par for course. It's more interesting to see ideas that are
resurfacing. Incidentally, ARM was a RISC chip and now dominates Intel on
mobile devices.

I prefer the second approach. So to anyone poking fun at the author, please
consider that maybe this is one aspect of living in the future [3], albeit
much further than than most (market timing is always underrated and academics
tend to think further ahead than most people). We can also remind ourselves
that 'Better' is a tricky and subjective thing to define (cf VHS tapes vs
Betamax).

[1]
[http://queue.acm.org/detail.cfm?id=2566628](http://queue.acm.org/detail.cfm?id=2566628)

[2] [http://nymote.org/blog/2013/introducing-
nymote/](http://nymote.org/blog/2013/introducing-nymote/)

 _(disclaimer: I 'm involved with both the above projects)_

[3]
[http://paulgraham.com/startupideas.html](http://paulgraham.com/startupideas.html)

~~~
jheriko
> It's clear that Linux 'won' in the marketplace

it depends a lot on what you mean by won and which marketplace you are talking
about.

as a desktop os linux is essentially non existent with an ever shrinking 1.5%
of the market share or so as more and more regular joe consumers get machines
with windows or os x preinstalled at a much faster rate than expert-level
geeks are installing linux.

as a software developer targetting the mainstream it is rare that targetting
linux is a profitable venture, because nearly no customers use it and those
that do don't spend money on software in the same way as some one living in
the Microsoft or Apple ecosystems. OS X also has a tiny market share (around
4% iirc) but people who are willing to pay over the odds to have a pretty
workstation seem also not afraid of spending money on software.

as a server platform Linux dominates despite the best efforts of MS and Apple
to try and market slightly uglier versions their consumer level desktop OS as
a server product. its easier to use remotely, and can easily be configured to
not rely on heavy UI features - there are even flavours that cater better to
business philosophies on 'stability' (i use that term loosely) like RHEL and
CentOS - also stability and open source go hand in hand, because you can fix
bugs, or pay people to fix bugs allowing you to throw money at problems to fix
them in a way which is impossible with the mainstream OSs

as a software developer it makes sense to target linux first for your big
expensive server product. if you don't then you are cutting out your
customers...

i don't think either of these situations has much to do with the underlying
technology. its much more to do with the OS and what it provides than how it
is built to achieve those aims.

~~~
kalleboo
Don't forget that Android also runs on the Linux kernel and there are more
Android phones than desktop PCs running any operating system.

~~~
digi_owl
Given the way Google is steering Android these days i am not sure i want it on
a "desktop" any time soon.

Back during early 3.x it had a spark of potential. But since then Google has
done quite a bit to lock it down so that it is basically a media consumption
terminal.

~~~
Zigurd
> _But since then Google has done quite a bit to lock it down so that it is
> basically a media consumption terminal._

It remains possible to choose to install, or not to install Google play
Services and Google's app suite on aftermarket Android installations, and
still be running Android, and running most 3rd party Android apps.

Any app developers who wants to run on Amazon, Jolla, Blackberry, CyanogenMod,
and on the embedded Android in cars and appliances, and all the Android
variants in China is going to have to take care to make use of Google Play
Services optional, and to correctly use Intent filtering to make of of and
respond to high level IPC messages to and from other apps, no matter if they
are the "official" Google apps or not.

So, while Google could be more open without risking much if any advantage,
Android hasn't been locked-down. Google has little chance of doing an "embrace
and extend" on Android ISVs. You still have a wide range of choices.

~~~
digi_owl
That is pretty much ignoring the driver issue, or maybe myopically focusing on
the Android API layer.

Look at the changes to file system permissions, and the introduction of the
storage access framework in 4.4.

And look from the perspective of joe user, not from hank hacker.

------
caster_cp
Tanenbaum said that Torvalds would not get a good grade on his course, epic.
"I still maintain the point that designing a monolithic kernel in 1991 is a
fundamental error. Be thankful you are not my student. You would not get a
high grade for such a design :-)"

Perfect display of how universities are good at judging people about how well
they know how to "play the game" (and usually that involves conforming to
whatever frame of mind your professor thinks is right).

~~~
carlosrg
Well, a microkernel is harder to implement than a monolithic one and from a
theoretical standpoint is a better design, IMO it deserves a higher grade in
an operating system design course. Let's not mythify the 1992 Linux kernel,
which probably wasn't _that_ good.

~~~
stefantalpalaru
> from a theoretical standpoint is a better design

What about IPC overhead?

~~~
mcosta
>> theoretical

In theory you can postulate the performance impact is worth. In practice the
is much more in it. That is the difference between computer science and
software engineering.

------
ezequiel-garzon
There seems to be a response by "the" (please rise) Ken Thompson:

"viewpoint may be largely unrelated to its usefulness. Many if not most of the
software we use is probably obsolete according to the latest design criteria.
Most users could probably care less if the internals of the operating system
they use is obsolete. They are rightly more interested in its performance and
capabilities at the user level.

"I would generally agree that microkernels are probably the wave of the
future. However, it is in my opinion easier to implement a monolithic kernel.
It is also easier for it to turn into a mess in a hurry as it is modified."

------
DanBC
Amoeba Operating System:

[http://www.cs.vu.nl/pub/amoeba/](http://www.cs.vu.nl/pub/amoeba/)

[https://en.wikipedia.org/wiki/Amoeba_(operating_system)](https://en.wikipedia.org/wiki/Amoeba_\(operating_system\))

Mach kernel

[http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.ht...](http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html)

[https://en.wikipedia.org/wiki/Mach_(kernel)](https://en.wikipedia.org/wiki/Mach_\(kernel\))

RC4000

[http://www.prg.dtu.dk/equip/rc4000.html](http://www.prg.dtu.dk/equip/rc4000.html)

CHORUS

[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.6...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.6843)

[https://en.wikipedia.org/wiki/ChorusOS](https://en.wikipedia.org/wiki/ChorusOS)

~~~
qznc
QNX [http://www.qnx.com/](http://www.qnx.com/)

L4
[http://en.wikipedia.org/wiki/L4_microkernel_family](http://en.wikipedia.org/wiki/L4_microkernel_family)

------
sambeau
Before we get into - "Oh not this again!" and "Duh! but Linux Won!" and
"Microkernels are still a better design"...

Remember, today's lucky 10,000...

[http://xkcd.com/1053/](http://xkcd.com/1053/)

Actually, I always enjoy reading this whenever it comes up. I was just about
to start a university computing science degree course at this time and was
reading Tanenbaum in preparation. This was a debate that was alive for years
throughout the computing community I was part of.

In the end reality came down to what always wins in computing (and in life
too).

    
    
      Running code beats design. Design is always 'better'.

~~~
jacquesm
There's a variation to that. Unless your company is a very successful
multinational chances are that a stranger picked at random has not heard about
your product. Makes you think a little longer about terms such as 'market
saturation', most products don't even go near there.

------
jacquesm
The problem with this whole debate is that Linus was 'more wrong' than
Tanenbaum and Tanenbaum made plenty of mistakes with Minix which _also_ make
it more of a macrokernel than a true microkernel.

A true microkernel does one thing and one thing only: pass messages.

Now that's an ideal and in the real world you don't get to have your ideals
realized so rather than to be able to realize this spherical cow you're going
to have add in a few more system calls to make it work but you'll end up with
something a lot closer to plan9 or QnX and compared to those Linux is very
very old hat indeed, it's basically a re-run of the 70's state of the art with
a a whole pile of modern day hardware drivers and other goodies thrown in.

Tanenbaums biggest mistake was to try to monetize Minix through Prentice-Hall,
if he'd just tossed it out there it would have picked up steam a lot quicker,
but likely he too had bills to pay and his expenses at the time were probably
a lot larger than Linuses, and so history was made.

So, Linus was obsolete, but so was Minix and the future as we could have had
it is still waiting to happen. And when it does you'll finally appreciate just
how obsolete Linux was back in 92, and how much more obsolete it is today.

Until then it's like democracy: not perfect but the best we've got (without
shelling out lots of license fees for something better).

~~~
icebraining
If cost was the only problem, why didn't Hurd take off? Did Minix not suffer
from the same problems?

~~~
digi_owl
Hurd was a research project as much as a working kernel.

I Think the project restarted 3 times in 10 years...

Linux may have been crude etc, but it was here, it was working, and it was
free (in both senses of the word).

Frankly i see the lack of Linux on the desktop less about the quality of
Linux, and more about MS abusing its market position and a massive failure to
regulate.

~~~
TsukasaUjiie
"and more about MS abusing its market position and a massive failure to
regulate." thats a pretty vague statement.

IMO its simply the fact that Windows/OSX have set a high bar of out-of-the-box
usability and shine that GNU/Linux simply hasn't reached. Not that this is a
bad thing, it just might be worth accepting that we can't compete on desktop.

~~~
digi_owl
Back during the netbook froth, they put XP on life support using a highly
focused license that ended up defining what a netbook was (in essence a small,
underpowered, laptop).

This while the early netbooks from Asus and Acer ran Linux installs that can
be likened to ChromeOS, with a UI somewhat like Windows 8 Metro.

What they did may very well be considered market position abuse.

------
justincormack
Tanenbaum admitted at EuroBSDCon last year[1] that he was wrong about BSD and
he should have turned Minix into a BSD, which he now has, with Minix3
borrowing NetBSD userspace, build system and so on.

[1]
[https://va.ludost.net/files/eurobsdcon/2014/Vitosha/03.Satur...](https://va.ludost.net/files/eurobsdcon/2014/Vitosha/03.Saturday/07.A%20reimplementation%20of%20NetBSD%20based%20on%20a%20microkernel%20-%20Andy%20Tanenbaum.mp4)

------
ghshephard
Something to meditate on any time there is an "Appeal to Expert" \-
particularly on an issue that is forward looking.

Also, I love how he was so confident with regards to

 _While I could go into a long story here about the relative merits of the two
designs, suffice it to say that among the people who actually design operating
systems, the debate is essentially over._

~~~
qznc
The funny thing is that I would mostly agree with him. The important detail is
"Among the people who actually _design_ operating systems." Linus would agree
that Linux is not designed. It evolved. Very few OSs are designed these days.

The QNX microkernel is quite successful. L4 also seems to do well. The BSD
Mach microkernel is still around. Minix is still around, although its
reliability approach (similar to Erlang, let processes/drivers fail and
restart) does not gain mindshare. Windows is considered a hybrid since NT.
Likewise XNU/Darwin is Apple's hybrid.

Maybe the current state is more like: Neither micro nor monolithic won, but we
know the tradeoffs now and an OS designer can decide per feature. For most
applications the difference does not matter, though. Most applications build
on a higher level platform (JVM, iOS, Browser, etc).

~~~
jacquesm
Linux did not evolve so much as that it tried very hard to emulate Unix but
outside of the *BSD world.

I think microkernels will have their day in some part of the future.

------
dang
[https://news.ycombinator.com/item?id=8151147](https://news.ycombinator.com/item?id=8151147)

------
RedNifre
How feasible is it to radically refactor an operating system? Would it be
possible to gradually incorporate all the insights of operating system
research into Linux/BSD/$otherProductionReadyOS or is it always necessary to
start again from scratch?

~~~
justincormack
Minix3 is to a fairly large extent a refactor of NetBSD to have a microkernel
base; osx kind of did a similar thing with freebsd. Also there are ways of
running old OSs on top eg Linux on Genode.

NetBSD is a good starting point as the drivers are portable (via rump kernel;
eg Genode uses this for their filesystem drivers) so you can reuse them in
another OS as a starting point, plus it is reasonably simple as OSs go, plus
the BSD license is friendly.

There were a bunch of related talks at
[https://operatingsystems.io/](https://operatingsystems.io/)

------
sgt
The following statement puts things in perspective, doesn't it.

"Speeds of 200 MIPS and more are likely in the coming years."

Now, a modern Mac Pro can do 488250 million instructions per second. Needless
to say, we've had progress in these last couple of decades.

~~~
jacquesm
Forget about the Mac Pro (and isn't it the intel CPU that does those
instructions to begin with?), take any modern graphics card.

------
jestinjoy1
On the portability aspect why Minix is better than Linux? I didn't get that
point.

~~~
icebraining
IIRC, Linux at the time had plenty of i368 specific code, while Minix could be
compiled to multiple architectures.

------
avinassh
It's amazing to see how a 20 year old university student was debating with
well known OS researcher and he was so confident.

Btw Linus called DOS as DOG:

> You mention OS/360 and MS-DOG as examples of bad designs as they were
> hardware-dependent, and I agree.

------
sergiolp
I did some small contributions to GNU Hurd years ago, but still, this made me
giggle:

 _Of course 5 years from now that will be different, but 5 years from now
everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5._

~~~
josteink
Looking back it's amazing how much traction the gnu userland tools gained and
how little (zero?) their kernel gained.

I'm not going to call it a wasted effort, because I appreciate there being
other "Unix"-systems around in case Linux ever goes bad, but at this point it
seems to be a whole lot of work invested for nothing.

Maybe things will change 5 years down the road when people abandon systemd and
DMD had matured, and the best way to run it is on Hurd, but I'm not putting
any money on that bet ;)

~~~
justincormack
There are the BSDs as other Unix systems around; they of course were not at
the point when this was written as the lawsuits were unresolved. NetBSD
started in 1993, after this. So we have plenty of backup without having to fix
Hurd, as well as the L4 based microkernels that are much more mature and
interesting than Hurd.

------
codeulike
_Linus "my first, and hopefully last flamefest" Torvalds_

~~~
Filligree
_giggle_

------
krasnov
Is it still possible to asscess comp.os.minix old archives through NNTP
somewhere? Google Groups have the old emails but I can't find a way to read
them in a local email client.

~~~
msh
[http://olduse.net](http://olduse.net)

------
ShannonSofield
2015: The Year of Linux!

