Un mes después de la compra por Qualcomm, el compilador de Mojo se abre

El 18 de agosto, Modular subió a GitHub el código fuente del compilador y la cadena de herramientas de Mojo, fusionándolo con el repositorio principal modular/modular, bajo licencia Apache 2.0 con cláusula de excepción de LLVM. En el mismo lote se liberaron varios cientos de miles de líneas de código de kernels de GPU escritas en Mojo. Antes solo la biblioteca estándar era abierta —recibiendo contribuciones externas desde 2024—, mientras el compilador permanecía bajo llave dentro de la empresa.

El momento elegido es sutil. Mojo 1.0 se acababa de lanzar el 11 de agosto, y el atractivo principal de esa versión era el compromiso de estabilidad del código fuente: sintaxis y sistema de tipos ya fijados, con diagnósticos disponibles para referencias inválidas. Una semana después llega la apertura del compilador, completando las dos piezas del mensaje de que “este lenguaje merece una inversión a largo plazo”.

Una promesa cumplida, pero por otras manos

Cuando Mojo se presentó por primera vez en mayo de 2023, la hoja de ruta que dio Chris Lattner ya incluía el código abierto, solo que sin fecha límite. En el camino hubo un cambio de rumbo: al principio Mojo se posicionaba como un superconjunto de Python, apostando por la compatibilidad con código existente para ganar usuarios; en agosto de 2025 la empresa cambió el discurso y dijo que Mojo no necesariamente llegaría a ser un superconjunto completo de Python, y que si no lo lograba tampoco pasaba nada. El posicionamiento pasó de “Python más rápido” a “lenguaje de sistemas pensado para GPU”, y la ruta de migración pasó a apoyarse en reescritura asistida por IA en lugar de compatibilidad sintáctica.

Quien terminó de dar este paso hacia el código abierto fue precisamente la compradora. Qualcomm firmó el acuerdo definitivo con Modular el 21 de junio y cerró la operación el 29 de julio, por un valor de hasta 19,2 millones de acciones ordinarias de Qualcomm; los términos financieros no se hicieron públicos. Chris Lattner asumió como vicepresidente ejecutivo senior de Software y Plataforma de IA en Qualcomm Technologies, y las tres marcas —Mojo, MAX y Modular Cloud— se mantienen. La entrada del blog anunciando la apertura se publicó en modular.com, pero la decisión se tomó en San Diego.

El historial de Qualcomm en código abierto siempre ha sido visto como complicado, y el soporte de los drivers Snapdragon en el kernel de Linux ha sido objeto de quejas recurrentes de la comunidad. Que menos de un mes después de cerrar la adquisición se libere todo el compilador es un ritmo más rápido de lo que la mayoría esperaba.

Código abierto, pero el proceso de desarrollo todavía no

Hay un detalle que pasa fácilmente desapercibido: el código se puede leer, modificar y distribuir, pero por ahora no se aceptan parches externos. Modular deja claro en el anuncio que todavía no está lista para recibir contribuciones al compilador y las herramientas, con el objetivo de abrirlo antes de que termine el año. Es decir, este paso es la transición de licencia de source available a open source; la colaboración de la comunidad queda para la segunda mitad de esta historia.

La propia elección de la licencia ya transmite un mensaje. Apache 2.0 con excepción de LLVM es la combinación que usa el propio proyecto LLVM, cuyo efecto es que los binarios compilados no quedan “contagiados” por la licencia de las bibliotecas de tiempo de ejecución, de modo que productos comerciales de código cerrado pueden distribuirlos directamente. Para un lenguaje orientado a infraestructura de IA, esto es más determinante en la práctica que el simple hecho de abrir o no el código: que los fabricantes de chips y los proveedores de nube estén dispuestos a integrarlo en su propia cadena de herramientas depende, en primer lugar, exactamente de este punto.

La comparación con el trabajo anterior de Lattner lo deja más claro. Swift se lanzó en 2014 y se abrió en diciembre de 2015, con año y medio de por medio; Apple también liberó primero el código y estableció después la gobernanza. Rust siguió otro camino, creciendo desde el principio en un repositorio abierto. Mojo se sitúa ahora entre ambos extremos: tres años de código cerrado le compraron libertad para fijar la sintaxis, al precio de una comunidad que nunca terminó de despegar en tamaño.

Dónde funciona por ahora

Mojo es compatible con macOS y Linux, y el soporte para Windows todavía está en desarrollo. El hardware objetivo abarca CPU, GPU y distintos aceleradores de IA; el diseño del lenguaje toma prestado claramente el modelo de memoria de Rust, a la vez que conserva la interoperabilidad bidireccional con Python: desde Mojo se puede llamar a Python, y a la inversa también.

Este posicionamiento tiene sentido dentro del mapa estratégico de Qualcomm. La capacidad de cómputo en centros de datos y dispositivos de borde es cada vez más heterogénea, y cada fabricante de aceleradores mantiene su propia pila de software, con una duplicación de esfuerzo enorme. Lattner declaró públicamente al cerrarse la adquisición que la fusión acelerará el objetivo de Modular de ofrecer software de IA unificado para el hardware de todos los fabricantes. Qualcomm quiere usar productos como Dragonfly para avanzar en el mercado de centros de datos, y lo que le falta es precisamente esa capa intermedia que evite a los desarrolladores reescribir código cada vez que cambian de chip.

La prueba más dura llegará después de que se abran las contribuciones al compilador. La supervivencia de un lenguaje no se mide por las estrellas de su repositorio, sino por cuánta gente esté dispuesta a mantener bibliotecas de terceros para él. La biblioteca estándar de Mojo lleva dos años abierta y el volumen de contribuciones de la comunidad no es grande; la capa del compilador tiene una barrera de entrada más alta, y cuántos mantenedores externos consiga atraer para el hito de fin de año dirá más sobre el futuro del lenguaje que este anuncio de licencia.

Fuentes: blog oficial de Modular, comunicado a inversores de Qualcomm, CocoLoop, Phoronix; se verificaron la combinación de licencias, la contraprestación de 19,2 millones de acciones y el calendario de cierre de la adquisición.