jueves, enero 28, 2010

windows tactics vs linux

http://www.fayerwayer.com/2010/01/correos-electronicos-revelan-estrategia-de-microsoft-frente-a-su-competencia/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+fayerwayer+(FayerWayer)

Correos electrónicos revelan estrategia de Microsoft frente a su competencia

Debido a la investigación realizada por el caso anti-monopolio Comes vs Microsoft, se ha publicado una impresionante cantidad de correos electrónicos entre Bill Gates, Steve Ballmer, Jim Allchin y otros importantes miembros de la compañía, en donde se puede ver cómo manejaron las distintas amenazas a su imperio a través de los años.

Los documentos son en su mayoría de la década del ‘90, cuando Bill Gates encabezaba la compañía. Muchos de ellos están clasificados como confidencial y altamente confidencial, y revelan una actitud de competencia bastante agresiva. En esa época muchos sospechaban de que algunas acciones pro-monopolio eran definitivamente intencionales, y estos documentos dejan en claro que aquellas sospechas no estaban tan lejos de la realidad.

Los documentos han sido recolectados por el sitio Groklaw.net y poco a poco se han ido transcribiendo desde los originales (PDF). Esta tarea no está completa, por lo que probablemente se encontrarán nuevos antecedentes a medida que se vayan procesando los documentos.

En este artículo transcribimos algunos capítulos que nos parecieron muy interesantes, y aunque es probable que no quede mucho de esta actitud en Microsoft hoy en día, creemos que estos documentos tienen un gran valor en la historia de la computación.

Compatibilidad con la Web

Cuando Microsoft se dio cuenta del potencial de internet, no sólo trató de dominar los estándares sobre la que fue construida, sino que también planeaba modificar esos estándares para que sus competidores se convirtieran en incompatibles. Tratar de extender HTML para que funcionara bien sólo con sus productos e integrar Internet Explorer profundamente en Windows fue parte de la estrategia.

Office Rendering, Bill Gates, Diciembre de 1998:

Permitir que los documentos de Office se visualicen bien por los navegadores de otros es una de las cosas más destructivas que podemos hacer a la compañía. Debemos dejar de poner cualquier esfuerzo en esto y asegurarnos de que los documentos de Office dependan profundamente en las capacidades propietarias de Internet Explorer.

HTML “openness”, Bill Gates, Enero de 1997:

Recientemente hubo un intercambio de correos con gente en el grupo de Office respecto a Office y HTML.

En un correo se sugiere que Office debe funcionar bien con todos los browsers y que no deberíamos forzar a los usuarios de Office a usar nuestro browser. Esto es incorrecto y quiero corregirlo. Otra sugerencia en este correo era que no podemos hacer nuestras propias extensiones unilaterales a HTML. Voy a decir que esto estaba mal y también lo corregiré.

En todo caso creo que es mejor asegurarme de que tengamos un consenso a nivel de la gente involucrada en este correo antes de declarar esto.

Mi visión es que en orden de mantener una fuerte posición como sistema operativo, tenemos que mejorar la API de Windows y hacer que Trident esté completamente integrado (N.del.E: Trident es el motor de render de Internet Explorer). No podemos enfrentar la API de Windows contra Trident – deben ser complementarias aunque Trident deje obsoletas algunas llamadas de Windows.

Pienso que debemos hacer que Trident sea extremadamente difícil de clonar. Pienso que deberíamos patentar partes de Trident y hacer extensiones a Trident en forma permanente.

Reconcilio esto con nuestras declaraciones sobre HTML al decir que necesitamos tener tags que sean específicos para Office/Windows/Microsoft.

Algunas personas podrían estar en desacuerdo de que pongamos algo propietario en el navegador. Si es así, tendremos que dejar de ver a HTML como algo central en nuestra estrategia y buscar otra.

Luego se refiere al manejo de Java y su interfaz gráfica de la época (AWT) para dejarlo en desventaja respecto a aplicaciones dependientes de Windows:

Creo que el camino que estábamos siguiendo al construir sobre AWT nos llevaba a un desastre seguro. Estábamos creando una situación en donde las aplicaciones 100% Java se verían tan bien como aplicaciones Windows, algo que tenemos que evitar.

ms-microsoft-logoCómo manipular ACPI para perjudicar a la competencia

ACPI es un estándar para la administración de energía, y se usa fuertemente en laptops en aspectos que van desde obtener información de la batería, hasta manejar la suspensión e hibernación del equipo. Veamos que pensaba Bill Gates sobre ACPI

ACPI extensions, Bill Gates, Enero de 1999:

Algo que me he estado preguntando es sobre si deberíamos intentar de hacer extensiones al ACPI que sean específicas para Windows. Es desafortunado hacer este trabajo (definir ACPI) y conseguir que nuestros partners hagan el trabajo y al final resulta que Linux funciona genial sin tener que hacer este trabajo.

Quizás no hay forma de evitar este problema, pero me molesta. Quizás podríamos definir la API de tal forma que funcione bien con NT y no con otros, aunque sean abiertos. O quizás podríamos patentar algo relacionado con esto.

De todas formas, al final de cuentas Bill Gates no tendría que haber estado tan preocupado, ya que cada fabricante de BIOS interpretó la especificación a su propia manera y cada uno de ellos resultó con su propia colección de bugs. Es por este motivo que por mucho tiempo fue complicado que otros sistemas operativos usaran completamente la implementación ACPI de cada computador. Como ejemplo, revisen el bonus track que se encuentra al final de este artículo.

No perder ningún mercado, no perder frente a Linux

Durante un tiempo, Microsoft comenzó a ver que muchos gobiernos estaban interesados en Linux como una alternativa para bajar costos, especialmente en el área de educación.

Las ventas del sistema operativo Windows se deben principalmente a computadores nuevos, en donde el sistema operativo se vende como si fuera algo inseparable del computador. Cuando los usuarios se dieron cuenta de que podían comprar computadores sin Windows, Microsoft creó una estrategia interna llamada EDGI (Education and Government Incentives), para usar cuando se encontraran en riesgo de perder frente a Linux.

EDGI, David Driftmier, Agosto del 2002:

Poco antes de MGB, Orlando envió un correo para presentarles un nuevo programa para equiparlos con una nueva herramienta que asegure que nunca perdamos frente a Linux – el programa de Incentivo a Educación y Gobierno (EDGI)

[...]

¿Qué es EDGI? es tanto un proceso para responder a grandes amenazas de la competencia, como una fuente de financiamiento para nivelar el terreno entre Windows y Linux cuando el negocio involucra la compra de nuevos PC’s

[...]

¿Cuándo debo pedir financiamiento bajo EDGI? EDGI debe ser usado sólo cuando todos los otros intentos de cerrar el negocio se hayan agotado y el cliente vaya a comprar computadores con Linux.

En otro correo también se puede ver que las donaciones podían ser un posible camino de solución

Windows royalties for school projects, Carl Sittig, Mayo del 2002:

Cómo se indica más abajo, hay una presión hacia el código abierto en el gobierno (de Malasia). El Primer Ministro ha solicitado mirar al código abierto como una alternativa en general y podría ser implementado para el proyecto escolar.

El problema que enfrentaban en ese tiempo era que Windows 98, el sistema usado en Malasia, se acercaba al fin de su vida útil, y la migración a un sistema basado en NT (como XP) no era conveniente desde el punto de vista de los costos.

La respuesta de Richard Fade, Senior Vice President de la división OEM fué simplemente:

¿El equipo local de Microsoft puede hacer una donación?

Los famosos reportes de Costo Total de Propiedad (TCO)

No es un gran misterio que los reportes comparativos respecto al costo total de propiedad siempre pueden ser ajustados para favorecer a un sistema frente a otro, sobre todo si el fabricante de uno de ellos lo financia.

En el año 2002, IDC publicó un reporte en donde el TCO era favorable a Windows respecto a Linux en el área de servidores. El reporte fue bastante citado en esos años como una demostración de superioridad de Windows sobre Linux como servidor. Pero veamos qué se pensaba al interior de Microsoft:

Please review RE Linux Compete, Kevin Johnson, Octubre del 2002:

Me gustaría ser capaz de mostrar que una solución Windows mejor TCO que Linux y ser capaz de cuantificarlo. No me gusta el hecho de que el reporte nos muestre perdiendo en el área de servidores web. No me gusta el hecho de que el reporte nos muestre perdiendo en el área de disponibilidad (Windows estuvo abajo más que Linux). Y no me gusta el hecho de que el reporte no diga que nada nuevo viene con el servidor Windows.NET. Yo no lanzaría este reporte con el texto “patrocinado por Microsoft” en la portada. Con eso, tendremos a IBM y muchos clientes sacando frases sobre lo poco confiable que es Windows 2000 en servidores comparado con Linux y siendo más caro en servidores web. El análisis de que Linux es grandioso en ciertas áreas y que cada vez se vuelve más fuerte echará carbón al fuego.

Luego Peter Houston pregunta sobre si hay un reporte equivalente sobre Windows versus Linux pero de Gartner. Kevin Johnson responde:

Hemos sido incapaces de lograr que cualquier firma importante (aparte de IDC) haga un estudio de este tipo. Y estoy preocupado de que las mismas deficiencias aparezcan en un estudio riguroso, o incluso peor. (Windows.NET Server 2003 ayudará un montón, pero pienso que estamos a 18 meses de tener el producto liberado e implantado en suficientes lugares como para rehacer el estudio).

Nos acercamos a Garnter para hacer este estudio (en vez de IDC) pero se negaron. Dijeron que era porque no sabían si su modelo de TCO era aplicable a Linux. Personalmente me pregunto si ellos quieren entrar o no en este debate. Ustedes saben que Linux es bueno para el negocio. En cambio, IDC pareciera disfrutar el tener que defender su estudio en público.

Una de las dudas que se planteaba era si indicar o no que el estudio había sido patrocinado por Microsoft. Peter Hudson, quien presenta el estudio en el sitio de Microsoft, dice:

Puedo lograr que eliminen el nombre de Microsoft del reporte. Sigo preocupado de que de todas formas se sabrá que lo patrocinamos y no sé qué tanta ventaja nos dará quitar el nombre. Hay que notar que también tendremos que hablar a la prensa sobre el reporte en algún momento (deberíamos asumir que se va a saber – y podríamos proactivamente entregarlo a la prensa amiga de Microsoft – si es que eso existe!) y nos preguntarán cuál fue nuestro rol, y será evidente que lo patrocinamos.

Bill Gates involucrado con el desarrollo de los productos

Además de las referencias a Linux, en el material publicado se pueden encontrar múltiples referencias a otras amenazas como DR-DOS, OS/2 y Java, pero también se pueden ver algunas conversaciones técnicas interesantes.

En varias partes se puede ver que Bill Gates estaba bien involucrado en los proyectos. Por ejemplo hay una en donde se plantean las ideas fundamentales de las mejoras que se aplicarían para que el sistema se sintiera más rápido, sin serlo necesariamente.

Applications boot time, Bill Gates, Marzo de 1997:

He sido insistente al tratar de encontrar formas de hacer que nuestras aplicaciones se inicien más rápido. Tenemos que hacerlo, es la razón por la que la gente cree que nuestras aplicaciones son muy grandes.

Entre varios correos sobre el tema, Darryl Rubin responde:

Además hay formas de mejorar la ilusión del tiempo de inicio. Sería muy fácil para una aplicación presentar la ventana de la aplicación y la primera página del documento (o la página que el usuario visitó antes), incluso si esto es una cortina de humo mientras se carga el resto de la aplicación y se deja funcional. [...] Creo que esto además de otros trucos pueden resultar en una mejora drástica en el rendimiento percibido al iniciar.

Bonus track: Las incompatibilidades de ACPI

En el año 2008 un usuario llamado Ryan Farmer se quejaba de los problemas que tenía con Linux para suspender y resumir su laptop. Estas tareas son realizadas por el subsistema ACPI y es un hecho conocido de que muchas BIOS tienen implementaciones defectuosas. Pero este usuario, que tenía habilidades para revisar la implementación de ACPI encontró un problema mayor : La BIOS había sido sospechosamente ajustada para funcionar sólo con Windows.

En su blog, comentó:

Después de ver el código desensamblado del BIOS por varias horas, reinicarlo y ajustarlo, diría que esto es muy intencional. He encontrado comprobaciones redundantes para asegurarse de que está corriendo sobre Windows, independiente de que el sistema operativo le diga que lo es, y por supuesto causa errores fatales que llevan a kernel panic en FreeBSD y Linux, están repartidos por todos lados, incluso en la parte que es sólo para Windows, y los he corregido.

No, esto se ve extremadamente calculado, es como si supieran que alguien probablemente lo examinaría así que intentaron plantar un campo minado. Así que si es un error, o incompetencia, es la más meticulosa, enfocada y atrevida incompetencia que he visto.

Y como broche de oro, esta es parte de la conversación entre Ryan y el fabricante FoxConn

FoxConn: Como no estás satisfecho con el producto, usando un sistema operativo no soportado ni certificado, por favor contacta al distribuidor para que te devuelvan el dinero

Ryan: Aprendan a escribir una BIOS antes de vender hardware con especificaciones falsificadas. Estuve depurando su BIOS AMI, y el soporte de ACPI está lejos de cumplir con los estándares. Envié un volcado de los datos de depuración al sistema de seguimientos de bugs de Canonical, para que podamos implementar un parche para las tablas ACPI que estan malas en su BIOS. Espero que sean parte de la solución en vez del problema. Hacer enojar a los clientes diciéndoles que vayan a comprar una copia de Windows Vista no es un servicio. Su producto dice que cumple con ACPI y no lo hace, por lo tanto están engañando al publicitar características que no cumple.

FoxConn: Estás equivocado al decir que nuestra tarjeta madre no cumple con ACPI. Si no lo fuera, entonces no habría recibido la Certificación WHQL de Microsoft. (N.del E. !!!)

Ryan: Encontré tablas DSDT separadas que la BIOS entrega específicamente a Linux. Cambié esto para que Linux apuntara a las tablas de Windows Vista y eso solucionó todos los problemas. Aunque acepto que tengan algun tipo de Certificacion Microsoft (lo que no me sorprende), eso no hace que su placa cumpla con ACPI, sólo que Windows puede hacer frente a problemas técnicos que fueron adaptados especialmente para favorecerlo.

Finalmente Ryan termina con:

Ellos detectan que es Linux, le dan una tabla DSDT mala, que a primera vista se ve bien, pero está rota en forma sutil de manera que algunas cosas funcionan, pero no correctamente. Los llamas para preguntar por qué su placa no corre bien con Linux y te dicen que vayas a comprar Vista.

Actualización: Germán Póo comparte un par de links en donde se puede ver el final de la historia entre Ryan y FoxConn. Estrictamente hablando el problema original se encontraba en el BIOS provisto por AMI, y fue usado por varios otros fabricantes además de FoxConn. Lo inexplicable de este asunto es que Windows tenía un parche para uno de los bugs, 22 meses antes de que AMI publicara su BIOS.

Finalmente, un par de ingenieros de FoxConn se contactaron con Ryan para corregir el problema y publicaron toda la información sobre el caso en los foros de Ubuntu. Heart Zhang de FoxConn termina diciendo:

Y aquí quiero decir Gracias a todos Ustedes los entusiastas de Linux. A partir de este caso, Ryan y todos Ustedes nos dieron una lección. Y además como nuestro plan, tomaremos más tiempo para hacer pruebas sobr Linux. Estoy seguro de que Linux se está convirtiendo en un sistema operativo más grande y popular.

No hay comentarios: