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: 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.
>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.
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!"
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/