Thompson Critical of Linux
Shuga-Buga writes "Ken Thompson, father of Unix,
has some critical things to say about Linux. Otherwise an interesting article. "
(CT:Sorry about the unsteady posting. Hemos is on vacation,
and I'm moving so things are really crazy right now)
From someone who has already done UNIX once. I don't think it is sour grapes (completely), or jealousy of any sort (well, maybe a little). Let's just stand back a bit and try to see this from Ken's shoes (if that's possible):
Over twenty years ago, you developed an operating system that wasn't about politics, or ethics or morals or beating any big corporation; it was about building a better operating system. The reason it was open for all to modify? Because the company that payed you to do it was under a lot of anti-trust lawsuit pressure and had to do something to look good. Heck, you weren't fighting the big corportation, you were working for them!
So, here you are twenty years later, working on radically advanced systems with distributed everything (cpu, storage, etc) and trying to create another operating system that is better. Someone else comes along and basically reinvents what you did, only with more political motivations. Do you care? Are you jealous? Do you look at him and laugh?
Perhaps Thompson is being too critical and claiming that "it's all been done before". But maybe there's a good reason for that. The ideas are over twenty years old! They are damn good ideas, but maybe it's time to come up with some better ones of our own.
I know that a lot of this has already happened in Linux, and keeps happening everyday. But there is still that attachment that Linux has to the old UNIXes. I'm not talking about user interface, or even name. I'm talking about the principles that the system itself was built upon, and are continued to be developed under.
I like Linux. I like it a lot. Right now it's perfect for me because it is more secure, more reliable, and more flexible than any other OS I can get my hands on. But for how long? Nothing lasts forever, and every operating system has it's limits. All I'm saying is, maybe it's time Linux stopped standing in other OS'es shadows. Maybe it's time we ignored the hype and the media and start doing our own thing. Maybe it's time that Linux wasn't summarized as "a free UNIX clone for PC compatibles and . . . "
Or maybe it's time I got another OS . . .
Linus isn't out to make Linux perfect; he's trying to make it reasonably good. Given two ways of doing something, he is more likely to choose a simple, "obviously correct" way than he is to choose a more complex solution. Sounds a little like what my professors tell the classes--"make it work, then make it fast".
Thompson is trying for perfection. Perhaps he'll get closer to it than Linus, but he's obviously more likely to fail.
Linux is "behind" in terms of hardware support, application support, etc. because it is a redesign at least as much as it is a new design. Naturally it's quite boring to Ken Thompson, who participated in the original design. On the other hand, it's interesting to many free software developers since this is a chance to "do it the right way" instead of being chained to complex, overengineered implementations (not that we don't have any, but we're not chained to them).
BTW, (Free|Net|Open)BSD are much different, as they share the BSD 4.4-Lite codebase. I wonder how much original UNIX code was left in 4.4-Lite.
As for reliability, Linux's big reliability problems fall into three categories:
Also, this article was pretty despressing in one respect: through AT&T, Ken Thompson has, in effect, tied up his entire life in the big red ribbon of intellectual property. I wonder what other amazing things he has produced that never saw the light of day.
Thompson: Operating systems, in particular, have to carry so much baggage. Today, if you're going to do something that will have any impact, you have to compete with Microsoft, and to do that you have to carry the weight of all the browsers, Word, Office, and everything else. Even if you write a better operating system, nobody who actually uses computers today knows what an operating system interface is; their interface is the browser or Office.
You can have the best and most beautiful interface in the world and the most extensible operating system that ports to anything and then you have to port on top of it a thousand staff-years worth of applications that you can't obtain the source for. You have two choices: Go to Microsoft and ask for the source to Office to port to your operating system and they'll laugh at you; or get a user's manual and re-engineer the code and they'll sue you anyway. Basically, it'll never happen because the entry fee is too high.
Anything new will have to come along with the type of revolution that came along with Unix. Nothing was going to topple IBM until something came along that made them irrelevant. I'm sure they have the mainframe market locked up, but that's just irrelevant. And the same thing with Microsoft: Until something comes along that makes them irrelevant, the entry fee is too difficult and they won't be displaced.
In other words, he simply does not believe that anything short of completely new paradigm will replace Microsoft and Office. I can only interpret it as acknowledgement of Unix defeat at the market, so he definitely will see Linux as fighting the lost battle -- in his opinion it should be his battle, and it doesn't look nice for him that someone is still fighting it after he quit.
Yet it's a different battle. Plan9 and Inferno, while based on nice ideas, never were intended to be widely used -- it's the same elitism that managed to hurt *BSD developers recently. Regardless of what Ken Thompson thinks, Unix can compete in the area where Windows "won", and this direction is ortogonal to the development of plan9/inferno/...
Unix fathers can continue pure-research-oriented development and even switch to Windows for their everyday work, however I don't feel that it gives them right to dismiss the continuation of Unixlike OS development at the extent of denying its viability. Especially in the case when it is not true, and I believe that Ken Thompson bases his opinion on something other than facts.
Contrary to the popular belief, there indeed is no God.
Distributions focussing on ease-of-use? Isn't that kind of their point? Of course you can go out, hex-edit your kernel and boot directly off it, or bootstrap using loadlin or whatever. But the fact is that's non-trivial and for most people very hard. Making an easy installation, or at least one that allows you to not have to download everything, is what a distribution is all about.
As for bloatware, I haven't seen it. Unless you consider things like X, KDE and GNOME bloatware?
When it comes down to setting up a server you use what's right for the job. If that job is serving up .asp pages, you'll use Windows NT. If that job is doing Oracle, you'll probably choose Linux or Solaris. Saying that Linux is completely inappropriate for any server job is kind of like saying that BSD or Solaris is completely appropriate for every server job - ie, it's not true. I don't know about BSD or Solaris, but with most Unices on stable kernels, stability is more a function of hardware reliability and electricity than it is of software. I've heard all kinds of stuff about "[BSD,Solaris] is more stable and faster" but I've never, ever seen anything to back it up. Maybe this was true at one point, but I very much doubt it now.
Thompson wrote early versions of UNIX. Today's UNIX is a different beast.
Anyway, the real question is what does Thompson know about Linux? So he and a few friends have tried it and found it to be unreliable. Whatever that means. Without references to specific issues, it's impossible to argue with that. In many people's experiences, Linux is as reliable as the hardware allows---which may not be much if the hardware is a PC.
I can understand an *unqualified* rating of ``unreliable'', but when you say that it's worse than Microsoft, that is plain out to lunch, credentials or not. Linux is orders of magnitude more reliable than Microsoft's flagship operating system.
"Thompson: I view Linux as something that's not Microsoft-a backlash against Microsoft...don't think it will be very successful in the long run...My experience and some of my friends' experience is that Linux is quite unreliable. Microsoft is really unreliable but Linux is worse."
Well, I don't know if it's just me, but I really feel like I read this whole thing before, about 2-3 months ago? And, If I haven't, I sure know I have heard it before from others.
The thing is, Linux is very new (speaking from the time of origin of UNIX), and developing very rapidly. This is an "Old Party Line" about Free UNIX's, and not something I am shocked by at all.
I consider myself "new" to the UNIX community, starting out in IRIX in about 1994. I remember clearly the days that people were saying many things like this, and in my mind it seems pretty far back. But in the mind of the guy who invented UNIX, I am sure it's just like yesterday. I recall "Yea, Linux is unstable, insecure, and just wacked, if you absolutely have to run a networked box to do any server stuff on a Free Unix, run FreeBSD. Linux is only a toy for workstations. You can get more fun toy applications for Linux that FreeBSD, but it's not as stable or secure for a server." I remember MANY people held that opinion. "Don't ever consider a free unix for something mission critical, and Linux is the dead last choice if you do." Not my word, just stuff I remember hearing.
So, of course, being the "fly in the face of danger" kind of guy I am, when I went to stick UNIX on my home PC, I picked Linux... and that was only about 2-3 years ago now. And I'll tell you, Linux has changed DRASTICALLY in the short time I have used it. So, IMHO, it doesn't sound shocking to me, it just sounds like Thompson is way out of touch with what has happened in the UNIX world in the last 18 months.
> For all he knows or claims to know about Unix,
Hold it right there. The man wrote UNIX; end of story. He didn't just come along and hack out yet another clone, which is really all Linus has done; without Ken there would be no such thing as UNIX. Whether you agree with him or not, there is no room for skepticism about his credentials. He knows what he is talking about, and his criticism generally is not to be taken lightly.
>Don't you think it would be difficult for Thompson to accept that a 21-year-old kid had come along and done a better job with Thompson's own idea than Thompson could do with all of the power of ATT behind him?
This is hubris, Bruce. The truly enduring thing about UNIX isn't any particular implementation, but the generality of the API. The design that Ken and Dennis set forth has survived the introduction of networks, graphics devices, multiprocessors, etc. Linus stood on the shoulders of giants, and Ken Thompson is one of those giants.
Plan 9 and its descendants have their share of good ideas, but they're not going to go anywhere as long as there's no Open Source. They've even been replaced by Linux as a research OS at most universities, and they have never seen very much practical use.
Don't you think it would be difficult for Thompson to accept that a 21-year-old kid had come along and done a better job with Thompson's own idea than Thompson could do with all of the power of ATT behind him?
Bruce Perens
Bruce Perens.
Have you taken a look at Debian 2.1 and Debian Potato?
I use it on all the servers I admin, and it works flawlessly, is stable, and is a great server OS.
It's easy to maintain, keep up to date, etc., and it has a really effective bug tracking system.
I've used FreeBSD, but I still like Debian better because there is more going on in the Linux camp.
As far as stability, neither FreeBSD nor Linux has crashed on me, but I had to use FreeBSD as a bridging firewall, since nothing like that exists for Linux.
I don't think it's time to write off Linux on the server. I use it on systems where the loads are high, and the system just keeps chugging. And the kernel is rock-solid. That's where it's most important. Linux hasn't gotten any worse in reliability from 2.0.x to 2.2.x as far as I can tell.
Uptime for our Phoenix firewall servicing a T-1 on an aging p-100 = non-stop until hardware failure. Boy, you hate to contradict the father of UNIX, but real-life experience is just that, real-life.
"oohhh... I didn't know Schopenhauer was a philosopher!"
Let's face it, Ken Thompson is full of himself. He co-created UNIX. It had a lot of new concepts for the time. But, thinking back, they were pretty logical. Heirarchical file systems? Think biological classification. We've done it for millenia. Time sharing? Obvious. C I admit is a nice language, and I use it extensively, but it has plenty of oddnesses. Like, you have to separately declare a typedef to make a struct into a type, or forever refer to it as "struct foo"... the "continue" statement is only valid in a for context... You know the drill. (Obviously all of this is arguable.)
Ken seems to be famous for doing something and then getting angry at others doing it later. For example, you must have heard about his cute trick of inserting some self-reproducing code into the C compiler to make it compile login with a username/password for him to get in. Real cute, Ken. Way to humiliate everyone who nominated you for the ACM award. Yet he was quoted as saying that RTM, the author of the infamous Internet worm of '88, should be put behind bars for a long time. And we're getting the same sort of conceited hypocracy here. "UNIX? Been there, done that. It's all about this OTHER system, you see, that's totally different, although strangely similar. Free software, what a fad." Then watch Lucent start releasing free source. I'll never stop laughing.
I can respect the man's background, but I can't respect his utter insolence. I realize I'm sounding pretty damn conceited and insolent myself, but... hell, it's a Slashdot comment, and I'm a damn undergraduate. I'm allowed to sound stupid.
If you want to know more about this statement, and how the Linux community reacts to it, check out the archives of the linux-kernel mailing list at http://www.uwsg.indiana.edu/hypermail/linux/kernel /index.html
Look for postings with subject containing "Ken Thompson interview in IEEE Computer magazine", since 04/05, 12:55 +0530
This is interesting reading!
http://ward.vandewege.net/blog/
I've actually noticed that a lot lately. When the moderation system was first implemented, it seemed like good posts got moderated up, obnoxious flames got moderated down, and most stayed the same, no matter the OS-slant of the writer. (Well, except for _one_ annoying tendency that's been there throughout -- the longer the post, the greater chance of getting moderated up, even when it's complete pablum. Makes me wonder if Katz is doing the moderating ;-))
Lately, however, it seems like a lot of posts that are critical of Linux in non-inflammatory ways are getting moderated down, long posts espousing the virtues of Linux get moderated up, no matter how trite, and inflammatory posts by Linux fanatics don't get touched. It's as if there are some moderators out there who are trying to keep legitimate criticisms of Linux from most readers. Lame.
Along the same line, why hasn't Slashdot put up Mark Russinovich's dissection of Linux's enterprise OS merits? I admit that I didn't submit it, but only because I'm sure that other people have. Is it because since even the people on the Linux kernel list have done such a pathetic job of refuting his claims, you figure that most people here would just embarrass the Linux movement with their own answers? C'mon, give 'em a chance! Hell, please just post a link to the kernel list archive where they tried to rebut him, that's good for a lot of laughs.
Cheers,
ZicoKnows@hotmail.com
Linux. You get what you pay for.
None of these people are gods in my eyes, nobody is, we're all human. But to hear criticism from someone so universally respected in the industry, and to whom we owe so much; and to simply call him old, and throw other juvenile insults at him. It's really a sign of the times isn't it?
Slashdot has become a victim of it's own success. I say this in the same way I do about RedHat. There was a time when if you were a newcomer to Linux _and_ Unix at the same time, RedHat was a Godsend. Also there was a time when Slashdot was quite a haven from the hype and the misinformation in the popular media, and you could expect intelligent, thought out comments to articles. It was intellectually stimulating to participate.
Now I've found that the same smart people are still putting this stuff together (Slashdot & RedHat), and they keep it mostly at the same high standard of quality, but now the flavor has gone bad. Too many uneducated reactionaries joining the party. Far to many people whose mantra is "Linus is GOD, Microsoft is the DEVIL".
The signal/noise ratio is way down, maybe even below 1, but I can't stay away since the core of the site is still top notch. All of a sudden I _completely_ understand why Rob went through all that effort to put the moderation system together. But you can't cure AIDS with a band-aid, not even emergency surgery will help. People, I regret to inform you that the Slashdot you once knew is dead... Long live Slashdot. I'm thinking maybe if the site went down for a couple weeks, unannounced, most of the losers would drift off in search of a new haven, but that's naive. A new forum is needed. Maybe it already exists, I'm on a quest to find it. But don't expect to hear about it on Slashdot. I wouldn't want to see a good thing ruined ... again.
Thanks Rob, Hemos, Nate, Sengan, Jon, Cliff. It's been quite a ride. I'll still be around, but I can't say I relly enjoy it anymore.
-earl
P.S.
If you don't understand what I'm talking about, you just might be part of the problem.
Well, Linus has said that he doesn't expect Linux to last forever or to keep expanding (at least kernel-wise) at an exponential rate. Soon or later, someone will say, "This isn't how things should be done." and they'll start a new OS that will be better. So who knows; maybe 10 years down the road we'll be doing a Plan-9 compliant system instead, and doing it right. History repeats.
Lets not forget that Linus made an unflattering comment about Plan 9 in his Open Sources essay. I think we are seeing the professional equivalent of men tweaking noses.
That site doesn't seems to have added posts after the 3rd yet. The thread is available here.
It's interesting, the "software darwinism" at Bell that Thompson refers to in the beginning of the interview, is very much like the open source movement. Some of it is good, and it trickles up to the top, some of it is lame and gets dumped (or not).
The critism that "a whole bunch of random people have contributed to this source, and the quality varies drastically" is right on the money. Any programmer would have to concede the bad code in many parts of Linux. There are many poorly written, or unfinished lines of software here! Its the truth.
The recent push to 'celo-wrap' Linux has raised the bar of expectations. And all Linux's dirty laundry is open for public consumption. Ultimately, this will be a good thing, as software darwinism ensures that better code will replace poor code. Linux has flaws, the community should admit it, remove them, and move forward.
John
NFS.
I had a huge headache at work a week and a half ago when everything died. I'm in a scientific group, and we've mostly used Solaris in the past. We've been ramping up our Linux usage, and on the whole Linux has been *more* stable than Solaris. However, we just recently started writing in bulk to a Linux disk NFS exported to a Solaris machine, and the nfs daemon *kept* *dying*. Very annoying.
I solved it with some Alan Cox patches that included H.J. Lu's latest knfsd. So Linux isn't as unreliable as it first looked. But there are a few places where Linux still does falter.
I think Thompson greatly overstates it, however. And, it is important qualifier on my NFS problems that there were patches out there I could apply that solved them.
-Rob