Slashdot Mirror


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)

21 of 461 comments (clear)

  1. A fair estimation . . . by Anonymous Coward · · Score: 4

    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 . . .

  2. "'Perfect' is the enemy of 'good'" -Linus Torvalds by Anonymous Coward · · Score: 4
    "'Perfect' is the enemy of 'good'" -Linus Torvalds

    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:
    • Plain old bugs. These will occur in any piece of software, no matter how many times it has been proven (example: TeX, as released, actually had a few bugs and logic errors).
    • Incomplete/Incorrect implementations. Implementations of drivers that have assumptions about hardware peculiarities and/or many variations on similar hardware. Example: The video driver for XYZ video card with the ABC chipset works, but PDQ video card had the same ABC chipset and it doesn't work. Or maybe rev D of the XYZ card fails intermittently while rev C works fine. This sort of problem gets fixed with time, provided that people pay attention (submitting bug reports always helps). This is where Windows "shines"; since the companies selling the hardware write all the drivers they also test it with all the hardware.
    • Design flaws. The biggest one of these I can think of is the C language's array handling and pointers. As long as Linux applications are written in C, array handling will be a problem. Developers that pay close attention to the problem typically produce safer code (example: Dan Bernstein's qmail MTA, while not strictly a Linux application, has not to my knowledge had any buffer overflows since it was released, exploitable or not). I'm not advocating rewriting the kernel in Java or SML; I'm merely pointing out that C, for all of its expressiveness and flexibility, carries some weighty problems with it.


    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.
  3. Another part that can shed some light by Alex+Belits · · Score: 4

    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.
  4. Re:He has a point you know by HoserHead · · Score: 4
    I'm not sure to what you're referring. First, new bugs are always introduced when you add new code - there is no such thing as a bug-free piece of software. Maybe even your bugfixes have bugs, but less severe - it's a trade-off. I, however, haven't heard of many major bugs standing for more than a week - without an explanation, at least, of why it can't be fixed [in this timeframe, without breaking other stuff]. So-far you're batting .000.

    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.

  5. Re:Linux More Unreliable than M$? by Kaz+Kylheku · · Score: 3

    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.

  6. In Thompson's Defence. by BadlandZ · · Score: 4
    I was just going to lurk on this topic, but I decided to stick my foot in my mouth insted ;-)

    "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.

  7. Re:Linux More Unreliable than M$? by kma · · Score: 3

    > 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.

  8. Re:It's just sour grapes by kma · · Score: 4

    >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.

  9. It's just sour grapes by Bruce+Perens · · Score: 3
    Folks, it's just sour grapes. Linux has become a better Unix than Unix ever was, and it's completely overshadowed Plan 9 and its successors. Thompson's bitter about that.

    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

    1. Re:It's just sour grapes by tomk · · Score: 3

      I rarely see a Linux uptime greater than a month

      I rarely see Linux uptime less than a month. Where are you looking? Perhaps the system you are looking at is running experimental software. If it is, then you have no reason to complain.

      The only things that I have ever seen crash Linux are X and GGI. GGI is experimental - play with fire and you get burned. And, last time I checked, the other OS's you list use X too (with the possible exception of OpenVMS, I've never used it so I can't comment there).

      Linux, specifically GNU, utilities redefine bloat.

      In some cases, I agree (emacs, gnome). In 95% of cases, I disagree (bash, sed, grep, gcc, ...). There is a difference in my mind between "value added" and "bloat". I believe that you get more functionality with GNU utilities than with their *BSD counterparts. And when talking about such small utilities, size really doesn't matter anyway. It would be interesting to compare speed of GNU utils vs. BSD utils in a standardized environment.

      Even in those cases where the utilities are bloated, I still use them due to lack of acceptable alternatives (including those from our friends in Redmond). There simply isn't any other editor that can do what emacs can - even die-hard vi fans will admit that. (What they won't admit, though, is that an editor should do those things.)

      It was also pointed out in this thread that GNU utilities strive for ease-of-use. This is something that is sorely overlooked by *BSD advocates. Your OS might be the greatest thing since sliced bread but if I (as an end-user) can't be productive with it, you can shove it. In my experience, Linux's ease-of-use is only rivaled among Unixen by Solaris.

      I have never seen a Linux distribution that came with full source that could be rebuilt with one command

      So what? If your distribution was built correctly in the first place, why rebuild it? Again, this goes back to ease-of-use. For an academic or experimental OS, compiling every program yourself might be acceptable. For a production OS, it is not. Productivity is king, and you lose productivity when you must spend time compiling every program you wish to install.

      On my Linux 2.2.x systems, it fails to properly unmount its drives.

      I have never heard of this happening to anyone before. This sounds like a symptom of incorrect configuration. Do you really believe that "Linux is simply broken" in such an important area?

      I also enjoy it when it simply quits responding to IP packets for a while.

      Once again, I have never heard of anything like this happening. I have used Linux for 4 years and have seen nothing but excellent network performance.

      I never see BSD systems broken into.

      Because it isn't worth the time to crack a system that nobody uses. Linux is gaining in popularity; that means more eyes looking for vulnerabilities. It also means more hands fixing them.

      And why do so many of the Linux commands ship without documentation or manpages?

      Which commands would those be? Why don't you email the author of the command, and whoever produced the distribution, and ask for documentation? I'll bet in most cases, they would answer "it's already there, look in /usr/doc."

      The fact of the matter is, price being considered equal, OS's are judged by the marketplace, and the marketplace is saying that Linux is better, due to a nice combination of technical excellence and mass-market appeal. *BSD advocates really seem sore about this, because they don't seem to realize the second part of the equation. Technical excellence isn't enough.

      -Tom

  10. Try Debian? by edgy · · Score: 3

    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.

  11. Linux is not ready as a gateway or firewall by Alexander · · Score: 4

    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!" ..."uhhh yeah, he's the one that begins with
  12. Man, I've about had it with Thompson. by Martin+Hock · · Score: 3

    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.

  13. What the Linux Community thinks about this article by LinuxOnEveryDesktop · · Score: 4

    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!

  14. Agreed. Whoever moderated that one down is scared. by Zico · · Score: 3

    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.

  15. Sad state of Slashdot by earlytime · · Score: 3
    Ok this settles it. I've been thinking (and hearing from other ./ers) about gradual decline in the average IQ of slashdot posters. I don't think I'm being out of line here when I say that Ken Thompson has done more for all of computing than Linus and Co. have done for Linux. Yes, I meant what I said. think about it.(there is a world of difference between a clone and an innovation)

    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.

    --

  16. Not the end of the road by Fizgig · · Score: 3

    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.

  17. Unflattering Review, Part 2 by __aalomb7276 · · Score: 3

    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.

  18. Link by Andrew+Kanaber · · Score: 3

    That site doesn't seems to have added posts after the 3rd yet. The thread is available here.

  19. you have to admit.... by john187 · · Score: 3

    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

  20. One place where Linux reliability is a problem. by rknop · · Score: 3

    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