| Microsoft has publicly stated that it aims to "embrace and extend"
popular standards and existing work. "Embrace, extend and extinguish" (EEE) is a scornful takeoff on this by
Microsoft's critics, used to suggest that the stages of embracing and extending are only prefaces to extinguishing or supplanting
existing work, perhaps with less effective standards or work.
Critics of Microsoft say the company uses EEE to drive competitors out of business by forcing them to use seemingly broken
technology, while Microsoft controls the non-standard extensions.
Although the behavior is today reproached to Microsoft because of their dominant position in the computing world, it has been present all along in both computer and non-computer history. It is natural for
an engineer to try to improve existing technology and it is natural for groups of people to try to create their own vision of the world. Most companies
see standards as merely a way of comforting customers that a technology is
fundamentally mature and immediately concentrate on proprietary extensions, the value added, which is the primary way of retaining customers over time.
Microsoft, the Internet, and other standards
Some use EEE to describe Microsoft's perceived strategy toward the Internet and
other standards, in particular by those who see such a strategy as unfair competition.
The three stages of the EEE strategy appear to be unfolding as follows:
- Embrace: Microsoft publicly announces that they are going to support a standard. They assign employees to work with
the standards bodies, such as the W3C and the IETF.
- Extend: They do support the standard, at least partially, but start adding Microsoft-only extensions of the standard
to their products. They argue that they are trying only to add value for their customers, who want them to provide these
features.
- Extinguish: Through various means, such as driving use of their extended standard through their server products and
developer tools, they increase use of the proprietary extensions to the point that competitors who do not follow the Microsoft
version of the standard cannot compete. Unfortunately, the Microsoft version uses proprietary technologies such as ActiveX that places competitors at a distinct disadvantage. The Microsoft standard then
becomes the only standard that matters in practical terms, because it allows the company to control the industry by controlling
the standard.
Evidence held up in support of this view of Microsoft's policies include the Halloween documents, a series of confidential, internal Microsoft memos related to dealing with
Linux and open source software, which
were leaked to the public. What exactly can be inferred from the documents about Microsoft's strategies is up to debate. To some,
particularly Eric S. Raymond, these documents constitute
incontrovertible proof of Microsoft's unfair business practices.
Examples of areas where "embrace, extend and extinguish" have been alleged:
The last example was the subject of a widely-publicized lawsuit between Microsoft and Sun Microsystems.
The phrase "embrace, extend and extinguish" should be reserved for the particular strategy outlined above. Therefore, in the
subject Java vs. .NET, EEE would not strictly apply, either, because .NET is marketed under
the Microsoft brand name. However, a J# language is positioned in .NET as a
Java-influenced alternative to Java.
Some observers suspect that Microsoft intends to use EEE with the C# programming language, by first getting many users for the ECMA-standard version
of the language, which was intentionally designed as a successor to the popular C programming language, then later adding
proprietary extensions and removing support for the standards-based version.
Another example is the C++ programming language. First, Microsoft tried to
extend it as Managed C++ in Visual C++.NET; however, this
attempt was met with a lot of resistance as the managed extensions were poorly implemented and aesthetically unappealing. Because
of the poor reception, Microsoft made a second attempt at extending C++, this time calling it C++/CLI. It remains to be seen
whether these new extensions, which are scheduled to appear in Visual Studio.NET 2005, will gain wide acceptance.
"Embrace, extend, and extinguish" is a strategy based on the network
effect, the idea that the value of a product to a potential customer increases as the number of customers who already use
that product increases. In the first edition of The Road Ahead,
Bill Gates explains in detail his plans to use the network effect to
Microsoft's advantage.
Self-limitation of EEE
The "embrace, extend, and extinguish" strategy seems to have had limited usefulness. It has only been partially successful in
balkanizing HTML, mostly through the alterations to the Document Object Model in Internet Explorer. One flaw in this strategy is that incompatible
enhancements generally create customer pushback especially when those enhancements have limited usefulness. ActiveX is an example of a Microsoft technology that has met with customer resistance.
So far, standards embodied in popular free software implementations
have appeared to be resistant to the "Embrace, extend and extinguish" strategy, as the provisions of Free Software Foundation's
GNU Public Licenses prevent the third phase of the plan from being executed, by ensuring that
any vendor extensions to the software are available to the community, and cannot be tied to any single vendor. One could create a
proprietary "clean-room" reimplementation -- a technique often
used to create free software workalikes of proprietary programs -- but would have an uphill battle in a marketplace already
flooded with the free implementation.
Free software EEE
One can notice this approach is also shared by the free
software tools. Comparison between GNU/Linux and previous UNIX operating systems shows that GNU/Linux has embraced, extended and extinguished most of them as
of today, most prominently SCO UNIX, which used to be the market leader of UNIX on
IBM PC compatible computers. Remaining ones like Solaris are struggling and subsist merely because
vendors primarily draw revenue from computer hardware.
Since free software is not public domain, and is actually governed by
a tough and politically-motivated license and agenda, UNIX vendors cannot incorporate extensions without being subject to strong constraints,
which oblige them to seriously reconsider their business models. Just
as Microsoft intends to get a 100% share in every market they actively invest (the fair share is 100% according to
Microsoft's CEO Steve Ballmer), free software intended to eliminate all
other forms of software in markets of perceived wide interest.
Free software has performed numerous proprietary (since subject to GNU and other licenses) extensions in the compilers, in the
libraries, in the utilities and on-disk formats and it is difficult to adopt only part of the solution. The Linux kernel requires
C compiler extensions only present in the GNU C compiler, just like Windows code requires extensions
originally only present in the Microsoft C compiler. Moreover, the GPL licensing even forbids operations like compiling certain
GNU code with non-GNU compilers. GNU enthusiasts suggest to extend the licensing constraints to simple information exchange.
External link
|