Gordon Letwin OS/2 usenet post
From Computer History Wiki
This is the infamous post by Gordon Letwin of OS/2 fame.
Newsgroups: comp.os.ms-windows.misc, comp.os.os2.advocacy From: gor...@lab.lwpi.com (Gordon Letwin) Date: 1995/08/17 Subject: What's happening to OS/2 In an earlier posting to c.o.o.a I promised a posting about OS/2's recent past and future. Originally I'd planned on posting this on Aug 24, but real life events are foreshadowing things so I'll post a bit early. IBM doomed OS/2 2.0, in terms of a successful desktop system, almost from the start. The folks at Microsoft realized this; we were always amazed that so many folks at IBM didn't. I speak here not of the faceless low level drones at IBM but the senior guys who are - for the most part - pretty smart guys. By successful I mean by either of two metrics: 1) successful in market penetration. To run on enough desktops that developers would consider writing for it first. Heck, to run on enough that developers will consider writing for it *at all*. 2) successful financially. If it turns an acceptable profit then that by itself is generally sufficient. But note that a 2 or 3 billion dollar product needs to turn a *big* profit - 400 million net, maybe $1 billion a year in gross sales. Sure, the product can be "successful" as an O/S layer for machines dedicated to custom apps, such as airline reservation terminals. Of course, *anything* that can support a custom app can be successful in this role. I'm sure that there are still Pick machines out there. But this role is uninteresting because it fails to meet either of the two above criteria. IBM will never earn back even a fraction of the billions blown on OS/2 by selling it into this niche. I'm not even confident - although this is admittedly out of my area of expertise - that they can even run a positive cash flow selling to such a small market. What was OS/2's problem? Why was it doomed? Because it's main attraction was as an engine to run MS-Windows applications. The problem is one of standards, and one of critical mass. Standards are of incredible importance in the computing world. They're critical in other domains that folks don't often think about. Your HiFi CD player, for example. It plugs into your preamp. And that plugs into your amp. And that connects to speakers. Each of those can, and usually does, come from a different manufacturer. The RCA connectors, and the signal levels themselves, are standardized. Standardization is a big plus in the computer field. You're much better off having thousands of products and vendors compatible with a single standard, even a mediocre one, than having dozens of products, one or two each for each of a dozen fragmented standards. For example, I bought a Tektronics 222 scope. It has an RS232 port on it to upload and download waveforms. It came with a floppy disk with driver software on it. For which processor and OS was the software written? And what was the disk format? Guess. The fact that it's not hard to guess is exactly my point. If there were 5 standards for PCs then that software would cost 5 times as much and it just wouldn't exist at all. Note that even the RS232 port itself is a standard. And an inferior one; sending stuff at 9600 baud over a 7 wire connection is a travesty by modern standards. But it's a travesty that all machines can understand. So this is the classic chicken and egg problem. Who will buy OS/2 when it has no apps, and who will write apps then no one has bought OS/2? A fundimental problem. When Microsoft and IBM first came out with OS/2 1.1 we expected the 640k limit to drive us over this barrier. The thinking was that because living in 640K was so terribly painful folks would upgrade to OS/2 1.1 and buy all new OS/2 apps because the pain was too great. The knowledge of that reality would cause app writers to invest in writing the apps, and the feedback engine is started up, if a little slowly. The miscalculation came about with the 386 coming out sooner than we expected. And then various folks writing DOS extenders for the 386, which took a lot of the pressure off of the 640K barrier. When the 386 did come out earlier than expected and we saw what was happening, Microsoft wanted to abandon OS/2 1.0 before it was released and work on a 386-only version, one that would be able to emulate more than one DOS box and do a better job, at that. But, as you'll remember, Compaq was the first to have a 386 box; IBM was slow to follow suit. IBM was strong in 286's and weak in 386's, so they was strongly opposed to dropping the 286 in favor of leapfrogging to the 386 and they insisted that we stay the course for the 286. Another problem that came up here was that IBM didn't want us to use the windows API for the graphical environment under OS/2. Many key folks inside IBM had always hated Windows. IBM had this crazy thing called TopView, it was a character oriented windowing scheme and not very good. Bill Gates, myself, and some other folks made several trips to Boca Raton to try to explain to those guys why a character oriented windowing scheme was obsolete before it was even written, but to no avail. One of IBM's most major problems is that although their top guys may be smart, they aren't techically savvy. And their low level guys are often neither. IBM doesn't promote on the basis of your skills and ability; they promote on the basis of seniority and other secondary factors. So the guy who makes these decisions often doesn't know what he's doing. And he doesn't know that he doesn't know, because his peers are equally butt-ignorant too. So these guys can never figure out how other folks, including but not limited to Microsoft, keep doing better! Must be dumb luck, they think. I always agreed that it *was* dumb luck. If you catch my drift... :-) So the technical guys to whom we made our presentation thought that a crude character oriented interface (and the other major problems that I've since forgotten) was good enough. It said "IBM" so people would have to buy it. And their very senior managers couldn't understand our argument, and their own folks said that we were wrong, so that was that. Topview died a very quick death and Windows, while not a red hot success at the time, did reasonably well. I don't understand the internal personalities, etc., but the upshot was that several key people at IBM would turn livid at the mention of Windows. So one of the "costs" of doing OS/2 with IBM was - as a form of punishment - that OS/2 would *not* have a windows API. The windowing API, in fact, would be designed by some IBM guys. This was their revenge. We thought that this was stupid - refusing to run these hard-won windows apps, shooting ourselves in the foot before OS/2 was even coded! But it was the price for getting IBM on board and we figured that - with IBM and Microsoft together, and the 640K crunch looming, that the success of OS/2 would appear so inevitable to the ISVs that they'd write for it anyhow and the success feedback would be started. Now you know why the OS/2 windowing API even puts the screen origin at a different corner! They wanted to be as different from Windows as they could as a matter of personal vendetta. OK, as we know, the 640K pressure was helped a lot by DOS extenders, 386 machines quickly took over from 286 machines, and IBM and MS were left with a product that wasn't going anywhere fast. We also didn't have application critical mass. So we started on OS/2 2.0, together, a couple of years later than we should have. THis would be a 386 version, have good multiple DOS boxes, and hopefully pull the fat out of the fire. At roughly the same time our windows group - which was not our prime focus - was working on a 386 version, as well. The windows product - 3.0 - came out and did very well indeed. IBM was unhappy. They were unhappy cause they thought we were being disloyal to OS/2 by writing a competitor. And they were shitting bricks because it was their old enemy Windows - the ones that a lot of IBMers told there bosses would never be a success! MS's reaction to the Win 3 success was to say that OS/2 had to support the Win 3 API - that we'd then have a "low end" kernel - windows - and a high end kernel - OS/2 - to run the app base. IBM said that we either had to stop development of windows - not just as an OS/2 API, but completely - or we were fired from OS/2 the OS/2 project. We still believed OS/2 2.0 could be made a success. But Win 3.0 was *already* a big success. It seemed just stupid to us to kill a healthy animal in the hopes of nursing a sick one into recovery! So given that choice, we kept Windows and IBM kicked us out of the OS/2 team. Also note that IBM insisted on no Windows API in the product, so we'd have to drop Windows and abandon the apps. We'd seen how hard it was to build windows critical mass and to just shoot all of those apps, and all of those ISVs, and all of those users seemed completely out of the question. It's extremely ironic that within a few months, IBM was announcing that OS/2 2.0 would support the Windows API! It was for that that they kicked us out! It was clear that there are a lot more emotions then intellect running things over there, when they'd make a decision, let it drive a terrible divorce, and then un-make the decision a little while later! Why was IBM doing these random things? I dunno; they never invited me to their inner stragegy meetings. But I'd guess that they were driven too much by hatred of Windows, hatred of Bill Gates, envy at MS's success, etc. The hatred and envy of many of IBM's folks - even senior folks - is well documented in various books and articles. It's my opinion that they let their emotions cut off their noses to spite their faces. Their first goal wasn't for OS/2 to succeed, it was for Microsoft to fail. But here's the problem with OS/2 in a market where Windows has been very successful and has a big share. Win 3.0 had the critical market share, and OS/2 didn't. OS/2 could be a good platform to run Windows programs, but very few vendors would write for the OS/2 API. Why write for OS/2 and sell into a world of 5% of machines, when you can write for the Windows API and sell to *all* of them, OS/2 included! If OS/2 had some good features - like HPFS :-) - then folks could get the advantages while running Windows apps, you didn't need to use the OS/2 API to take advantage of HPFS, or the shell, or whatever. So there's no strong motivation for ISVs to hurt themselves by writing to the OS/2 API. hurt the good news for OS/2 is that - with it's WIN 3.0 support - it could run from a massive pool of applications and therefore be an interesting system to some customers, even in it's infancy. The bad news is that there'll never be a significant number of apps using the OS/2 API. So OS/2 could have a successful career as a "high end" windows engine. So that does IBM do? They come out with their infamous "Curtains for Windows" campaign! Microsoft controled the Windows standard. By that I mean that if we say that future versions of our OS's are going to have some new features - such as OLE - people take that seriously. Whereas if IBM decides to extend the Windows API - which they could easily do, from a technical standpoint - people know that only a small percentage of machines will be able to support that extension, so they won't use it, and it languishes. It's extremely hard to do development work on an operating system when someone else controls the standard. "Control" in this case is a matter of public perception. For example, Microsoft was once very big in the Unix world. In fact, we considered it our candidate for the future desktop operating system, when machines got powerful enough to run something good. We were the worlds biggest seller of Unix systems. DOS was, when we first wrote it, a one-time throw-away product intended to keep IBM happy so that they'd buy our languages. The UNIX contracts were all done when Bell Labs was regulated and couldn't sell Unix into the commerical marketplace. So although they wrote it and were paid royalties, they couldn't develop it in competition to us. But after a few years that changed. Bell was degregulated and now they were selling Unix directly, in competition to us! They might sell it for cheaper than we had to pay them in royalties! But that wasn't the real killer, the real killer was the Bell now controlled the standard. If we wrote an API extension that did X, and Bell wrote an incompatible one that did Y, which one would people write for? The ISVs know that AT&T was a very big company and that they'd written the original, so they'd believe that AT&T controlled the standard, not MS, and that belief would then define reality. So we'd always just be waiting for what AT&T announced and then frantically trying to duplicate it. Bill Gates knew, right away, that there was no strong future in Unix for us any more. Fortunately at that time, DOS was taking off and we were learning, along with everyone else, about the power of standards. So the primary OS team - the Unix guys - joined with the secondary OS team - the DOS guys - and the earliest versions of OS/2 were born. (This was before IBM came on board, so it wasn't called OS/2!) So to get back to the main track, IBM has a product which could become a successful windows executive. But they don't control the windows standard, Microsoft does. So a wise company would enter into some kind of formal or informal relationship with MS. MS would be helped by the presense of this high end windows executive - it makes the windows API more attractive - and a cooperative venture would be born. But instead, *unbelievably* - IBM challenges us publicly to a fight to the death! "Curtains for windows", indeed! Yes, IBM could add WIN 3.0 support because they had the WIN 3.0 source code, but their contract which gave them that source was due to expire soon! The entire survival of OS/2 as a product depends upon that contract, and their nasty ads, their character assasinations (Hi, J. Soyring!) and their "curtains for windows" didn't leave much chance of our ever extending their contract! Why do this crazy thing? Again, I speculate that they let their envy at our success, and their anger over their own past failures, warp their thinking. They wanted to hurt us more than they wanted to help themselves. Also, IBM grew up in the days when it had a stranglehold on the industry and they dreamed of returning to that stranglehold. The Microchannel was intended to achieve that, but it failed. Now if they could own the only OS standard they could use that to leverage their hardware and regain dominance in both fields. The brilliance of the prospect of returning to their past glories blinded them to the fact that it wouldn't work. So that's where Microsoft has been sitting for the past two or three years. Every few months I read some c.o.o.a and I marvel at all of the folks there that just don't get it. They argue about how OS/2 now has a 3% market share, or is it 5%, and they think that that means anything. It's like two race cars - one with hundreds of gallons of gas - and a 20 lap lead - and the other way behind with only a cup of gas. And it's proponents are crowing that it's slowly gaining! Also, I see folks argue about the sales figures that show that OS/2 apps don't sell worth a darn, try to deny the fact that there aren't very many widely interesting OS/2 apps available. Nobody seems to understand why there aren't - and won't be - big draw OS/2 apps available. And people think that the "5%" penetration number contradicts the "no OS/2 apps sold" number. Every time I'd marvel at how folks could just look at it in the face and not understand what that means. It means that OS/2 is selling, however well it does, as a Windows engine. That's why some number of copies have been sold, but very few OS/2 API apps were sold along side. So OS/2 is a windows engine, and that engine is going to jump the tracks each time an improved Windows ships. It will take IBM two or three years to reverse engineer the new stuff, and by that time MS will have it's *next* release out. You can't establish your own direction, and you can't play catch up. It's just an untennable position. MS refused to get into that position with AT&T, yet IBM burned all of it's other bridges *before* it crossed them. The only way to live in that kind of a situation is to cooperate with the company that controls the standard, not slander and belittle it. The only thing that interested me about this was making bets with my friends on how long it would be before Lou Gestner wised up. Mr. Gestner, whom I don't personally know, is clearly a very sharp guy. But he was a cookie salesman and didn't understand the kind of dynamics I've discussed above. He had to take the word of underlings - guys who spun crazy tales of somehow overthrowing Microsoft, IBM regaining it's rightful position as ruler of the world, "curtains for windows", and the incredible profits that would come from an IBM stranglehold. It sounds good if you don't understand the real underlying dynamics, and IBM desparately needs major new profit centers, so these guys convinced Gestner to support them. But, as I've said, while Gestner was ignorant, he isn't dumb. And he won't be ignorant forever. Eventually he'll come to realize that the OS/2 emperor has no clothes. So me and my friends would occasionally speculate when that might be - 6 months, 12 months, 24 months, etc. There was no doubt *what* would happen, it was just a matter of *when*. Clearly, Gestner has reached that point. First, note that IBM said that they weren't even going to try to modify OS/2 for the new WIN95 APIs. That means that they don't want to launch a 2 year product because they figure there'll be nothing there in 2 years to run that API. IBM has to run behind Microsoft playing "catch up", and they've stopped running and are walking slowly, panting. This is a critical sign. Secondly, Gestner is saying publicly that the OS battle is the "previous battle" and that groupware is now where he should fight. I won't argue with that, but this is as clear a statement as you'll ever find that they've given up on OS/2 as a mainstream desktop system. It's not curtains for windows, but curtains for OS/2. For anyone who has eyes to see, IBM has thrown in the towel on OS/2 as a mainstream, successful operating system. They'll continue to support it for the folks who are using it as a dedicated platform. But that won't go far or for very long, IMHO. There are two problems. First, it's my uneducated guess that they can't even turn a positive cash flow developing it for dedicated platforms. Even if they just write off the billions blown, IBM is not an efficient developer and they'll have a hell of a lot of programmers writing and supporting it. At one time in the past IBM might have lost money for 10 years as a strategic move to increase customer confidence in IBM support. But as their mainframes start melting seriously IBM won't be able to afford such luxuries. It's my guess - and again, I admit that this is outside of my area of expertise - that there'll be a lot of scouts-honor promises, but that after a few years of loosing money IBM will phase out of OS/2 altogether, one way or another. Note that they *have* to spend a lot of money developing it, even for this niche. Otherwise stuff like NT - which is so much cheaper because of the larger number of copies - is too attractive. NT, for example, would have the latest technology and a stagnant OS/2 wouldn't. NT would have the latest tools and compilers, and a stagnant OS/2 wouldn't. So even as a niche system, OS/2 can't be just milked, it has to continue to undergo development. And it will be damned hard for anyone, especially IBM, to make money doing that. So, in a few nutshells, that's it. IBM doomed OS/2 years ago when they said it was "us or them". Folks at MS walked around with their mouths hanging open for days - we couldn't believe that IBM was that dumb. And now you see the result. OS/2 is dead as a general purpose operating system. And I, for one, am highly skeptical of it's longevity as a dedicated platform. Gordon Letwin not a Microsoft spokesperson p.s. - please note that all of this is my personal opinion. I don't set or participate in Microsoft strategy, I'm just a programmer. None of this represents Microsoft's view of the situation, either formally or informally. But I'm not dumb, and I can read the facts in front of my eyes. Note that I, along with the other initial Microsofties, could see the oncoming micro revolution back when the 8080 first came out. That's why I switched from supercomputers to microcomputers. So I have a good track record at being able to see the obvious. Even when the obvious was *not* obvious to the rest of the industry, like IBM, DEC, et. al.