Si alguna vez os habéis preguntado por qué Microsoft llamó Windows Subsystem for Linux a la herramienta que permite ejecutar un entorno Linux dentro de Windows, y no al revés, la respuesta no es cuestión de gustos. Tiene mucho que ver con la arquitectura del núcleo NT y con una convención que la compañía aplica desde hace décadas.
En agosto de 2016, Microsoft presentó la herramienta bajo el nombre Bash on Ubuntu on Windows, integrada en la actualización Anniversary de Windows 10. Por entonces solo daba soporte a la distribución Ubuntu y a su shell Bash, así que el nombre describía con precisión lo que hacía. Como veremos, el cambio a Windows Subsystem for Linux llegaría poco después, cuando el proyecto creció hasta convertirse en algo mucho más ambicioso.
Cómo pasó de llamarse Bash on Ubuntu on Windows a WSL
La denominación cambió con Windows 10 versión 1709 (Fall Creators Update), publicada en octubre de 2017, cuando la herramienta salió de la fase beta. Ya no se limitaba a una distribución, los usuarios podían instalar varias versiones de Linux desde la Microsoft Store, así que el nombre original se había quedado corto y dejaba fuera a quienes preferían Debian, openSUSE o Kali en lugar de Ubuntu.
La tecnología detrás del proyecto tiene un antecedente que quizá no conozcáis: nació de las bases del no lanzado Project Astoria, pensado originalmente para ejecutar aplicaciones de Android en Windows 10 Mobile. Esa base técnica se reorientó hacia la compatibilidad con Linux y apareció primero como función experimental en la Windows 10 Insider Preview build 14316, antes de convertirse en la plataforma estable que usamos hoy día.
Durante esa primera etapa, el proyecto también recibía el nombre corto de Bash on Windows, una forma abreviada que circulaba entre los primeros usuarios mientras la herramienta seguía siendo experimental.
Qué significa subsistema en la arquitectura de Windows NT
El término no es una etiqueta comercial, sino un concepto de ingeniería propio del núcleo de Windows NT. Desde su diseño original, este núcleo no ejecuta las aplicaciones de forma directa, sino que delega esa tarea en componentes llamados subsistemas de entorno, cada uno especializado en un tipo de programa distinto y capaz de convivir con los demás sin mezclar sus reglas internas.
El subsistema Win32 es el que usamos en las aplicaciones nativas de Windows, pero a lo largo de los años han existido otros, como el antiguo subsistema POSIX, que más tarde evolucionó hacia Windows Services for UNIX. Esa misma lógica de nomenclatura explicaría por qué Microsoft eligió el nombre actual. WSL sería el subsistema que Windows incorpora para ejecutar Linux, igual que el subsistema Win32 existe para ejecutar programas de Windows.