Javier Smaldone
javier@smaldone.com.ar -
http://www.smaldone.com.ar
Muchas son las historias que se han contado alrededor de Bill Gates y Microsoft. En la mayoría de ellas, las que el común de la gente conoce y las que difunden los medios masivos de comunicación, Gates aparece como un genio de la informática y su empresa, Microsoft, como la responsable del avance de la computación personal (y hasta de Internet) en las últimas dos décadas. Poco se conoce, a nivel popular, sobre el verdadero origen de este imperio y sobre el efecto que han ocasionado sobre la industria y la tecnología informática las estrategias llevadas adelante por Microsoft.
En Internet es común encontrar sitios en contra de Microsoft y Bill Gates. La mayoría enfocan su crítica desde lo técnico: apuntando a la baja calidad de sus productos, exponiendo sus gruesas fallas y notables carencias, comparando a Windows con otros sistemas operativos mucho más estables, eficientes y seguros. Otros alertan sobre los peligros que encierra la posición monopólica que ocupa Microsoft, y las políticas implementadas por esta empresa para expandir su control a otras áreas, más allá de la computación personal.
Este breve artículo persigue varios objetivos:
Su verdadero nombre es William Henry Gates III y, como el mismo parece indicarlo, proviene de una acaudalada familia de Seattle[1]. La historia que siempre se ha contado acerca de sus comienzos, jugando con su pequeña computadora personal, lejos está de la realidad. Gates fue educado en una de las escuelas más costosas (la matrícula costaba aproximadamente el triple que la de la Universidad de Harvard) y, cuando junto con un grupo de compañeros quiso empezar a jugar con computadoras, sus madres les alquilaron una PDP-10 (la misma computadora que utilizaban los investigadores de Stanford y el MIT).
Otro mito bastante común es que Gates creó el lenguaje Basic. Nada más lejos de la verdad. Basic fue creado por John Kemeny y Thomas Kurtz en 1964. Lo que Gates y Paul Allen hicieron fue crear una versión del intérprete de dicho lenguaje para computadoras personales Altair (logro que es ampliamente superado por cualquier alumno de un curso universitario de compiladores). Este intérprete es la única pieza de código conocida escrita, a medias, por Bill Gates. Más adelante veremos que muchas otras invenciones que se le atribuyen tampoco fueron obra suya.
Microsoft fue fundada por Bill Gates y Paul Allen. Inicialmente cada uno de ellos poseía el 50% de la compañía, aunque luego Gates fue tomando progresivamente mayor control sobre la misma.
El primer gran acierto de Microsoft, determinante de su futuro éxito, fue la venta del MS-DOS a la empresa IBM. El DOS tampoco fue diseñado ni desarrollado por Microsoft, sino que fue adquirido a una pequeña empresa llamada Seattle Computer. Su autor original lo había bautizado QDOS, siglas de "Quick and Dirty Operating System" (sistema operativo rápido y sucio). Es reconocido por todos que la calidad del diseño y la implementación del MS-DOS en sus primeras versiones era muy pobre. La decisión de IBM de incorporarlo como el sistema operativo de sus PCs fue motivada por una cuestión de competencia con la empresa Digital, que podía proveer un producto muy superior, y porque IBM realmente no dio mucha importancia a la línea de computadoras personales. Lo que llama poderosamente la atención fue que IBM no comprara el MS-DOS sino que decidiera pagar a Microsoft un canon por cada copia que se vendiera junto con una IBM-PC. Lo que pocas veces se ha dicho es que por esos tiempos la madre de Gates, Mary Maxwell, era directiva de la empresa United Way conjuntamente con el CEO de IBM, John Opel[2,1].
Debemos comenzar aclarando, para quienes hayan creído las ridículas historias que se cuentan en algunos medios de comunicación, que Microsoft no inventó los entornos gráficos, ni las ventanas, ni el mouse. Todo esto fue desarrollado por la empresa Xerox en el año 1973[3] y luego copiado por Apple a fines de los '70 y Microsoft ya entrados los '80.
Windows fue anunciado el 10 de noviembre de 1983. La primera versión (1.0) apareció el 20 de noviembre de 1985, en tanto que la primera versión realmente utilizable (3.0) salió al mercado el 22 de mayo de 1990[4]. Toda una muestra de la "eficiencia" de la empresa. Recordemos que estamos hablando de un producto que proveía una funcionalidad equivalente a las que incorporaba la Apple Macintosh en 1984 (cuya estabilidad y robustez eran ampliamente superiores). La única "virtud" de Windows consistió en ejecutarse sobre MS-DOS en computadoras compatibles con la IBM-PC.
Muchos han llegado a creer que Microsoft inventó la web o, peor aún, que la Internet es una idea brillante de Bill Gates.
La Internet, como tal, data aproximadamente de 1986 (aunque se originó desde fines de los '60). La World Wide Web (junto con los primeros navegadores) surgió en el año 1991. Tiempo después, Microsoft compró un navegador llamado Mosaic a la empresa Spyglass, para luego transformarlo en el hoy conocido Internet Explorer. La primera versión de Internet Explorer apareció en agosto de 1995.
La verdad es que el "visionario" Gates no vio venir a Internet. Tardíamente, junto con la aparición de Windows 95, intentó montar una red paralela (e independiente) llamada "The Microsoft Network" (muchos recordarán el inútil iconito sobre el escritorio) que fracasó de forma rotunda. Luego de este fracaso, Microsoft compró varias empresas relacionadas con Internet, entre ellas uno de los proveedores de correo web más importantes: HotMail. En torno a este y otros servicios, montó finalmente su sitio web llamado... ¡Microsoft Network! (actualmente más conocida como MSN).
Los protocolos, estándares y normas de la Internet están documentadas mediante las llamadas RFCs (Request For Comments). A la fecha (enero de 2003) existen 3454 RFCs. Solamente 8 de ellas han sido elaboradas por empleados de Microsoft (la más antigua data de marzo de 1997 y 7 se refieren exclusivamente a productos de esta empresa), lo que representa un 0,23% del total[5].
Muchos reconocen a Microsoft el mérito de haber acercado la informática a los usuarios comunes, de haber producido el avance tecnológico que facilitó el acceso a las computadoras personales. La realidad muestra todo lo contrario: no sólo no es un mérito de Microsoft sino que esta empresa provocó, en muchos aspectos, un atraso tecnológico considerable.
Durante la década del 80, el único producto de Microsoft que sobresalió fue el MS-DOS (llamado PC-DOS en la versión distribuida por IBM). El éxito del MS-DOS no radicó en sus características técnicas sino en que inicialmente fue de la mano con el IBM-PC, cuya arquitectura de hardware fue copiada por muchos otros fabricantes, lo que dio lugar a la proliferación de equipos "compatibles". Para dichos fabricantes de hardware, fue mucho más simple distribuir sus equipos acompañados del MS-DOS que desarrollar un nuevo producto similar (lo que aseguraba la compatibilidad también a nivel de software). Simultáneamente aparecieron otros sistemas operativos de calidad y diseño muy superior, pero ligados a arquitecturas de hardware que no fueron tan exitosas (un ejemplo es el ya citado Apple Macintosh).
A fines de los '80 apareció el DR-DOS, de la empresa Digital Research, cuyas características técnicas eran muy superiores al MS-DOS (aunque, lamentablemente, debía seguir el mismo diseño por cuestiones de compatibilidad). La versión 6 de DR-DOS llegó a tener un gran volumen de ventas hasta que Microsoft liberó la versión 3.1 de su sistema Windows. Curiosamente, y aunque el resto de las aplicaciones DOS funcionaban correctamente, Windows 3.1 fallaba al ejecutarse sobre DR-DOS. Esto motivó un juicio que continúa actualmente.
La década de los '90 comenzó con un dominio total de Microsoft en el área de los sistemas operativos de computadoras personales, con MS-DOS y Windows 3.1. Ya en esta época comenzaron a aparecer alternativas: versiones de Unix para sistemas 386 (una de las cuales pertenecía a Microsoft) y el OS/2 de la empresa IBM. Los principales inconvenientes que tuvieron estos productos para penetrar en el mercado fueron la falta de compatibilidad con el software existente (el diseño de estos sistemas era muy diferente al de MS-DOS/Windows) y el control del mercado que ejercía Microsoft. Un hecho notable es que, ante el avance de los sistemas Unix, Microsoft decidiera discontinuar la producción de su producto compatible con este sistema operativo (llamado Xenix).
Con respecto a este tema, detrás de cada producto exitoso de Microsoft hay un par de historias oscuras en donde aparecen recurrentemente las palabras "juicio", "robo", "espionaje", "copia". Es innumerable la cantidad de productos innovadores y de gran nivel técnico que surgieron a través de los años y que fueron destruidos de alguna forma por Microsoft (un mecanismo muy utilizado para esto fue el de comprar para luego discontinuar). El análisis detallado de estos casos extendería este texto más allá de lo razonable (para más referencias sobre este tema, puede consultar [6]).
También es notable como Microsoft pretende introducir cada innovación en sus productos como un gran avance tecnológico. Lo hizo, por ejemplo, con sus publicitadas DLLs (dynamic loaded libraries) en Windows (cuando ya existían en Unix desde hacía mucho tiempo), la multitarea prioritaria en Windows 95 (ya existente en sistemas implementados en los '60) y más recientemente con la posibilidad de administrar límites de espacio por usuario en Windows 2000 (algo que muchos sistemas operativos permiten hacer desde hace varias décadas) y el soporte de "journaling" en NTFS (una característica que permite mantener la integridad del sistema de archivos ante una caída del sistema, y que está presente en muchos sistemas operativos desde hace más de una década).
Mucha gente cree que es común que una computadora se cuelgue cada tanto. Hasta ha llegado a parecer normal que un virus informático destruya todo el contenido de un disco rígido y que ese virus pueda llegar por cualquier medio y ante la mínima falta de precaución. Han convencido a muchos de que la única forma de evitar eso es mediante un antivirus siempre actualizado (y que Microsoft no provee), y si el antivirus falla... el único culpable del desastre es el malvado autor del virus (por lo general, un adolescente con escasos conocimientos de informática). Es moneda corriente pensar en actualizar el software (como si tuviera un plazo de vencimiento), y rara vez se ve alguna mejora real luego de las actualizaciones. Pareciera normal que un programa sobrepase los 100 Mb de tamaño y que requiera del último procesador y cantidades enormes de memoria.
Estas ideas, con las que la mayoría de la gente que utiliza computadoras con Windows convive diariamente, han sido el resultado de la "evolución de la tecnología" informática de la última década. Esto es lo que Microsoft ha vendido mejor aún que sus productos, hasta el extremo que muchos profesionales las han asumido como moneda corriente[7].
Soluciones a errores groseros en los programas han sido "vendidos" por Microsoft como grandes avances a través de su historia. Cuando una nueva versión de Windows se cuelga una vez por semana en vez de dos, el mensaje es que "ahora es mucho más estable". Una anécdota muy interesante es lo ocurrido en las primeras versiones de la planilla de cálculo Microsoft Excel. Ocurre que dicho programa era incapaz de leer archivos generados por versiones en otros idiomas dado que, al guardar una planilla como un archivo, almacenaba los nombres de las funciones utilizadas (la función para sumar en la versión en español era "suma", en tanto que en la versión en inglés era "sum"). Al mismo tiempo, otros programas similares como Quattro Pro no tenían este inconveniente: en vez del nombre de la función, almacenaban un código numérico que luego era traducido al nombre correspondiente de acuerdo al idioma. Esto es algo que se enseña en cualquier curso inicial de programación, pero los programadores de Microsoft no supieron aplicar una idea tan básica. Al salir al mercado una nueva versión de Excel, en la que se corrigió el notable defecto, la publicidad lo remarcaba como gran mejora: ahora se podía abrir documentos generados por versiones en idiomas diferentes. Claro que aquellos usuarios que quisieran acceder a la nueva versión para salvar la ridícula limitación de la anterior, debían pagar nuevamente la licencia (quizás con un "ventajoso" descuento por actualización)[6].
Existen varios casos documentados (y algunos que han llegado hasta la justicia) en que se sospecha que Microsoft ha alterado el código de sus sistemas operativos para que los programas de la competencia se ejecuten más lentamente o con errores[6]. Microsoft ha sido llevado a la justicia varias veces (y en algunas oportunidades con fallos en su contra) por violaciones de la propiedad intelectual.
También es una práctica corriente que Microsoft, aprovechando su excelente situación económico-financiera, compre a aquellas pequeñas empresas que se interponen en su camino al desarrollar productos que pudieran competir con los suyos.
Una táctica bastante utilizada por Microsoft para lograr el dominio del mercado es la conocida como "Embrace and Extend" (adherir y extender). La misma consiste en extender ciertos protocolos o normas más allá de los estándares de manera arbitraria y unilateral, para que luego sólo los productos que los implementen de la misma manera puedan interoperar de forma correcta. Sobran ejemplos de este tipo de práctica (la implementación de SMTP de Microsoft Exchange, la alteración a HTTP en Internet Information Server, entre otras), pero la más notable quizás sea la que derivó en el juicio que Sun Microsystems inició a Microsoft por haber extendido la especificación de su lenguaje Java violando las condiciones de su licencia, que permite a cualquiera implementar un compilador de dicho lenguaje, pero sin apartarse de dicha especificación. El objetivo perseguido por Microsoft era que los programas Java generados con su entorno de desarrollo J++ solamente pudieran ejecutarse sobre Windows, siendo que Java fue diseñado como un lenguaje que permitiera el desarrollo de aplicaciones portables entre distintas plataformas (algo que, evidentemente, no le conviene). Al fallar este intento, Microsoft tomó la decisión de no incluir soporte para Java en su nuevo sistema operativo: Windows XP.
Los formatos en los que se almacena la información han sido utilizados históricamente por Microsoft con dos objetivos:
Debido a la posición monopólica en la que se encuentra, Microsoft puede ejercer gran presión sobre los fabricantes de hardware para computadoras personales. Dicha presión se traduce, por ejemplo, en la prohibición de vender equipos con otros sistemas operativos instalados, so pena de no brindar descuentos en la venta de licencias de Windows u Office a dicho vendedor. Ningún fabricante de computadoras personales osaría enfrentarse a Microsoft y perder por esto la posibilidad de ofrecer sus equipos con Windows preinstalado (y a un precio menor que el de venta al público). Esto ha llevado a que, actualmente, sea muy difícil poder adquirir una computadora de marca reconocida sin que en el precio esté incluido el costo de, al menos, una licencia de alguna versión de Windows (aunque uno no desee usar este producto)[7].
De la misma manera, se ha llegado al extremo de que los responsables de brindar el servicio de soporte técnico de las computadoras equipadas con Windows es el propio fabricante de las mismas. Esto es ridículo porque dicho fabricante no posee los medios (documentación interna, código fuente, etc.) para poder solucionar problemas ni corregir errores en el programa. Nuevamente, los fabricantes deben aceptar estas condiciones para seguir recibiendo un "trato preferencial" por parte de Microsoft.
Con la llegada de Windows XP se ha alcanzado un nivel de dependencia aún mayor: debido a las nuevas "funciones de seguridad" de Windows XP (que no han impedido que un solo virus deje de funcionar bajo esta nueva versión) los drivers o controladores de dispositivos deben ser "certificados" por Microsoft para poder instalarse en el sistema. Esto obliga nuevamente a los fabricantes de Hardware a mantener "buenas relaciones" con la empresa, agregando otro mecanismo de presión.
El término "vaporware" se utiliza normalmente para referirse a un producto que es anunciado por una empresa, cuando realmente no existe (o no estará disponible en los plazos prometidos). El objetivo de esta estrategia, utilizada generalmente por empresas que se encuentran en una situación de dominio del mercado, es desalentar a su competencia y crear una mezcla de inquietud, expectativa y esperanza en sus usuarios.
Microsoft ha recurrido muchas veces a este recurso. Ya hemos hablado de los siete años que se tardó desde el anuncio oficial de Windows hasta su primera versión realmente utilizable. Un caso similar se ha dado con Windows 95 (anunciado como Windows 4 en julio de 1992 y liberado en agosto de 1995) y con Windows 2000 (cuya primera versión beta fue lanzada en septiembre de 1997, bajo el nombre de Windows NT 5, y que apareció finalmente en febrero del 2000). En todos estos casos se realizaron promesas de supuestas funcionalidades y mejoras que a la postre no se cumplieron. En algunos casos se lanzaron a la venta productos incompletos, como ocurrió con Windows NT 4, que comenzó a ser realmente utilizable luego del llamado "Service Pack 3", liberado un año después de comenzada su comercialización[4].
Los medios masivos de comunicación suelen mostrar a Bill Gates realizando donaciones de software y pronunciando discursos grandilocuentes sobre los esfuerzos de Microsoft para salvar el atraso tecnológico de los países subdesarrollados. Dichas donaciones, cuyos montos se miden en varios millones de dólares, no son reales. El supuesto valor se calcula teniendo en cuenta el costo de las licencias en el mercado, pero la realidad es que a Microsoft le representan un costo casi nulo (apenas el de duplicación de los CD-ROMs). De esta forma la empresa se asegura su crecimiento, sumando una buena cantidad de usuarios de sus productos a un costo mucho menor que el que hubiera significado una campaña publicitaria, sin correr ningún riesgo y por si fuera poco... ¡obteniendo excelente publicidad a cambio!
En otros casos dichas "donaciones" tienen otra connotación. Recientemente Gates, a través de la Bill & Melinda Gates Foundation, realizó una serie de donaciones en la India para la lucha contra el SIDA[8]. Esto ocurre simultáneamente con una serie de negociaciones y estudios realizados por el gobierno indio, con el objetivo de promover el desarrollo de Software Libre en dicho país[9].
No debemos dejar de tener en cuenta que este supuesto filántropo posee (a enero de 2003) una fortuna personal de 61.000 millones de dólares, lo que equivale a 9,33 dólares por cada habitante de este planeta[10].
El futuro parece, a la vez, alentador y aterrador. Por un lado, el constante avance del Software Libre parece haber puesto un freno a la voraz expansión de Microsoft. Finalmente, despues de muchos años de dominio absoluto, aparece un contrincante al que Microsoft parece temer[11]. Hasta ahora sus intentos por detener el crecimiento del Software Libre han sido inútiles, dejando más de una vez en evidencia sus contradicciones y exponiendo sus limitaciones para competir con un modelo que no se ajusta a sus esquemas (de poco sirve su abultado patrimonio para competir con un movimiento basado en desarrollos comunitarios, totalmente descentralizado y fuera de su esfera de poder).
Por otra parte, aparecen en el horizonte amenazas como el intento de creación de una plataforma de computación denominada TCPA (Trusted Computing Platform Alliance)[12], que plantea un modelo en el cual las computadoras son dominadas por las empresas y ya no por los usuarios, pudiendo estas restringir y monitorear el acceso a la información. Este tipo de iniciativas nos pone a un paso de la espantosa situación planteada por Richard Stallman en su cuento "El derecho a leer"[13]. Un análisis muy completo del rumbo que intenta marcar Microsoft puede encontrarse en [14].
Afortunadamente un gran número de personas en todo el mundo, agrupadas en organizaciones de distinto tipo, que pelean para detener el avance de este tipo de peligros y que apuestan al surgimiento y la cristalización de nuevas alternativas, hacen que el futuro aparezca más como una oportunidad de cambio que como la consolidación de las posiciones que empresas como Microsoft han construido durante estos últimos años.
Mi opinión personal, teniendo en cuenta los puntos planteados en el presente texto (y muchos otros que no he incluido porque escapan a mis posibilidades) es que Microsoft representa una seria amenaza para el desarrollo de la informática y, peor aún, para el libre desenvolvimiento en el mundo del futuro, cada vez más ligado a las tecnologías de la información. Debemos tomar consciencia de que no se trata solamente de una cuestión técnica, sino que hay mucho más en juego.
Una clave para el establecimiento del monopolio que Bill Gates ha logrado a través de estos últimos veinticinco años es la gran desinformación (y en muchos casos desinterés) existente, la que le ha permitido mediante campañas de marketing muy efectivas, lograr que el común de la gente y muchos profesionales de la disciplina tengan una imagen totalmente distorsionada sobre los objetivos de esta empresa y su verdadero aporte a la tecnología informática.
Quienes producen los verdaderos avances son aquellos que trabajan para la evolución de la ciencia y la tecnología, no quienes intentan por cualquier medio imponer sus productos, destruyendo los avances, corrompiendo los estándares, robando las ideas, destruyendo a los posibles competidores. Por todo esto, yo ya encontré una respuesta a la pregunta.
Copyright (c) 2003 Javier Smaldone
Se garantiza el permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, versión 1.2 (GNU Free Documentation License, Version 1.2) o cualquier otra versión posterior publicada por la Free Software Foundation; este documento se presenta sin Secciones Invariables (no Invariant Sections), sin Textos de Tapa (no Front-Cover Texts) y sin Textos de Contratapa (no Back-Cover Texts).
Una copia de la licencia puede obtenerse de http://www.gnu.org/copyleft/fdl.html