# Adoptar, extender y extinguir

"Adoptar, extender, y extinguir" (en inglés Embrace, Extend and Extinguish o EEE) es una frase usada por el Departamento de Justicia de los Estados Unidos y el nombre dado a una estrategia por Microsoft que describe cómo entrar en categorías de productos vinculados a estándares ampliamente usados. La estrategia extiende estándares adoptados con el uso de software privativo, y luego usa las diferencias entre productos como una ventaja contra los competidores. De esta forma, Microsoft podría dejar a sus competidores fuera del mercado, forzando a los usuarios a usar tecnologías propietarias controladas por la empresa.

## Microsoft, Internet y otros estándares

Los tres pasos de la estrategia EEE serían:
* Adoptar: Microsoft anuncia públicamente que va a dar apoyo a un estándar y asigna empleados para colaborar con las organizaciones de estandarización, como el W3C o el IETF.
* Extender: Microsoft implementa el estándar, al menos parcialmente, pero paulatinamente añade extensiones propietarias sólo disponibles en sus productos. Microsoft alega que necesita otorgar beneficios extra a sus clientes, quienes demandan estas nuevas características.
* Extinguir: A través de varios medios, como implementando su estándar ampliado en sus productos de servidor o herramientas de desarrollo, aumentan el uso de las extensiones propietarias, hasta el punto de que los competidores que no siguen la versión del estándar creada por Microsoft ya no pueden competir. El estándar de Microsoft se convierte entonces en el único relevante en la práctica (un estándar de facto), porque permite a la compañía controlar el mercado gracias al control del estándar.
Evidencias a favor de la política 'EEE' de Microsoft incluyen los documentos Halloween, una serie de memorandos internos y confidenciales de Microsoft relacionados con GNU/Linux, el software libre y el código abierto, que se filtraron al exterior. Estos documentos (que Microsoft ha confirmado suyos) muestran una postura contraria a la mostrada en público, y para algunos, como el crítico Eric S. Raymond, constituyen una prueba cierta de sus injustas prácticas monopolistas.
Ejemplos de áreas donde "adoptar, extender y extinguir" ha sido alegado:
* HTML, CSS, DOM
* Kerberos
* Altair BASIC
* SMB
* Control indirecto de la arquitectura compatible IBM PC
* Media Transfer Protocol
* C++
* JavaScript
* Java
* Formato Open Document
* Yahoo!
* Unix mediante el Subsistema Unix para Windows
El caso de Java fue el causante de una famosa batalla legal entre Microsoft y Sun Microsystems.
La efectividad de EEE reside en el efecto de red: la idea de que el valor de un producto para un cliente potencial aumenta a la vez que aumenta el número de clientes que ya usan ese producto. En la primera edición de Camino al futuro, Bill Gates explica con detalle sus planes para usar el efecto red para dar ventaja a Microsoft.

## EEE y software libre

Hasta ahora, los estándares definidos en programas libres parecen no ser afectados por la estrategia "adoptar, extender y extinguir", ya que la licencia GNU GPL impide que la tercera fase sea ejecutada: asegura que las posibles extensiones a un software por parte de terceros estén disponibles para la comunidad, y por tanto no vinculen a los usuarios a un único fabricante.
Un ejemplo de la situación anterior es el kernel Linux, que usa extensiones al lenguaje C presentes sólo en el compilador GCC, desarrollado por la Free Software Foundation, y gestionado por la comunidad, además de poder utilizar otros compiladores (como el Intel Compiler).
En la actualidad existe un vivo debate sobre la (in)conveniencia de aceptar y usar Mono en la comunidad de desarrolladores de GNU/Linux. El más reciente evento que ha avivado el debate es que todo el código en MonoDevelop que tenía licencia GPL ha sido eliminado, para dejar sólo código con Licencia LGPL y MIT/X11 lo que permitiría incluir extensiones privativas al framework de desarrollo de aplicaciones Mono.