Le projet Darling, qui développe une couche similaire à Wine pour exécuter des applications macOS sous Linux, a approuvé l'utilisation d'outils d'IA dans le développement. Il est désormais officiellement permis d'intégrer du code créé par l'IA dans Darling, à condition de respecter certains critères. Cette décision a été prise face à un manque de développeurs et de ressources pour le projet, ainsi qu'en raison de l'augmentation constante du nombre de frameworks propriétaires d'Apple (si macOS 10.14 comptait 273 frameworks publics et 878 frameworks privés, macOS 27 en compte 464 et 2754 respectivement).
On suppose que les nouvelles règles empêcheront la stagnation du développement et la fragmentation de la communauté, et permettront également de collaborer avec les développeurs de forks qui utilisent activement l'IA. Ces forks ont progressé et montrent une grande rapidité de développement ; par exemple, le fork darling-lol a réussi à lancer une version de League of Legends pour macOS, tandis que VibeDarling a réussi à supporter l'architecture ARM64 et à exécuter de nombreuses applications macOS d'origine.
Au cours des deux prochains mois, l'équipe principale de Darling prévoit d'intégrer des développements provenant de forks externes, en utilisant des outils d'IA pour fusionner les modifications. Il est également prévu d'implémenter le support officiel des architectures i386, x86-64 et ARM64 (aarch64), et de permettre l'exécution des versions ARM64 d'applications sur des systèmes x86-64 en utilisant le recompilateur Dynarmic. À long terme, l'objectif est de stabiliser la couche de compatibilité avec AppKit et de créer des outils graphiques propres pour gérer l'environnement Darling (par exemple, un visualiseur de logs à la manière de Console.app), qui serviront également d'applications de test de référence.
Concernant l'acceptation des pull requests contenant du code préparé avec l'aide de l'IA, elles ne seront acceptées que si le développeur ayant soumis la modification assume la responsabilité de chaque ligne de code, est capable d'expliquer les changements avec ses propres mots et ne utilise pas l'IA lorsqu'il communique avec les mainteneurs. Des règles strictes de « salle blanche » sont également mises en place, autorisant la réimplémentation de la fonctionnalité uniquement sur la base de la documentation API, des fichiers d'en-tête, des normes, des RFC, des sources publiques et de l'analyse du comportement, sans utiliser de code propriétaire d'Apple, de fuites d'informations ni de désassemblage pour reproduire le code directement.
Le projet Darling est en développement depuis 2012 et vise à offrir la possibilité d'exécuter des applications Linux, compilées pour macOS, sans utiliser de virtualisation. Il comprend un chargeur de fichiers exécutables au format Mach-O et un noyau darlingserver fonctionnant en espace utilisateur, implémentant Mach IPC, des interfaces POSIX et des appels système Darwin sur Linux. Des réalisations alternatives des différents frameworks Apple, tels que Foundation, AppKit, CoreAudio et CoreFoundation, sont développées séparément. Les composants de bas niveau, tels que XNU et libSystem, sont basés sur les composants ouverts correspondants publiés par Apple. Les composants de haut niveau sont réalisés à l'aide d'analogues existants et de bibliothèques disponibles. Le support de l'API graphique Metal est assuré par une traduction vers l'API Vulkan.
Source : opennet.ru
