15/10/2013, Víctor R. Ruiz | Firmas invitadas

Móvil y software libre: Cómo Bell Labs (o AT&T) creó el sistema del mundo

Móvil y software libre: Cómo Bell Labs (o AT&T) creó el sistema del mundo | Mobile World Capital

Imagen | opensource.com

En los años 60, la carrera espacial hacía volar nuestra imaginación hacia un futuro de viajes espaciales y maravillas tecnológicas. Martin Cooper, por entonces director de la división de sistemas de comunicación de Motorola, ha confesado que se inspiró en el comunicador personal de Star Trek para desarrollar un teléfono inalámbrico portátil. En 1973 hizo la primera llamada con un prototipo de teléfono móvil a un directivo de AT&T, la competencia, para anunciarles que lo había conseguido. «No les hizo mucha gracia», según Cooper.

Hoy en día Apple y Google dominan el mercado de sistemas operativos de telefonía móvil. En muy pocos años, estas empresas informáticas han conquistado posiciones privilegiadas, eclipsando la influencia de los fabricantes de terminales. Motorola Mobility ha acabado en manos de Google. Pero, ironías del destino, la industria informática le debe mucho a la de telefonía. Sin proponérselo, AT&T creó el sistema operativo que domina el mundo, desde móviles a superordenadores; el lenguaje de programación que ha sido referencia durante 40 años; y de paso, plantaron el germen del software libre.

Sombras de antepasados olvidados

A finales de los años 60, MIT, AT&T y General Electric estaban embarcados en el desarrollo de Multics, un sistema operativo multiusuario y multitarea, grandes innovaciones para la época. AT&T dedicó muchos recursos a Multics. Asignó al proyecto a los mejores investigadores de sus Laboratorios Bell, entre ellos, Ken Thompson y Dennis Ritchie. Como suele ocurrir en los proyectos ambiciosos, los retrasos se acumularon y finalmente la dirección de AT&T decidió abandonar. Esta decisión frustró a los investigadores de Bell Labs, quienes creían en la utilidad de los sistemas de “tiempo compartido” como Multics. Así que, a pesar de la decisión, idearon en papel un nuevo sistema similar a Multics.

Móvil y software libre: Cómo Bell Labs (o AT&T) creó el sistema del mundo | Mobile World Capital

Con tiempo ocioso tras la cancelación del proyecto, y mientras Buzz, Aldrin y Collins se preparaban para llegar a la Luna, Ken Thompson se dedicó a crear un juego de simulación llamado “Space Travel”. En él, el jugador controlaba una nave para viajar por el Sistema Solar y aterrizarla en los planetas y satélites. Thompson programó originalmente el juego en un ordenador GE­635, pero su uso era caro, unos 75 dólares por partida. Por fortuna para Thompson, Bell Labs disponía de un PDP­7 que apenas se utilizaba. Este equipo era un mini ordenador (para los estándares de la época: eran tan grande como una estantería) y poseía una buena pantalla. Thompson aprendió a programar el PDP­7 y adaptó el código de “Space Travel”. Con el conocimiento adquirido, durante el verano de 1969 creó un sistema operativo primitivo en el PDP­7, con los conceptos que había desarrollado con su equipo. En broma, se refirieron a este sistema como “Unics”, ya que inicialmente sólo soportaba a un sólo usuario (Thompson).

Durante 1970, “Unix” maduró y el PDP­7 se quedó pequeño. Thompson y su equipo decidieron buscar financiación para el proyecto, pero sabían que tras el fracaso de Multics AT&T se opondría al desarrollo de un nuevo sistema operativo. La necesidad agudiza el ingenio. El equipo formuló una petición para crear un procesador de textos, para lo cual necesitaban adquirir un PDP­11 ­y, como detalle anecdótico, desarrollar un sistema operativo. Sorprendentemente, la propuesta fue aceptada y recibieron financiación. Bell Labs compró un PDP­11 y durante 1970, Unix y el procesador de textos que programaron fue adoptado con entusiasmo por del departamento de patentes de Bell Labs.

Tanto “Space Travel” como Unix se programaron originalmente en lenguaje “ensamblador”. Este lenguaje requiere conocer detalles particulares del equipo, lo que obligaba a realizar costosas modificaciones cuando se pasaba de un equipo a otro, como fue el caso del GE­635 al PDP­7, y del PDP­7 al PDP­11. En 1971, Dennis Ritchie creó un nuevo lenguaje llamado “C” que usaron para reescribir Unix. Y este hecho cambió el rumbo de la industria. Unix era un sistema modular, comprensible, multiusuario, multitarea y, gracias al uso de “C”, fácilmente adaptable a otros ordenadores. En 1974, con el sistema ya maduro, Ken Thompson y su equipo publicó un artículo describiendo el sistema. No tardaron en recibir una avalancha de peticiones de copias de Unix.

Llegados a este punto de la historia, AT&T podría haberse convertido en predecesora de Microsoft, una rica empresa licenciataria de sistemas operativos para universidades y fabricantes de ordenadores. Sin embargo, debido a su posición de monopolio “de facto”, en 1956 AT&T suscribió un acuerdo con el gobierno estadounidense que le impedía vender productos que no estuvieran directamente relacionados con la telefonía. Al comienzo, como no podían vender copias de Unix, la compañía distribuyó el código fuente a quien lo solicitaba a cambio de sufragar los gastos de envío. Alrededor de Unix se formó rápidamente una comunidad de desarrolladores y usuarios, tanto del mundo académico como de la industria. A finales de los 70, Unix era ya un sistema muy popular y AT&T ofrecía licencias de Unix a universidades y empresas.

La historia de Unix se vuelve turbulenta durante los años 80. En 1983, un segundo juicio antimonopolio divide a AT&T en múltiples empresas (“Baby Bells”). Liberada del acuerdo de 1956, AT&T se lanza a comercializar Unix, hecho que va a poner en peligro el futuro del sistema. La compañía corta de raíz la distribución “no autorizada” del código fuente, so pena de acciones legales. El interés académico en Unix comienza a desvanecerse. Además, las empresas que comercializaban versiones de Unix se lanzan a competir entre sí, e incluyen características que las hacían incompatibles. No es accidental que ese mismo año, un investigador del MIT llamado Richard Stallman pusiera en marcha el proyecto GNU (“GNU’s Not Unix”) y la licencia GPL, para crear un sistema de tipo Unix que asegurara que los usuarios siempre tendrían acceso al código fuente.

Con AT&T y Sun Microsystems intentando “desfragmentar” el ecosistema Unix, en 1991 un estudiante finlandés repite la historia de Ken Thompson. Linus Torvalds publica en Internet el código de un incipiente sistema operativo tipo Unix, que escribe en su tiempo libre en un pequeño PC. Utiliza las herramientas de GNU y la licencia GPL. Había nacido Linux. Y el resto, también es historia.

La herencia de Unix continúa más viva que nunca 40 años después. Si echamos mano de nuestro móvil, casi con toda seguridad estamos disfrutando de las ideas cocinadas en los Laboratorios Bell. Tanto Android como iOS poseen sistemas operativos tipo Unix. Sus encarnaciones viven también en tabletas, servidores, enrutadores y dispositivos empotrados. Más allá de Unix, prácticamente todos los lenguajes de programación utilizados hoy en día están escritos en “C”, son compatibles con “C”, o bien están directamente inspirados por “C”, al igual que el resto de sistemas operativos populares. Tal es la influencia de un proyecto que surgió casualmente de los Laboratorios Bell.

El dilema del innovador

Pero algunas de las lecciones importantes que Ken Thompson y los suyos aprendieron con Unix suelen ser olvidadas, con grandes costes. En 1997, Eric S. Raymond publicó un ensayo seminal sobre las diferencias entre el modelo abierto y cerrado de desarrollo. Titulado “La catedral y el bazar” enfrentaba dos paradigmas. La catedral es una metáfora de una organización cerrada y jerarquizada. En las catedrales, los objetivos se planifican y se desarrollan controladamente. El bazar (o mercadillo) es una metáfora de organizaciones abiertas, horizontales, sin objetivos definidos y con desarrollo caótico. Raymond sostenía que el desarrollo en “bazar” ofrecía mejores resultados que el desarrollo en modo “catedral”.

Móvil y software libre: Cómo Bell Labs (o AT&T) creó el sistema del mundo | Mobile World Capital

Esto es justamente lo que había ocurrido con “Multics”. El MIT, AT&T y General Electric se habían propuesto hacer un sistema operativo muy ambicioso, pero cuando AT&T comprobó que el proyecto se retrasaba y no daba los frutos esperados, decidió retirarse. La aproximación al desarrollo de “Unix” fue muy diferente. Lo comenzó Thompson como reto personal, en un mini ordenador en desuso. La arquitectura era simple, sencilla y escalable. Al compartir el código, otras muchas personas pudieron usarlo, comprenderlo y adaptarlo a sus necesidades particulares, contribuyendo a su expansión. El desarrollo de “Multics” era de tipo catedral, mientras que originalmente “Unix” tuvo un desarrollo de tipo “bazar”. En los 90, AT&T cometió un enorme error estratégico cuando quiso comercializar Unix directamente. Pasó del modelo de bazar al modelo de catedral. Reventó las aportaciones académicas y fragmentó el ecosistema, disipando su interés tanto para las universidades como para los desarrolladores.

Las compañías de telecomunicaciones, que hasta fechas recientes han disfrutado de monopolios, han funcionado tradicionalmente como catedrales. A comienzos de los años 2000, eran las operadoras y los fabricantes de terminales quienes decidían qué características debían soportar los teléfonos móviles, en función exclusiva de sus modelos de negocios. A pesar de la creciente potencia de los terminales, los teléfonos eran sistemas cerrados, complejos de programar. El desarrollo de programas era un proceso burocrático, que implicaba casarse con el fabricante del terminal para obtener las herramientas de programación y con el operador teléfonico para la distribución.

Entonces llegó el iPhone. Aunque el iPhone tiene un núcleo de tipo Unix, el desarrollo del sistema es de tipo catedral. Sin embargo, Apple lanzó un kit de herramientas para programar aplicaciones y una tienda, la App Store. Esto supuso el desembarco efectivo de la industria del software en la telefonía móvil. El móvil ya no es sólo un dispositivo de telefonía, es un ordenador personal de propósito general. La App Store no tardó en llenarse de aplicaciones creadas por empresas prestigiosas, pero también por personas con ideas innovadoras.

Había que mover ficha y en 2007, pocos meses después de la presentación del iPhone, Google anunció la disponibilidad de Android, su sistema operativo libre para móviles. En 2008, Nokia anunció la liberación de Symbian como software libre y rescató de la marginalidad sus proyectos con Linux. Para Symbian fue demasiado tarde. Pero a Google, la jugada de Android le salió muy bien. Actualmente, posee el 75% de la cuota de mercado con terminales fabricados por Samsung, HTC, Sony, LG y otros. Y la Play Store de Android posee casi un millón de aplicaciones en su tienda.

A pesar de que Android es teóricamente software libre, su modelo de desarrollo no es un bazar. Google tiene ante sí varios de los dilemas de la historia de Unix. Por un lado, está intentando atajar la fragmentación del ecosistema, que aumenta los costes de desarrollo. Por otro, la adquisición de Motorola por parte de Google ha levantado la suspicacias de los fabricantes: los convierte en competidores directos, como ocurrió cuando AT&T decidió a comercializar Unix.

Las operadoras de telefonía también recelan hoy en día de la concentración de poder de Apple y Google, y desearían ver otros contrincantes en liza. En tiempos recientes han surgido iniciativas basadas en software libre que tratan de hacerse un hueco. Descendientes del sistema MeeGo de Nokia e Intel están Sailfish OS y Tizen. MeeGo fue un sistema para teléfonos inteligentes de Nokia, que recibió cierto empuje hasta que Stephen Elop ató el futuro de Nokia a Windows Phone. Jolla es una empresa formada por ex­empleados de Nokia, y desarrollan Sailfish OS, un sistema basado en Maemo, Linux de Nokia. Tizen también es descendiente de MeeGo, y cuenta con el apoyo de Intel y Samsung. Algunas operadoras de telefonía, como Telefónica, están apoyando el desarrollo de Firefox OS, un sistema para móviles basado en Linux, y con una apuesta por las tecnologías HTML. Y finalmente, en Canonical estamos apostando fuertemente el desarrollo de Ubuntu Touch.

Todas estas iniciativas están basadas en Linux y en el software libre. Ahora parece obvio que cualquier plataforma que pretenda hacerse un hueco en el mercado tiene que contar con un rico ecosistema. En Ubuntu Touch estamos involucrando a la amplia comunidad de usuarios de Ubuntu en esta apuesta.

El móvil inteligente es uno de los aparatos más prodigiosos que jamás se hayan inventado. Con razón, va perdiendo su nombre original de “teléfono” y va quedando el apellido “móvil”. El móvil es un pequeño, pero potente, ordenador en miniatura dotado de múltiples sensores. Y gracias a su conexión a lnternet, es capaz de extender al infinito su memoria. Los móviles son verdaderos ordenadores /personales/, y están cumpliendo la vieja promesa de acercar la computación a la mayor parte de la población. A cambio, los usuarios nos enfrentamos a una desaparición progresiva de nuestra privacidad, cuestión que como sociedad aún no hemos tratado a fondo.

Aún así, comparados con los PCs, los móviles son dispositivos limitados. Los programas de una plataforma no se ejecutan en otra, es difícil instalar otros sistemas operativos, modificarlos, y algunos de los programas clave son cerrados. Pero, como hemos visto, las iniciativas personales a veces son capaces de eclipsar los planes más ambiciosos y revolucionar una, o varias industrias.

Víctor R. Ruiz (@vrruiz) es Ingeniero de Calidad en Canonical Ltd, especializado en tecnologías HTML5 para Ubuntu Touch. Anteriormente desarrolló aplicaciones iOS, entre otros, para el European Southern Observatory. Desde 2000 es editor de Barrapunto, sitio de referencia de la comunidad de software libre hispana.

Deja tu comentario

Otros artículos