Linux: 25 años de un fracaso que ha cambiado la historia

Ilustración: Mayo Bous / Cachivache Media.

Ilustración: Mayo Bous / Cachivache Media.

Por: Alejandro Pérez Malagón

La probabilidad de que leas este artículo desde una PC que usa un sistema operativo llamado Windows es abrumadora. Quizás algún amigo friki haya tratado de convencerte de instalar Ubuntu o el informático de tu trabajo te haya explicado que un día van a migrar hacia NOVA, posibilidades ambas que congelan la sangre en tus venas.

Windows es el sistema operativo predominante en el mundo de las computadoras personales. OS X de Apple tiene una cuota de mercado nada despreciable entre los creativos y los fanboys pero no es comparable. Linux, por su parte, se ha mantenido exclusivamente en el pequeño mundillo de los savants de la informática y la computación, poco menos del 2% de los usuarios globales. Estos números pueden hacer creer al lector promedio que Linux ha fracasado como producto informático para la PC.

Cuando Linus Torvald programó el kernel de Linux allá en 1991 su objetivo era la computadora personal, en específico el procesador Intel 80386. En ese momento el mercado de las PCs estaba en expansión y MSDOS era el sistema operativo dominante. Pero era comercial. También lo era UNIX, que tenía una larga historia y había comenzado, por mandato de un juez, con una licencia más permisiva.

Era una época de batallas filosóficas en la industria del software. Por un lado, los piratas de Silicon Valley, con Bill Gates a la cabeza, defendían el software propietario, cerrado y caro. En el bando contrario, los hippies de GNU y la Free Software Fundation guiados por Richard Stallman defendían a ultranza los valores del software abierto y libre.

Bill Gates se comía la vista escribiendo cartas abiertas donde defendía que las líneas de código tenían que ser un secreto comercial, como la fórmula de la Coca Cola. Los programas llegarían a los usuarios de forma que sus algoritmos fueran inmodificables e inentendibles. De esta manera la compañía garantizaba un pago por el esfuerzo de sus programadores y estos a su vez un plato de comida en sus mesas.

El barbudo de Stallman se oponía a esta visión, explicando a quien quisiera oírlo que el software tenía que llegar a sus usuarios completo, sin ningún intento de ofuscación. Estos tienen derecho a modificarlo a su antojo cuando necesitaran adaptarlo a sus necesidades y deben compartir sus modificaciones con el resto de la comunidad. ¡Comunismo!, gritaron algunos. Pero la Free Software Foundation (FSF) se empecinó y comenzó el esfuerzo cuesta arriba de desarrollar un sistema operativo abierto y libre, sin esperanzas de remuneración: GNU.

Algunos años y cientos de miles de líneas de código después, Stallman y compañía habían desarrollado componentes fundamentales. Aún faltaban cosas esenciales, lo que le daba la razón en cierta medida a Gates. Por eso el CEO de Microsoft salía tan sonriente en las fotos de aquella época. En específico la gente de GNU aún necesitaba programar el dichoso kernel y muchos drivers. Por cierto, un driver apuesto que sí, pero… ¿alguien sabe lo que es un kernel?

El kernel, o núcleo de un sistema operativo, es como la oficina de presupuestos de una compañía: se encarga de planificar y efectuar la repartición de los recursos. En este caso, tiempo de uso del hardware de la computadora entre los programas que se están ejecutando. Una de sus funciones esenciales es asignar tiempo de ejecución en el procesador a cada uno de los procesos activos.

Si abres el administrador de tareas de tu sistema operativo podrás ver una lista de procesos (tareas, aplicaciones, servicios). Esta lista normalmente es larga y todos estos programitas compiten por el tiempo de uso del procesador. El kernel se encarga de “prestarle” durante un rato el procesador a cada uno de esos procesos, para que estos realicen los algoritmos que requieren. También arbitra el acceso al disco duro, la interfaz de red y muchos otros recursos de la computadora. Es un componente esencial de cualquier sistema operativo.

El desarrollo de Hurd, el kernel de GNU, había colapsado en 1990 por falta de un acuerdo entre sus programadores. Linus Torvald, un estudiante de la universidad de Helsinki, decidió programar su propio núcleo y fue exitoso donde otros habían fallado. Con la aparición del componente que faltaba, GNU se convirtió en un sistema operativo completo y oportunistamente tomó el nombre Linux, cosa que a Stallman no le cayó nada bien. Probablemente a ti tampoco te hubiera resultado simpático que un recién llegado le pusiera su nombre al proyecto tuyo de años, pero hay que reconocer que Linux es mucho más cool que GNU o GNU/Linux.

Los entusiastas del software libre comenzaron a hacer sus propios empaquetados de este sistema operativo, agregándole programas útiles y personalizando su apariencia. Aparecieron las distribuciones: Slackware, Red Hat, Debian, Gentoo y Ubuntu comenzaron su larga y poco fructífera carrera hacia el dominio del mercado de la computadora personal. Los números de adopción en este segmento se han mantenido bajos y estables al menos durante los últimos cinco años, apenas una piedrecita en el zapato de Windows. Pero…

Lo que Microsoft no quiere que sepas es que probablemente haya cerca de 100 computadoras corriendo Linux por cada una que usa Windows. Linux ha fallado en convencer a los usuarios de laptops y desktops, pero en otros ambientes su preponderancia es indiscutible.

Porque también es bastante probable que estés leyendo este artículo desde un smartphone o un tablet con el sistema operativo Android. Al igual que Ubuntu, Fedora o NOVA, Android no es más que otro nombre para Linux. Y un smartphone es igualmente una computadora, por lo que el sistema operativo libre es el que más base de usuarios tiene. Supera a Windows, OS X e iOS, incluso cuando incluimos en la cuenta las PCs.

Linux es el gran triunfador no solo en el mercado de los teléfonos inteligentes, tablets y wearables, que comparte con el precioso y caro iOS. También es el sistema operativo que potencia una inmensa cantidad de “computadoras invisibles”. Es muy probable que tu cajita de televisión digital, muchos televisores inteligentes, y los sofisticados refrigeradores que se conectan a internet para pedirte la compra, estén ejecutando las líneas de código de este sistema operativo.

La inmensa mayoría de la infraestructura tecnológica de las redes (servidores, routers, puntos de acceso wifi) está basada en Linux. Los cohetes de SpaceX y las 250 supercomputadoras más poderosas del mundo lo también lo usan. Actualmente Linux compite activamente con ROS por convertirse en el sistema operativo de elección para organizar el cerebro de los robots.

El triunfo de Linux en estos segmentos de mercado se debe a su naturaleza abierta y a la gran cantidad de seguidores que ha logrado incorporar a sus filas. Su diseño como sistema operativo se ha ido refinando y purificando a un ritmo que la competencia no ha podido seguir. La posibilidad de que miles de especialistas supervisen su código ha hecho que se empleen muy buenas técnicas de programación para su desarrollo. Esto lo hace eficiente en las computadoras menos poderosas que las PC, que normalmente usan arquitecturas de procesadores diferentes.

Al estar disponible su código para cualquier interesado, muchas empresas y programadores han decidido reescribir las partes del sistema operativo que lo hacen incompatible con arquitecturas de procesadores diferentes a las de Intel. A este proceso se le conoce como porting. La versión original de Linux se escribió para el 80386, pero desde entonces ha sido modificado para que funcione espectacularmente bien sobre arquitecturas como ARM, PowerPC, MIPS, Motorola Coldfire y Hitachi H8. La cantidad de procesadores existentes mundialmente de estas arquitecturas sobrepasa en órdenes de magnitud a los de Intel.

La estrategia de Microsoft de cerrar el código de Windows ha hecho recaer en los hombros de sus programadores cualquier intento de portar este sistema operativo a otras arquitecturas. Hasta ahora variantes reducidas de este, incompatibles con su rama principal, se han desarrollado para ARM, pero no han logrado imponerse en el mercado debido a que no evolucionan a la velocidad de Linux. Microsoft parece admitir este problema y se ha lanzado a cubrir la brecha con su Windows 10 IoT, pero todavía a años luz de lo que ofrecen las distribuciones de Linux.

La principal amenaza para el dominio sobre la PC de Microsoft e Intel, la conocida alianza Wintel, viene del campo de la convergencia tecnológica. Estas empresas se han apropiado de la PC de altas prestaciones, mientras que Linux y ARM dominan abrumadoramente el campo de los dispositivos móviles y con menos potencia de cómputo. Pero este reparto de poderes no será eterno.

El éxito cada vez más creciente de las empresas que se dedican a la producción de handhelds hace que ambicionen tomar por asalto el mundo de las PCs. Ya aparecen tablets que se convierten a laptops, y teléfonos que se conectan a un televisor y un teclado y se convierten en una computadora.

Microsoft se apura por no quedarse fuera de este mercado. La desventaja que tiene que enfrentar es doble, ya que tanto los procesadores Intel como el sistema operativo Windows son mucho menos eficientes en el consumo de potencia que sus contrapartes. Poco a poco la ingente cantidad de aplicaciones que se desarrollan para Android va eliminando la inconveniencia fundamental de Linux, que es la escasez de software de calidad.

Actualmente el paradigma del software libre y abierto ha demostrado su poder, gracias en gran medida a la existencia de este sistema operativo. Lo que muchos creían insostenible, infantil o utópico es hoy exitoso. A la larga, la estrategia de Stallman y Torvald ha demostrado su viabilidad. Todavía hay grandes esperanzas de que ese fracaso llamado Linux, después de un largo y tortuoso camino, llegue a desafiar a Windows por el dominio del mundo de los ordenadores personales.

Fuente: Cachivache Media

Comparte esta información...
Share on FacebookEmail this to someonePin on PinterestDigg thisPrint this pageTweet about this on Twitter

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *