Embrace And Extend

A strategy all too often used by MicroSoft. They take a widely-accepted standard and add proprietary extensions until it's just incompatible enough to only work with MicroSoft products. For example, with WindowsTwoThousand server, MicroSoft extended Kerberos to break full compatibility with FreeSoftware Kerberos implementations.

A smart business strategy when you own 95% of the desktop market, but what's good for business isn't always what's good for users.

Doesn't that 95% of the market represent at least a majority of the users?


Some might see this another way:

Microsoft sees a widely accepted standard and knows it can be made to work well with Microsoft Products. They spend the time and effort to make that happen. Their work is intended to make the widely-accepted standard compatible with Microsoft Applications, not to break it. The extensions might have been made by those who are responsible in the FreeSoftware community by making manpower and resources available to do the desired extensions. One would not expect a company to make the extensions fit how everyone and anyone else in the FreeSoftware community might want to use them, on platforms which are quite different and divergent in approach and methodology. This is especially true in light of the view of some in the community that characterize the Windows GUI as evil and a smell.

What could you reasonably expect Microsoft to do? Make a proposal here as to what and how Microsoft could extend such widely-accepted standards in such a way as to preserve compatibility with Windows and everyone else.

What about making their applications work well with the standard? Isn't it the goal of standards, after all?

Documenting and releasing that documentation unemcumbered by patents would be a good start.

For interoperability including Unix, Mac and several others see:


In a strange sort of way, the Internet itself is dependent on EmbraceAndExtend. The RFC process depends on people implementing their ideas before being accepted as standards. If your changes depends on a given RFC to begin, e.g., extending POP3 to work on AX.25 networks, you're embracing an existing standard and extending it to address a new need.

Therefore, EmbraceAndExtend itself is not a bad thing, even in a commercial setting. What is singularly bad about Microsoft's approach, however, is the closed-doors standards approach. That is, with RFCs, once an RFC is extended and more than two stable implementations are available, a new RFC for the extension goes through and becomes eligible for standards track process. Everyone can see everything, even if the changes were originally proprietary. Not so with Microsoft, who holds that software and standards alike are highly prized intellectual property.

It should, of course, be EmbraceExtendExtinguish? - otherwise all software development could be said to be EmbraceAndExtend since no software is brought into this world fully formed.


CategoryMicrosoft


EditText of this page (last edited May 31, 2007) or FindPage with title or text search