El proyecto Darling, que desarrolla una capa similar a Wine para ejecutar aplicaciones de macOS en Linux, ha aprobado el uso de herramientas de IA en su desarrollo. Ahora se permite oficialmente que Darling acepte código creado mediante IA, aunque bajo ciertos requisitos. Esta decisión se ha tomado debido a la escasez de desarrolladores y recursos en el proyecto, así como al constante aumento en la cantidad de marcos propietarios de Apple (de 273 marcos públicos y 878 privados en macOS 10.14, se ha pasado a 464 y 2754 en macOS 27, respectivamente).
Se espera que las nuevas reglas eviten la estancación del desarrollo y la fragmentación de la comunidad, así como que permitan unir esfuerzos con desarrolladores de forks que utilizan activamente la IA. Estos forks han avanzado rápidamente y muestran una alta velocidad de desarrollo; por ejemplo, el fork darling-lol logró ejecutar una construcción de macOS del juego League of Legends, mientras que VibeDarling tuvo éxito en el soporte de la arquitectura ARM64 y en ejecutar muchas aplicaciones originales de macOS.
En los próximos dos meses, el equipo principal de Darling tiene la intención de integrar avances de forks externos, utilizando herramientas de IA para combinar cambios. También se planea implementar soporte oficial para las arquitecturas i386, x86-64 y ARM64 (aarch64), así como proporcionar la posibilidad de ejecutar construcciones de aplicaciones ARM64 en sistemas x86-64, utilizando el recompilador Dynarmic. A largo plazo, se busca estabilizar la capa de compatibilidad con AppKit y crear utilidades gráficas propias para gestionar el entorno de Darling (por ejemplo, un visor de registros al estilo de Console.app), que también funcionarán como aplicaciones de prueba de referencia.
En cuanto a la aceptación de solicitudes de extracción con código preparado con herramientas de IA, se aceptarán solo si el desarrollador que aporta el cambio asume la responsabilidad por cada línea de código, es capaz de explicar los cambios con sus propias palabras y no utiliza IA al comunicarse con los mantenedores. También se implementarán estrictas reglas de "sala limpia", permitiendo la reimplementación de funcionalidades solo basándose en documentación de API, archivos de encabezado, estándares, RFC, fuentes públicas y análisis de comportamiento, sin utilizar código propietario de Apple, filtraciones de información ni desensamblaje para recrear directamente el código.
El proyecto Darling se desarrolla desde 2012 y tiene como objetivo proporcionar la posibilidad de ejecutar aplicaciones de Linux compiladas para macOS sin utilizar virtualización. Incluye un cargador de archivos ejecutables en formato Mach-O y un núcleo darlingserver que trabaja en espacio de usuario, implementando Mach IPC, interfaces POSIX y llamadas al sistema Darwin sobre Linux. Se desarrollan por separado implementaciones alternativas de varios marcos de Apple, como Foundation, AppKit, CoreAudio y CoreFoundation. Los componentes de bajo nivel, como XNU y libSystem, se basan en componentes abiertos relevantes publicados por Apple. Los componentes de alto nivel se implementan utilizando análogos existentes y bibliotecas disponibles. El soporte para la API gráfica Metal se logra a través de la traducción a la API Vulkan.
Fuente: opennet.ru
