Creative abuse
People often wonder why Microsoft refuses to let Java -- or any development framework like Borland's for that matter -- be cross-platform. Developers yearn to know why Microsoft's philosophy is that it must never touch other people's standard technologies such as OpenGL or OpenDocument (even OpenDoc back in the days). One explanation was given by Microsoft's "technical evangelists", but herein we present some more. We use confidential antitrust material.
Involved in the following exchange of ideas were Paul Maritz, who was recently installed as CEO at VMware while
expelling its roots , Bill Gates, Nathan Myhrvold who
became Microsoft's patent troll with
Bill's support, and Jim Allchin whose hatred of competition we have covered a lot recently [
1,
2,
3].
“The immediate effect of this was to "extend" Java but we also see the same logic in Halloween documents that declare war on the simple standards of Unix and in recent efforts to infect GNU/Linux with Windows development tools.”Today's antitrust exhibit (PLEX0_2658) [PDF
] shows an interaction that puts in simple terms the company's attitude towards standards and fair play.
"Here's a document that I saw partially transfered," says a reader.
The reader adds: "It is important because it shows the beginnings of their everything must support windows attitude. They recognized that the Web, Java and Netscape were one and the same enemy to their monopoly position and took action to destroy those things. "Cross-platform" was out unless it served specific strategic needs, everything from then on must depend on and support Windows. Dissent, "working cross-wise" would not be tolerated. The immediate effect of this was to "extend" Java but we also see the same logic in Halloween documents that declare war on the simple standards of Unix and in recent efforts to infect GNU/Linux with Windows development tools. Microsoft was willing to sabotage DR DOS and OS/2 before, but after this document shows clearly how the viewed every other tech company and community standard.
"Another interesting, and depressing, thing about their attitude is how binary it is. They can't imagine themselves surviving in a world or free standards through fair competition. Working with anyone else's tech is equivalent to suicide. While Windows may warrant such low esteem, it is hard to imagine actually feeling this way. The level of paranoia and hatred is shocking. Either they rule the world or die. Yet all of these people were filthy rich already. Instead of enjoying their wealth and luck, they took off on this bizarre power trip."
Key quotes from Bill Gates are:
"I agree that making sure applications are primarily on Windows is something we have lost site of."
"Cross-platform [...] is coming from the free-lunch syndrome we have allowed to develop. All of a sudden people think there is no drawback to being cross platform. No drawback in size, speed, interface, richness, testability. To some degree this is true because machines have enough memory now that a "duplicate runtime" is not overwhelming. ...The fact is that applications can be run on the server against an HTML client. ... We should have people laughing at the idea of 100% pure Java whether they write in JAVA or not."
Key quotes from Jim Allchin are:
"we do not have agreement on our strategy within the company and the company is often working cross-wise internally. The cross platform vision and keeping Windows as the platform and the center of innovation fall into this category. In my opinion Windows in the process of being exterminated here at Microsoft."
"We should be asking [developers] for specific innovations to be restricted to Windows. I can't fight this disease alone. The problem is the company is not unified on the strategy. [...] We should move as little cross-platform as possible. [...] This is not enough if the strategy isn't synchronized - both marketing and development-wise."
Another reader says that she "thought it was interesting to see Allchin use the word "buckets", as in: "We all know we have many challenges. I think about the challenges however in two buckets.
"I suppose the "bucket" wording might be a common thing in business lingo, but the only other time [I] can remember seeing it used was back when Darl McBride was describing how he'd use the money from BayStar:
"I'm not going to spell out how the money is going to be allocated into those various buckets," McBride said. "We now have a war chest to take the company forward. This investment is an independent action with respect to how we enforce our IP rights. I'd say this strengthens it."
"Not that it really proves anything," says the reader, who added that she "just thought it was odd/interesting/funny, sort of like Darl had been coached on how to explain the money. Could Allchin have done the coaching?" This might relate to a couple hints from Allchin, as
mentioned last week, but it's probably too far fetched. It's interesting nonetheless.
Read the full correspondence below for a complete impression.
⬆
Appendix: Comes vs. Microsoft - exhibit PLEX0_2658, as text
From: Bill Gates
Sent: Wednesday, February 19, 1997 9:46 AM
To: Jim Allchin (Exchange)
CC: Nathan Myhrvold; Paul Maritz
Subject: RE: "Losing a Franchise - The Microsoft Windows Story" (a new Harvard Case Study)
I agree that making sure applications are primarily on Windows is something we have lost site of.
I rail against the people who want to just give things away like DirectX. I think exactly the same thoughts in your message.
However I think the problem is much less what we are doing than what we are not doing.
I can cancel every give away and we would still have a major problem.
We need a vision of what a Windows application looks like - for example how can it sometimes run on the server and sometimes on the client. What will we have that the Java Runtime will not have?
Cross-platform demand is not coming from statistics. It is coming from the free-lunch syndrome we have allowed to develop. All of a sudden people think there is no drawback to being cross platform. No drawback in size, speed, interface, richness, testability. To some degree this is true because machines have enough memory now that a "duplicate runtime" is not overwhelming.
We should have people laughing at the idea of 100% pure Java whether they write in JAVA or not. However we have nothing along these lines. The fact that their runtime is changing, will keep changing, will be subsetted on some machines, will have to make someone money, will have to choose UI, etc...etc is just lost because we are not there driving a positive agenda for Windows.
The fact is that applications can be run on the server against an HTML client. I would prefer this to be a Citrix like client but that is not the key issue. Most applications will have very little client code in the future. For example Federal Express giving you their package status.
The fact is there will be lots of machines where HTML/some level of Java is all they will have in common. Cheap devices and old PCs will be like this. I makes it very easy for people to think they should just program to this.
Our installed base not migrating is a major drag on our ability to promote something new.
Lets work together to find the solution to this. It's critical. I can say I am more scared than you are but that is not what will help us figure out where we should go.
---Original Message---
From: Jim Allchin (Exchange)
Sent: Tuesday, February 18, 1997 5:17 PM
To: Bill Gates
CC: Paul Maritz
Subject: "Losing a Franchise - The Microsoft Windows Story" (a new Harvard Case Study)
I'm sure this subject got your attention. It's what I worry about every day when I shower, run, eat, etc. Paul knows how worried I am, but I don't think I've told you before.
We all know we have many challenges. I think about the challenges however in two buckets. First we have challenges that we have a unified strategy for and perhaps an implementation plan underway. Some of these are big issues, like TCO, but they are much less scary to me than the other bucket. You can say we aren't doing things fast enough for TCO or marketing hard enough against the NC (and I'll agree), but our strategy and path is clear. We know that if we can execute fast enough we can stop this disease. The second set of challenges are the ones where we do not have agreement on our strategy within the company and the company is often working cross-wise internally. The cross platform vision and keeping Windows as the platform and the center of innovation fall into this category. In my opinion Windows in the process of being exterminated here at Microsoft.
1. Why are we doing so many things cross-platform? Are there more Macs, OS/2 or Unix clients today as a % or less than a year ago?
I assume the argument is that we have to do things cross-platform because Netscape is (or says they will). So, we move our innovations cross-platform and dillute Windows. The alternative is to say "NO" and push even harder on Windows. I know that we have to do some things cross-platform. But our default today is to assume functionality needs to go cross-platform instead of assuming it doesn't (and then later reluctantly moving it
when necessary). I consider this cross-platform issue a disease within Microsoft. On our current path, IE 4 will not be very integrated into Windows. The IE team is not focused on this problem and I was requested to shut down my UI/shell team. Windows will get what the other platforms get UNLESS the IE team finds out they can't do it easily on the Mac, etc. This is the wrong approach. We should be asking for specific innovations to be restricted to Windows. I can't fight this disease alone. The problem is the company is not unified on the strategy.
I am convinced the path we're on is the wrong one. We are playing into Netscape's strengths and against our own. I hear lots of words about how the software will be "better" on Windows because we have more people working on Windows, but I can't sell abstract statements like this. We focus attention on the browser battle where we have little marketshare instead of focusing on the battle at integrating things into Windows where we have marketshare and a great distribution channel. When IE 4 first was discussed we were "integrating the browser into Windows". That is what we told everyone. That was a strong message for Windows. That message is now gone since IE is going onto all platforms. It won't be as "integraded" (whatever they [sic] means technically), but all the words about WebPC and the like convince me we are determined to put a gun to our head and pull the trigger.
I se the same pattern here as with Novell a few years ago. Some people believed we should drop our work in TCP/IP and only do only [sic] IPX/SpX work. It took significant effort in order to convince the PSD team to accept TCP for Windows 95. Why? Because we were in copy mode of Novell. We are doing it again. There is a time for this clone strategy, but the better long term approach is always to attack from a more strategic perspective.
2. The platform is Windows isn't it? duh.... it would seem obvious. (But is it a browser/IE? or maybe Outlook?)
We are in a head-head competition with Netscape. They claim the platform is Communicator, etc. so that's why we say IE is the platform. However that fights against our strength and plays to their strength. We are marketing IE as a platform. That is a mistake. The whole "WebPC" concept will totally confuse the platform story. This is another nail in the coffin for Windows. No amount of marketing will fix this. The meeting I had with the PR team convinced me of this today.
When Paul asks me what's innovative for developers in Windows I really struggle. I finally have a team working on this in the areas I control but it isn't enough. There are two things that are really critical for code running at the client: UI and storage management. We are working on articulating directory access, multimedia (whatever remains non-cross platfrom), etc, but UI and storage are the key pieces. We have done a bad job with storage innovation. But, we appear to be just giving up on the UI since it's all going to go cross-platform. I don't support this. I believe smart people here could find ways to do things beyond what AWT or IFC can do if we tie it more into Windows. Remember these class libraries are layered. For example, no one is working on integrating Trident into the OS in a fundamental way. Maybe this won't amount to much but it's the type of investigation we have to do. (Actually, I think there will be many gains in terms of performance and consistency throughout the system). We should move as little cross-platform as possible. Without a specific UI focus on Windows I think we are in series [sic] trouble. Davidcol agrees he can't support the OS changes we need and he is suggesting that we create a team again. This is not enough if the strategy isn't synchronized - both marketing and development-wise.
I'm available to talk about any of this. On our current path, I just don't feel that Windows can win. Given the ecec retreat I thought I would send this to you for your thoughts.
Jim
Pages marked:
ATTORNEY'S EYES ONLY
MS7 011793 CONFIDENTIAL
MSS 0218906 CONFIDENTIAL
MS-PCA1541728