Connect with us
Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows

Apps

Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows

Published

on

Rosemary es un proyecto experimental publicado en GitHub por Microlift que combina un emulador de alto nivel de x86-64 con una capa de compatibilidad de macOS para ejecutar aplicaciones de este sistema en otras plataformas. El repositorio, con licencia GPL3 y más de 1,300 contribuciones, es una alternativa abierta al camino marcado por Rosetta 2 de Apple.

El ecosistema de software libre suele resolver problemas que las grandes empresas dejan cerrados. Esta vez le tocó a una de las fronteras más rígidas del mercado: las aplicaciones de macOS fuera de una Mac. Rosemary es la propuesta de Microlift para derribarla, y su repositorio en GitHub documenta un proyecto con una ambición considerable.

Vista previa social del repositorio de GitHub de Rosemary con el nombre del proyecto y su descripción de capa de compatibilidad para ejecutar aplicaciones de macOS

¿Qué es Rosemary y cómo funciona?

Rosemary ejecuta aplicaciones de macOS en sistemas distintos a macOS y en arquitecturas diferentes. El proyecto combina dos piezas estrechamente relacionadas: un emulador de alto nivel de x86-64 construido sobre el binario lifter y JIT de Microlift, y una capa de compatibilidad de macOS que reimplementa las APIs de Darwin y los frameworks de Apple en sistemas que no son macOS.

El punto interesante del diseño es que ambos mundos comparten la misma infraestructura: un único cargador de archivos Mach-O, un runtime, un puente de ABI y una implementación de frameworks. El runtime utiliza machish para cargar y enlazar imágenes Mach-O, mientras que sus crates de frameworks ofrecen implementaciones multiplataforma de APIs como Objective-C, Foundation, AppKit, CoreAudio e IOKit.

Advertisement

Lo cierto es que el proyecto no oculta su naturaleza: es experimental y la cobertura de aplicaciones sigue incompleta. Los propios desarrolladores lo describen como algo distinto a un reemplazo directo de Rosetta 2, lo cual resulta honesto en un ecosistema donde el marketing suele adelantarse a la realidad técnica.

¿Cuáles son sus dos modos de ejecución?

Rosemary cuenta con dos backends de ejecución que se seleccionan según la arquitectura del equipo:

  • Native: carga un segmento del binario que coincide con el procesador del equipo y lo ejecuta directamente, enlazándolo con las bibliotecas nativas o reimplementadas disponibles.
  • Emulated: recompila un segmento x86-64 a través de Microlift. En un equipo x86-64 se elige normalmente el modo nativo, porque recompilar el mismo conjunto de instrucciones no aporta beneficio.

El ejecutable detecta de forma automática si existe un segmento nativo compatible con el procesador y recurre al emulado cuando no lo hay. También es posible forzar cualquiera de los dos modos con los parámetros –native y –emulated.

Instalación y requisitos técnicos

Para uso no relacionado con el desarrollo, el equipo recomienda Butter, su aplicación de gestión que descarga automáticamente binarios precompilados de Rosemary desde los lanzamientos oficiales en GitHub y que incluso puede compilar nuevas versiones desde el código fuente.

Quien prefiera compilar por su cuenta necesita conocer las especificaciones del proyecto:

  • Rosemary usa la edición 2024 de Rust y requiere la versión 1.99 o superior del compilador.
  • SDL 3.4.0 es obligatorio para ejecutar aplicaciones con interfaz gráfica; versiones inferiores no cuentan con soporte.
  • Los repositorios de Microlift y Microlift Wasmtime son dependencias de Git, por lo que el entorno de compilación debe poder descargarlos.
  • Se recomiendan las compilaciones de tipo release para emulación, porque las versiones de depuración son considerablemente más lentas.

El proyecto compila en macOS, en varias distribuciones de Linux, incluidas Debian y Alpine, y en FreeBSD, aunque el soporte de FreeBSD es más reciente y podría no estar a la par del puerto de Linux. El soporte de musl es experimental. La compilación es directa en Debian con sudo apt-get install de las dependencias de SDL y compilación, seguida del comando cargo build –release.

Este enfoque multiplataforma recuerda a otras iniciativas que ya cubrimos en el sitio, como el catálogo de APIs de código abierto para asistentes de IA, donde la comunidad extiende las capacidades de herramientas locales.

Advertisement

¿En qué se diferencia de Rosetta 2?

La comparación con la tecnología de Apple es inevitable, y el propio README la aborda con transparencia. En binarios que hacen uso intensivo de Objective-C, Rosetta 2 supera a Rosemary, porque la capa de interoperabilidad o trampoline de Rosemary para Objective-C todavía conlleva sobrecarga.

Pero las diferencias estructurales son profundas y vale la pena señalarlas:

  • Rosemary usa un compilador con IR completo en lugar de traducción directa, lo que mejora la calidad del código a costa de un tiempo de conversión mayor.
  • No usa bibliotecas de sistema x86-64 como Rosetta 2: todo, desde libc hasta el runtime de Objective-C, OpenGL y libdispatch, se enlaza mediante el sistema de importación rápida de Microlift, lo que permite llamar directamente a funciones nativas de ARM del equipo anfitrión.
  • Aún no soporta recompilación AOT anticipada, aunque el equipo investiga cómo almacenar en caché los bloques recompilados sin perder eficiencia.

En rendimiento, Rosemary implementa Block Linking, una técnica propia de los emuladores de alto nivel que permite saltar entre bloques desconocidos directamente en el código recompilado mediante una tabla de saltos. También puede activar el análisis automático de flags de Microlift para optimizar los cálculos de desbordamiento, aunque está desactivado por defecto siguiendo la filosofía del proyecto: precisión primero, rendimiento después.

¿Por qué importa un proyecto como este?

Más allá del interés técnico, Rosemary representa una tendencia mayor: la comunidad de código abierto construyendo puentes entre ecosistemas que las empresas mantienen cerrados por estrategia comercial. Ejecutar software de macOS en Linux o en arquitecturas ARM sin pasar por Apple cambia las reglas para desarrolladores que quieren probar sus compilaciones en varios sistemas, igual que plataformas abiertas de agentes de IA ya lo hicieron en otro ámbito, como vimos al analizar cómo OpenCode 2.0 convirtió su agente en plataforma programable.

El proyecto mantiene un ritmo de desarrollo activo, con su confirmación más reciente del 24 de octubre de 2026, y acepta reportes de errores como parte natural de su maduración. Para desarrolladores interesados en la capa de compatibilidad, el enfoque de reimplementar APIs de Darwin en Rust multiplataforma ofrece además material de estudio valioso, un patrón que también aparece en análisis como el de cómo usar varios modelos de IA sin suscripciones extra.

Su licencia GPL3 y su apertura total al escrutinio permiten verificar cada afirmación del proyecto directamente en su código, algo imposible con las soluciones propietarias. Queda por ver hasta dónde llega la cobertura de aplicaciones, pero como experimento técnico, Rosemary ya demuestra que la frontera entre macOS y el resto de los sistemas es más porosa de lo que Apple imagina.

Advertisement

Lo más leído en Apps

  1. Claude Duet vs Hermes Agent la carrera del agente de IA proactivo
    Apps

    Claude Duet vs Hermes Agent la carrera del agente de IA proactivo

    · 5 min · 611 vistas

    Anthropic presentó Claude Duet, una app donde Claude actúa como agente proactivo que monitorea apps conectadas y trabaja…

  2. Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows
    Apps

    Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows

    · 5 min · 177 vistas

    Rosemary es un proyecto experimental publicado en GitHub por Microlift que combina un emulador de alto nivel de…

Apps

Claude Duet vs Hermes Agent la carrera del agente de IA proactivo

Published

on

Claude Duet vs Hermes Agent la carrera del agente de IA proactivo

Anthropic presentó Claude Duet, una app donde Claude actúa como agente proactivo que monitorea apps conectadas y trabaja en segundo plano. Frente a él, Hermes Agent de Nous Research ofrece la alternativa de código abierto para montar un sistema similar con control total.

(más…)

Lo más leído en Apps

  1. Claude Duet vs Hermes Agent la carrera del agente de IA proactivo
    Apps

    Claude Duet vs Hermes Agent la carrera del agente de IA proactivo

    · 5 min · 611 vistas

    Anthropic presentó Claude Duet, una app donde Claude actúa como agente proactivo que monitorea apps conectadas y trabaja…

  2. Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows
    Apps

    Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows

    · 5 min · 177 vistas

    Rosemary es un proyecto experimental publicado en GitHub por Microlift que combina un emulador de alto nivel de…

Continue Reading

Apps

Productividad en Windows con apps gratis que sustituyen hardware

Published

on

Productividad en Windows con apps gratis que sustituyen hardware

Un menú circular de accesos, una app de pantalla extendida y una app de webcam para smartphone elevan la productividad en Windows al reutilizar el hardware que ya se tiene: un ratón común, una tablet y un teléfono en lugar de periféricos costosos.

(más…)

Lo más leído en Apps

  1. Claude Duet vs Hermes Agent la carrera del agente de IA proactivo
    Apps

    Claude Duet vs Hermes Agent la carrera del agente de IA proactivo

    · 5 min · 611 vistas

    Anthropic presentó Claude Duet, una app donde Claude actúa como agente proactivo que monitorea apps conectadas y trabaja…

  2. Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows
    Apps

    Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows

    · 5 min · 177 vistas

    Rosemary es un proyecto experimental publicado en GitHub por Microlift que combina un emulador de alto nivel de…

Continue Reading

Apps

T1 lanza Uno, su inteligencia artificial, e incorpora punto de venta y facturación a su plataforma

Published

on

T1 lanza Uno, su inteligencia artificial, e incorpora punto de venta y facturación a su plataforma

(más…)

Lo más leído en Apps

  1. Claude Duet vs Hermes Agent la carrera del agente de IA proactivo
    Apps

    Claude Duet vs Hermes Agent la carrera del agente de IA proactivo

    · 5 min · 611 vistas

    Anthropic presentó Claude Duet, una app donde Claude actúa como agente proactivo que monitorea apps conectadas y trabaja…

  2. Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows
    Apps

    Rosemary el proyecto de código abierto que ejecuta apps de macOS en Linux y Windows

    · 5 min · 177 vistas

    Rosemary es un proyecto experimental publicado en GitHub por Microlift que combina un emulador de alto nivel de…

Continue Reading

Lo más reciente

Lo más popular

Subscribete a nuestro Podcast

Trending