Het Darling-project, dat een laag ontwikkelt vergelijkbaar met Wine voor het draaien van macOS-applicaties op Linux, heeft het gebruik van AI-tools in de ontwikkeling goedgekeurd. Het is nu officieel toegestaan om code die is gemaakt met behulp van AI in Darling op te nemen, mits aan bepaalde voorwaarden wordt voldaan. Deze beslissing is genomen vanwege een tekort aan ontwikkelaars en middelen voor het project, evenals de constante toename van het aantal propriëtaire frameworks van Apple (als er in macOS 10.14 273 publieke en 878 privé-frameworks waren, dan zijn dat er in macOS 27 respectievelijk 464 en 2754).
Men verwacht dat de nieuwe regels stagnatie in de ontwikkeling en fragmentatie van de gemeenschap zullen voorkomen, en dat ze de samenwerking met ontwikkelaars van forks die actief gebruikmaken van AI mogelijk maken. Dergelijke forks hebben vooruitgang geboekt en tonen een hoge ontwikkelsnelheid; bijvoorbeeld de fork darling-lol heeft macOS-assemblage voor het spel League of Legends kunnen opstarten, terwijl VibeDarling succesvol was in het ondersteunen van de ARM64-architectuur en het uitvoeren van veel originele macOS-applicaties.
In de komende twee maanden is het de bedoeling dat de hoofdversie van Darling bijdragen van externe forks integreert door AI-tools te gebruiken voor het samenvoegen van wijzigingen. Ook is het gepland om officiële ondersteuning voor de architecturen i386, x86-64 en ARM64 (aarch64) te realiseren en de mogelijkheid te bieden om ARM64-assemblages van applicaties op x86-64-systemen te draaien, gebruikmakend van de recompiler Dynarmic. Op lange termijn is het de bedoeling om de compatibiliteitslaag met AppKit te stabiliseren en eigen grafische tools voor het beheren van de Darling-omgeving te creëren (bijvoorbeeld een logviewer in de stijl van Console.app), die ook dienen als referentietestapplicaties.
Wat betreft het accepteren van pull-requests met code die is voorbereid met behulp van AI, zullen deze alleen worden geaccepteerd als de ontwikkelaar die de wijziging indient verantwoordelijk is voor elke regel code, in staat is de wijzigingen in eigen woorden uit te leggen en AI niet gebruikt bij de communicatie met de maintainers. Ook worden er strenge regels voor de 'clean room' ingevoerd, die alleen herimplementatie van functionaliteit op basis van API-documentatie, headerbestanden, normen, RFC's, openbare bronnen en gedragsanalyse toestaan, zonder gebruik te maken van propriëtaire Apple-code, informatielekken en disassemblage voor directe recreatie van de code.
Het Darling-project is gestart in 2012 en biedt de mogelijkheid om Linux-applicaties die voor macOS zijn gebouwd te draaien zonder virtualisatie. Het bevat een loader voor uitvoerbare bestanden in Mach-O-formaat en een in de gebruikersruimte werkende kernel, darlingserver, die Mach IPC, POSIX-interfaces en systeemaanroepen van Darwin bovenop Linux implementeert. Alternatieve uitvoeringen van verschillende Apple-frameworks, zoals Foundation, AppKit, CoreAudio en CoreFoundation, worden apart ontwikkeld. Laag-niveau componenten zoals XNU en libSystem zijn gebaseerd op de bijbehorende open componenten die door Apple zijn gepubliceerd. Hoog-niveau componenten worden gerealiseerd met behulp van bestaande alternatieven en beschikbare bibliotheken. Ondersteuning voor de grafische API Metal wordt geboden via omzetting naar de Vulkan API.
Bron: opennet.ru
