domingo, 4 de junio de 2017

Así es como la ingeniería inversa cambió la historia de la informática


IBM era el dueño y señor de los bits y los bytes a principios de los 80. En aquella época Apple, Microsoft y los fabricantes de aquellos legendarios ordenadores de 8 bits también despuntaban, pero todo daba igual: el gigante azul dominaba con mano firme la informática empresarial , y para muestra un botón: el PC no se llamaba PC. Se llamaba IBM PC

Los responsables de aquella empresa nos tenían a todos bien atados, y lo hacían con una técnica de lo más efectiva: aunque publicaron buena parte del código fuente del sistema operativo que gobernaba aquellos PCs antediluvianos, lo que no permitían replicar era el código de la BIOS, aquel sistema que les permitía ser los únicos en poder ofrecer sus PCs. Y entonces llegó Phoenix Technologies para cambiar el mundo -nuestro mundo- con una técnica mucho menos oscura de lo que podría parecer: la ingeniería inversa.

La habitación limpia


Bernard A. Galler contaba la historia de aquel hito hace años en 'Software and Intellectual Property Protection', un libro en el que relataba cómo en IBM estaban felices y comían perdices al controlar su ecosistema de una forma tan eficiente. Nadie les podía toser, pero además los desarrolladores sabían que había mucha pasta en ese segmento, así que aceptaban sin problemas los términos de IBM. ¿A alguien le suena la filosofía (cof, Apple, cof cof)?


En su libro Gallaer explicaba como algunos fabricantes trataron en ciertas ocasiones de comercializar PCs clónicos con copias de su BIOS, e IBM les paró los pies a base de demandas legales. Ahí es donde Phoenix Technologies aprovechó el concepto conocido como "habitación limpia" o 'clean room' (también conocida como "muralla china") para tratar de replicar aquel subsistema tan importante. 

Como explicaban en ComputerWorld años después, en Phoenix Technologies establecieron dos grupos de ingenieros muy distintos y completamente separados visualmente. El primer grupo de ingenieros estudió la BIOS de IBM, cuyo código ocupaba unos 8 KB, y describieron todo lo que ese subsistema iba haciendo sin hacer referencias al código como tal. Simplemente les indicaban a los miembros del segundo grupo de ingenieros cómo se comportaba la BIOS paso por paso.

¿El gran ganador? Microsoft


A partir de esas instrucciones funcionales, el segundo grupo tenía una misión igualmente crítica: tratar de replicar lo que hacía ese subsistema, pero programándolo desde cero y sin poder copiar ni una línea de código de la BIOS de IBM porque literalmente no habían tenido acceso directo a ella. 


El resultado fue increíble: lograron replicar perfectamente la BIOS de IBM -incluso con algunas coincidiencias no intencionadas en el código- y eso fue el detonante de que la industria pudiera acceder a una alternativa a aquel código tan restrictivo. El PC clónico había nacido, e IBM perdió el control del hardware. ¿Quién fue el gran triunfador de aquella historia? No fue IBM, desde luego, pero tampoco lo fue Phoenix Technologies. 

Fue Microsoft

La aparición de los PCs clónicos permitió que sus sistemas operativos -primero MS-DOS, luego Windows- acabaran por ser el estándar de facto para un segmento que creció como la espuma gracias a una solución de ingeniería inversa de la que pocos acabaron enterándose. 


Phoenix no fue la única en tener esa idea: en Compaq precisamente utilizaron aquel concepto de "habitación limpia" dos años antes y acabaron pudiendo crear el conocido como el primer "PC compatible con IBM al 100%, el Compaq Portable, que se convertiría en un éxito de ventas brutal, aunque Compaq también se guardó aquella BIOS para sus propios PCs y portátiles. AMI fue otra de las empresas que copiaron el modelo de Phoenix Technologies, y decenas (¿cientos?) de fabricantes acabaron licenciando aquellas BIOS para poder ofrecer sus equipos en todo el mundo.

El impacto también se dejó notar en otros ámbitos


Aquel logro sería muchos años después dramatizado en un episodio de la serie 'Halt and Catch Fire', ua producción de AMC que entre otras cosas recreaba la génesis de aquel modelo de negocio de PCs clónicos que puso fin al dominio absoluto de IBM (mencionada expresamente en la serie, aunque otros nombres fueran ficticios).



Como indican en la Wikipedia, IBM acabó reconociendo que no podía demandar a Phoenix Technologies por esa aproximación al problema, y aquello funcionó para un gran número de fabricantes que aprovecharon aquella opción. 

Otros no tuvieron tanta suerte, y fabricantes como Corona Data Systems, Eagle Computer y Handwell Corporation fueron demandados y obligados a pagar cuantiosas sumas por violar el copyright de la BIOS de IBM, una empresa que en al menos en ese caso se comportó efectivamente como un 'patent troll' más, sacando dinero de patentes que hacían muy difícil la libre competencia. 

En IBM de hecho siguieron sacando partido de aquel modelo, porque incluso años después, a principios de los 90, seguían cerrando acuerdos millonarios por el mismo tema: fabricantes como Panasonic y Kyocera habían replicado la BIOS sin esa aproximación de Phoenix Technologies, algo que les saldría muy caro a posteriori. Daba igual, por supuesto: el mundo ya había cambiado, y los ases en la manga ya no los tenía IBM, sino Microsoft. 

Pero claro, esa es... otra historia.



Saludos.

No hay comentarios :

Publicar un comentario