Bonum Certa Men Certa

Microsoft on “Embrace and Extend”, the “Windows API Franchise”

Summary: Old lessons about Microsoft's intentional sabotage through “embrace and extend”; use of the Windows API with software patents (like Mono's problem)

T

ODAY'S INTERESTING exhibit arrives after a lot of work on the Wiki. We have hundreds more coming. We will summarise key observations drawn from Exhibit plex_5906 (1997) [PDF], which contains an E-mail from Aaron Contorer to Bill Gates. The full exhibit is available as plain text at the bottom, but here are the bits worth paying attention to, as well as corresponding background.

We start with the realisation -- as Microsoft confesses to it -- that Windows is at great risk.

Today we face the largest threat Microsoft has faced since the success of Windows For the first time, there is a really credible threat to our position as the leading platform for ISVs to write to.


Fear of Java comes into play:

There are three possible ways to address the threat of the Java platform. One is to do nothing and gradually die as others innovate around us. The second is to join the parade of people who are saying "let's kill Microsoft and share their market among us” - good for everyone else, but reducing us to the much smaller role of a common software company like Lotus or Borland or even Symantec. Thats a great way to make all our stock options worth zero, even If we would not technically be out of business. The third choice is to make major innovations to our platform so people still prefer to write to us instead of some tepid cross-platform Java layer. This is our only real option.


We have already revealed the gory details about Microsoft's attack on NetPC (sometimes referred to as "NC"). The Gartner Group helped Microsoft's attack, as always. Here is some more information from Microsoft:

Our competitors are not stupid, so they are pushing the Java platform as the solution for programs that really need to run closer to the user. Sure, its a half-assed solution and isn’t compatible with anything and in fact scarcely exists, but hey, at least it’s not Windows. With Oracle and HTML-generating code on the server and a browser with Java on the client, you have a very crude, complicated, but functional platform for developing line-of-business applications more specifically distributed applications which take advantage of all the interactivity and media-richness that purely centralized mainframe apps never had


Microsoft is then defining "Embrace and Extend":

In economics there is a well-understood concept called switching costs - how much it costs for a trading partner to change partners. Our philosophy on switching costs is very clear: we want low switching costs for customers who want to start using our platform, and we want to provide so much unique value that there are in effect high costs of deciding to move to a different platform. There is a name for this: it is called Embrace and Extend.

Embrace means we are compatible with what’s out there, so you can switch to our platform without a lot of obstacles and rework. You can switch from someone else’s Java compiler to ours; from someone else’s Web server to ours; etc. Customers love when we do this (as long as we don’t spend our energy embracing extra standards no one really cares about); our competitors are not so sure they like It because they prefer us to screw up.

Extend means we provide tremendous value that nobody else does, so (A) you really want to switch to our software, and (B) once you try our software you would never want to go back to some inferior junk from our competitors. Customers usually like when we do this, since by definition it’s only an extension if it adds value. Competitors hate when we do this, because by adding new value we make our products much harder to clone - this is the difference between innovation and just being a commodity like corn where suppliers compete on price alone. Nobody builds or sustains a business as successful as Microsoft by producing trivial products that are easy to clone - that would be a strategy for failure.

If we fail to embrace, we can lose because there are big barriers to buying our products. But if we Fail to extend, or do only humble work that is easy to clone or to surpass, we automatically lose because our competitors will spend literally billions of dollars to clone our work and replace us.


With that in sight, think about MSODF and how Microsoft broke interoperability in other malicious ways [1, 2, 3, 4, 5, 6, 7].

The "Windows API" is then described as "Embrace and Extend" against NC specifically:

Windows was a very successful embrace-and-extend move. People already had DOS machines and DOS apps, and we were able to go in and say "add this to your machine and it wLll just get better.” Wow! What a deal! It seems to have worked out all right so far. NT is a very similar move; although It’s not trivial to upgrade from Win95 to NT. in general you can use the same computer, same apps. and same APIs as before, plus more.

The really big win in Windows is the API. An app that calls the Windows API is effectively calling upon thousands of person-years of engineering work to help their app get its job done in a very specific way. You could argue !hat the API is too hard to use, that not every library is as fast as it should be, or other serious imperfections, but the fact remains: if you took away Windows, that apphcation would no longer work.

The Windows API is so broad, so deep, and so functional that most ISVs would be crazy not to use it. And it is so deeply embedded in the source code of many Windows apps that there is a huge switching cast to using a different operating system Instead. You can't just take a Windows app and stick it on some weird Java NC from Oracle, for example, and expect it to work - the guts just are not there. For many customers, the cast of reworking all their apps would be huge.


Watch this:

In short, without this exclusive franchise called the Windows API, we would have been dead a long time ago.


Think about the role of Mono and why it helps Microsoft. Remember that this whole memo is about fighting Sun's NC and Java, which is cross-platform. Oracle, which now owns/buys Sun, was part of this programme at the time.

Watch how Microsoft intends to use software patents to shield its territory (it is just as though Mono is history repeating itself):

We are doing all of this. We are fixing TCO and further improving our dev tools. We are providing new value such as Viper and great multimedia and unified storage. We are making sure that Windows, not some new platform, is the most attractive place to run apps written in this now programming language. We are building the best virtual machine in the world, and optimizing it to run on Windows. We are even making sure you can run your Windows apps remotely on an NT server if all you have on your desk is a GUI terminal. As if all this work were not already hard to copy, we are also getting a bunch of patents to further protect It against cloning.


On the role of ActiveX and DirectX in merely preventing platforms from becoming a commodity, to use Bill Gates' explanation:

Let me be dear we have no problem with the Java language or with running Java apps really really well on our platform. But we are explicitly not in the business of making it easy for people to write apps that get all the features of Windows on a non-Windows platform. “Pure cross-platform portability” is another way of saying “commoditize the OS.” In this vision, every OS is just an engine for running this layer called Java as fast as possible, and adding any value below the Java layer Is explicitly against the rules.

Sun has already figured this out and has launched its 100% pure Java” marketing program, which literally certifies apps as running the same on any client OS. Programs that call a Windows API or use ActiveX or DirectX, or any platform-specific feature, are by definition not 100% Pure Java, and are therefore evil. Hey, If you were Sun, you would say this too!


As usual, there is a lot to be learned from this. Although it is over a decade old, this was not seen before in the public arena, just in courts for the most part. Microsoft settled to keep it away from the public eye.

"Those who do not learn from history are doomed to repeat it."

                 -- George Santayana




Appendix: Comes vs. Microsoft - exhibit plex_5906, as text










Erik Stevenson (LCA) From: Aaron Contorer Sent: Friday, February 21. 1997 12:47 PM To: Bill Gates Subject: Memo material

This is 1 page of new material, followed by some closely related material I wrote and sent you on 2/12.

Today we face the largest threat Microsoft has faced since the success of Windows For the first time, there is a really credible threat to our position as the leading platform for ISVs to write to. Windows faces challenges in satisfying end users and IT organizations, but we have a lot of smart work underway to address these problems. By contrast, we are not executing on a strategy that lets us maintain our leadership position as the people who define the platform for ISVs.

Owning this platform is the Microsoft asset. It is the difference between growing to twice our current size in the future, or shrinking to much less than the role we enjoy today.

There are three possible ways to address the threat of the Java platform. One is to do nothing and gradually die as others innovate around us. The second is to join the parade of people who are saying "let's kill Microsoft and share their market among us” - good for everyone else, but reducing us to the much smaller role of a common software company like Lotus or Borland or even Symantec. Thats a great way to make all our stock options worth zero, even If we would not technically be out of business. The third choice is to make major innovations to our platform so people still prefer to write to us instead of some tepid cross-platform Java layer. This is our only real option.

For over half a year I have been upset that some people at Microsoft are apparently working hard on plan 2 to destroy the value of the Windows API. Of course I agree that we must win against the Java platform, but a belief that we have to just match everyone else’s actions one for one is fundamentally misguided and wrong it makes us a commodity player, one of the pack, instead of the leader. - Centralized Computing

Sun, Oracle, and Netscape are all pushing a new model of [almost] centralized computing. They all acknowledge that Microsoft holds tremendous sway over the desktop platform, so they all want to quickly strip as much value and spending as possible off of the desktop and onto the server where they can charge premium prices and push their own platform offerings.

At the same time, they know this is fundamentally wrong. There are good reasons why a big company in the 1990’s uses thousands of small and midsize CPUs instead of one giant Cray supercomputer to do all the work. Centralized machines have poor price/performance when they get too large; they have high latency for ordinary interactive tasks like typing and even worse latency for multimedia (unless you literally spend a fortune on your network); and they fail to take advance of the principle of colocation putting the processor close to the inputs and outputs it needs to work with.

Our competitors are not stupid, so they are pushing the Java platform as the solution for programs that really need to run closer to the user. Sure, its a half-assed solution and isn’t compatible with anything and in fact scarcely exists, but hey, at least it’s not Windows. With Oracle and HTML-generating code on the server and a browser with Java on the client, you have a very crude, complicated, but functional platform for developing line-of-business applications more specifically distributed applications which take advantage of all the interactivity and media-richness that purely centralized mainframe apps never had

Fortunately for us, this solution is an incredible hack. Real applications require work in Oracle and Java HTML and Gci, and except perhaps for DNS, no unifying architecture ties the whole thing together, If you

Plaintiffs Exhibit 5906 Comes V. Microsoft

TXAG 0008204 CONFIDENTIAL

MS-CCPMDL 000000292576 CONFIDENTIAL

want to write an app like Amazon.com or a comparable intranet app, you are on your own. Even a cool tool like Visual InterDev merely serves to paper over this disastrous platform, not to fix It.

This situation leaves open a huge strategic opportunity: to provide a better way to write distributed applications.

We need to make clients and servers more powerful and functional. But more crucially, we need to ensure that our platform - the thousands of person-years of proprietary code that we license to customers - makes it incredibly easy to write real business applicat!ons in at their richness and complexity.

-end of brand-new material-

Switching Costs

In economics there is a well-understood concept called switching costs - how much it costs for a trading partner to change partners. Our philosophy on switching costs is very clear: we want low switching costs for customers who want to start using our platform, and we want to provide so much unique value that there are in effect high costs of deciding to move to a different platform. There is a name for this: it is called Embrace and Extend.

Embrace means we are compatible with what’s out there, so you can switch to our platform without a lot of obstacles and rework. You can switch from someone else’s Java compiler to ours; from someone else’s Web server to ours; etc. Customers love when we do this (as long as we don’t spend our energy embracing extra standards no one really cares about); our competitors are not so sure they like It because they prefer us to screw up.

Extend means we provide tremendous value that nobody else does, so (A) you really want to switch to our software, and (B) once you try our software you would never want to go back to some inferior junk from our competitors. Customers usually like when we do this, since by definition it’s only an extension if it adds value. Competitors hate when we do this, because by adding new value we make our products much harder to clone - this is the difference between innovation and just being a commodity like corn where suppliers compete on price alone. Nobody builds or sustains a business as successful as Microsoft by producing trivial products that are easy to clone - that would be a strategy for failure.

If we fail to embrace, we can lose because there are big barriers to buying our products. But if we Fail to extend, or do only humble work that is easy to clone or to surpass, we automatically lose because our competitors will spend literally billions of dollars to clone our work and replace us.

The Windows API

Windows was a very successful embrace-and-extend move. People already had DOS machines and DOS apps, and we were able to go in and say "add this to your machine and it wLll just get better.” Wow! What a deal! It seems to have worked out all right so far. NT is a very similar move; although It’s not trivial to upgrade from Win95 to NT. in general you can use the same computer, same apps. and same APIs as before, plus more.

The really big win in Windows is the API. An app that calls the Windows API is effectively calling upon thousands of person-years of engineering work to help their app get its job done in a very specific way. You could argue !hat the API is too hard to use, that not every library is as fast as it should be, or other serious imperfections, but the fact remains: if you took away Windows, that apphcation would no longer work.

The Windows API is so broad, so deep, and so functional that most ISVs would be crazy not to use it. And it is so deeply embedded in the source code of many Windows apps that there is a huge switching cast to using a different operating system Instead. You can't just take a Windows app and stick it on some weird Java NC from Oracle, for example, and expect it to work - the guts just are not there. For many customers, the cast of reworking all their apps would be huge.

TXAG 0008205 CONFIDENTIAL

MS-CCPMDL 000000292577 CONFIDENTIAL

It is this switching cost that has given customers the patience to stick with Windows through all our mistakes, our buggy drivers, our high TCO, our lack of a sexy vision at times, and many other difficulties. People have tried to clone Windows, but it is just too hard to do well. Customers constantly evaluate other desktop platforms, bit it would be so much work to move over that they hope we just improve Windows rather than force them to move.

In short, without this exclusive franchise called the Windows API, we would have been dead a long time ago.

The Java Platform

So along come Scott McNealy and Larry Ellison, saying “hey, we’ve got a good new programming language called Java.” Fine, we like programming languages a lot. After all we are a software development company. The problem is that very quickly they also said, “we’ve got a whole new platform, a whole new set of runtime libraries and APIs, to go with it - so as long as you are writing your apps in a new language, you might as well write to this new platform that we say lacks the flaws of old Windows.’ In other words, they are saying, switching costs will never be lower than they are right now - the barriers are low so join us now.

You would think it would be our top priority at such a time to (A) fix any serious flaws In Windows which could push customers over to the Java platform, (B) add so much new and unique value that this vaporous “Java platform” doesn’t sound very attractive anyway, and (C) make damned sure that our new value is really hard to copy so it doesn’t show up tomorrow in Sun’s or Oracle’s offerings.

We are doing all of this. We are fixing TCO and further improving our dev tools. We are providing new value such as Viper and great multimedia and unified storage. We are making sure that Windows, not some new platform, is the most attractive place to run apps written in this now programming language. We are building the best virtual machine in the world, and optimizing it to run on Windows. We are even making sure you can run your Windows apps remotely on an NT server if all you have on your desk is a GUI terminal. As if all this work were not already hard to copy, we are also getting a bunch of patents to further protect It against cloning.

Following the Java Parade

So It is with some amazement that I listen to a number of people who just don’t get it who think we should do work that actually makes it easier to copy our work and to run apps written for Windows on other platforms. That flies in the face of everything we are trying to do - it’s almost like a suicide attempt. The philosophy here seems to be “our competitors’ products are getting more press than ours, so we should kill ours and build copies of theirs instead.” This is foolish. Since when did we start believing our competitors’ press releases instead of rebutting them?

Let me be dear we have no problem with the Java language or with running Java apps really really well on our platform. But we are explicitly not in the business of making it easy for people to write apps that get all the features of Windows on a non-Windows platform. “Pure cross-platform portability” is another way of saying “commoditize the OS.” In this vision, every OS is just an engine for running this layer called Java as fast as possible, and adding any value below the Java layer Is explicitly against the rules.

Sun has already figured this out and has launched its 100% pure Java” marketing program, which literally certifies apps as running the same on any client OS. Programs that call a Windows API or use ActiveX or DirectX, or any platform-specific feature, are by definition not 100% Pure Java, and are therefore evil. Hey, If you were Sun, you would say this too!

Both Sun and Oracle make their money primarily on servers. (Sun still has some workstation market share, but NT is inevitably eating away at their share and their profit margins on the desktop.) So these companies have every incentive to turn the desktop platform (aka Microsoft’s main business) into a cost-driven commodity and focus all the high-margin business onto servers where they (especially Oracle) have a real fighting chance against us.

This is all the exact opposite of what we want to happen. It is critical to us that application writers choose to take advantage of features that are (A) part of Windows, end (B) extremely hard to clone. Therefore it

TXAG 0008206 CONFIDENTIAL

MS-CCPMDL 000000292578 CONFIDENTIAL

would be a huge mistake if we (A) spent all of our energy just embracing other companies’ innovations, or (B) asked key groups to do extra work that makes it that much easier to replace Windows, such as making Visual Basic apps run on the Java virtual machine.

We have enough people trying to kill us without us helping! It is our goal to make them lose while making ISVs and customers very happy by delivering great benefits.

Making Real Progress

With technologies like DCOM, Viper, and client-side persistent caching, we are just starting down the long road to the distributed world. There is a lot of design work to do, and a lot of intelligence to build into the OS and the network and the tools, And critically, each part has to be managed be the person or program who knows how to make the best decisions. Web site designers should not have to design their whole site around the latest statistics art who has what browser. End users sitting at desktop machines should need to do nothing - no Setup or anything else - to get computation to happen on local machines, just as they do nothing to enable the server apps or Web sites they connect to today. Business system designers should not all have to be experts on variable-speed wide-area networking. Library administrators should not care if a student brings in an app from home and wants to run it on a public kiosk machine for a while. Users with laptop machines should not have to know or care how the right things from the server magically get replicated to their local disk before they leave for a trip. An engineer who needs a big calculation done should not have to care which machine has spare CPU space, and an artist who needs to save 800MB of images should not have to manually hunt around for disk space. The list of “shoulds” goes on and on.

None of this is provided today by the Java platform, but one by one each of these features in being worked on by many people at MS and at our competitors, and each will get property implemented by someone. We have an opportunity to make many of these advances part of the Windows platform we get paid for, or part of the Java platform that is given away for free. As a shareholder, which do you want?

12

TXAG 0008207 CONFIDENTIAL

MS—CCPMDL 000000292579 CONFIDENTIAL



Credit: wallclimber

Comments

Recent Techrights' Posts

Get Ready for Increase in PIPs and RAs at IBM, Red Hat, and Other Companies Devoured by IBM
IBM's "market cap" has just fallen to 199 billion dollars and it has about 70 billion dollars in debt
Like Kyndryl, Multiple Securities Fraud Investigations Into IBM
Remember what happened to Kyndryl
Who Next After IBM? (Bubbles Don't Last Forever)
the demise of companies with "ai" in their name/domain
GNU/Linux Estimated at 8% "Market Share" Today (in statCounter)
Days ago it said 7.1%, then 7.3% or 7.4%
 
IBM Down to $211.20, the Market in General is Up
No recovery for IBM today
UEFI 'Secure Boot' Still Not Secure in 2026, New Holes (or Bypasses) Still Being Found
In 2026 there are still many people who call it "secure" and pretend to themselves that it is about security. It's not. It never was.
Gemini Links 15/07/2026: Lab 6, Retrospective 2, and "Getting Back Into Gemini"
Links for the day
Links 15/07/2026: "Gianni Infantino Under Fire" and "Todd Blanche's Record Raises Alarming Questions About the Future of the US DOJ"
Links for the day
Allegedly More IBM RAs (Mass Layoffs) Same Day the Stock Crashed
No paper trail, so it never happened, right?
Techrights Was Right: Microsoft's Layoffs Tally Was False, Far More People Are Being Sacked
"The Xbox Bloodbath Is Actually Way Bigger Than It Seems"
IBM Sinking to Lowest Levels Since 2024, But Will Any Executives Be Arrested for Securities Fraud?
52-week high of $332.46 and now down to $212.94
Microsoft Whistleblowers Say "The Entire Thing is Going to Fall Apart" and There Are "No Benefits" to Being Part of Microsoft
"Multiple sources, who chose to remain anonymous for fear of reprisal"
IBM's Crash Continues Today
Stocks go up and down, but they don't typically go down by over 25% in a single day
How Long Before GNU/Linux is Measured at 20% in Chad?
The main way to get people to adopt Vista 11 is to sell them a new PCs and in poor countries it happens a lot less
Making Techrights Faster Down Under (Australia and New Zealand)
there's more to life than speed
Strikes at the EPO Approved for the Rest of the Year, "€1,3 Billion Taken From Staff Income"
Intensity can be revised and increased over time
Focusing on What We Really Ought to Focus on
Today we'll focus mostly on EPO affairs
Violence is Not a Joke
"Police say Widdecombe killing was targeted but motive remains unclear"
How to Properly Measure the Performance of a Patent Office
A "contribution from staff [which] is published by SUEPO Munich."
EPO "Cocaine Communication Manager" - Part XIV - "Not One of Us" (How the Group Dubbed by EPO Insiders "Alicante Mafia" Pushes Out Talent, Replacing It With Friends)
misuses the EPO's budget like it is a fountain of money for his friends
LibreTech Collective Abandons Microsoft GitHub and All Other Proprietary Software
Each time a project eliminates control by a hostile party it stands to gain
Links 15/07/2026: US Regime "Cuts Two Utah National Monuments by More Than 90%", "Hormuz is Less Crucial Than It Was"
Links for the day
Gemini Links 15/07/2026: Old Computer Challenge, "Trial by Fire", LLM Slop Destroying Companies
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, July 14, 2026
IRC logs for Tuesday, July 14, 2026
Heshan de Silva-Weeramuni Becomes Program Manager at the Free Software Foundation (FSF)
Heshan's addition means that the FSF is growing after a solid financial year (best in years)
Michael McMahon Explains Distributed Denial of Service (DDoS) Attacks on the Free Software Foundation (FSF)
The real solution is a curb on botnets. A mitigation strategy, however, would involve going static.
Matters of Public Safety
"Police say Ann Widdecombe killed in 'targeted attack' as motive investigated"
The Register MS and Its Promotional Microsoft Content
It's not too hard to see what the business model of The Register MS is
IBM: From $306 to $212 in 7 Days, IBM Won't Go Up More Than 50% to Where It Was at 'Peak Vapourware'
There's a limit to how much or how long a company can fake its performance and its potential [...] Early this morning a few insiders ("traders") cashed in on their "pump-n-dump"
Red Hat Staff Needs to Start Looking for the Next Job
Workers can conveniently lie or deny it to themselves, but waves of PIPs ("silent layoffs") will sweep over more and more units or teams as the company runs out of money to play with
IBM the Next Bear Stearns
IBM cannot recover if all it has to show is vapourware
IBM Stock Collapses and It's Only the Beginning
Will GAFAM soon follow and will any executives be arrested for the accounting fraud insiders have long cautioned about?
I'll Be Extremely Difficult for Microsoft to Sell Any XBox Consoles Now
Microsoft understands this
How Software Freedom Would Benefit Everybody
A society that denies control by greedy companies would do a disservice to monopolies and improve all services to citizens
Links 14/07/2026: Harsh But Also Fair Criticism of Hey Hi (AI) Slop, 'Open' AI Shuts Down Its Own Products as Funds Run Out
Links for the day
Gemini Links 14/07/2026: Old CD Binder and AWK
Links for the day
In Defence of Physical Tickets
Tickets are not some "app" and not some "code" on some "screen"
Microsoft Layoffs Not Limited to XBox (False Narrative in the Mainstream Media)
Microsoft is becoming less relevant and workforce reductions won't end any time soon
Links 14/07/2026: Plagiarism Spun as "Training", Zelensky Announces Leadership Shuffle
Links for the day
The Register MS Has Just Published "AI" Webspam That Mentions "AI" 54 Times. It Was Paid to Do This.
Who pays for all this "AI" hype or "buzz"?
Gemini Links 14/07/2026: Self-Advocacy Online; "The Internet Is Dead: How the Web Lost Its Human Soul"
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, July 13, 2026
IRC logs for Monday, July 13, 2026
Modern Technology Harms Women More Than Men (Because the 'Tech Bros' Who Dominate STEM Have a Poor View of Women)
“Privacy protects us from abuses by those in power, even if we're doing nothing wrong at the time of surveillance.”
Internet Relay Chat Trolls Are Not Expressing Opinions, They Are Saboteurs
For the record
Links 14/07/2026: "The Freedom of Information Act Is in Serious Trouble"; Irish Datacenters Use Up Almost 25% of Total Energy
Links for the day
The Register MS: "AI" Puff Pieces for Sale, Not Journalism at All, Just "Webspam"
The Register MS isn't the sole culprit
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, July 12, 2026
IRC logs for Sunday, July 12, 2026
How We Do Techrights (and What's Changing Next Week)
Many former news sites no longer yield much non-meaningless news (not anymore); there's a gap to be filled