Apple macOS 27 0 (Bild © PCMasters.de)
Das Projekt hat eine formelle Richtlinie für KI-gestützte Beiträge festgelegt, um sicherzustellen, dass die Integration von generiertem Code die Integrität der Software nicht beeinträchtigt. Nach diesen Regeln bleibt der menschliche Mitwirkende, der einen Pull-Request einreicht, vollständig für jede Codezeile verantwortlich, unabhängig davon, ob diese von einer KI generiert wurde. Die Betreuer verlangen, dass Mitwirkende die Logik des Codes in eigenen Worten erklären können, und alle technischen Anfragen müssen von Menschen und nicht von Bots beantwortet werden.
Um rechtliche und technische Standards einzuhalten, hält sich Darling an strenge „Clean-Room“-Implementierungsregeln:
- Vertragsimplementierung: Entwickler müssen dokumentierte Systemverträge implementieren, anstatt Hacks zu verwenden, die für bestimmte Anwendungen entwickelt wurden.
- Schichtung und Isolierung: Das Projekt respektiert die native Schichtung von macOS und verlangt, dass undokumentierte Systembesonderheiten isoliert und gekennzeichnet werden.
- Quellcode-Integrität: Die Verwendung von durchgesickerten Materialien oder eingeschränktem Apple-Quellcode, wie z. B. corecrypto, ist strengstens untersagt.
- Anti-Disassembly: Das Projekt verbietet die Verwendung von Disassembly zur Erstellung von passendem Code.
Der praktische Nutzen dieser KI-Integration wurde bereits unter Beweis gestellt, da KI-generierte Patches es ermöglicht haben, die macOS-Version von League of Legends unter Linux auszuführen. Derzeit arbeitet das Team daran, verschiedene KI-verbesserte Forks wieder in das Haupt-Upstream-Projekt zu integrieren.
ARM64-Support
Ein bedeutender technischer Meilenstein war die Einführung einer ersten Unterstützung für die ARM64-Architektur. Dieses Update ist von entscheidender Bedeutung, da Apple seine Hardware auf ARM64-basierte Chips umgestellt hat, was bedeutet, dass die meisten modernen macOS-Programme hauptsächlich oder ausschließlich für diese Architektur geschrieben sind. Ohne ARM64-Kompatibilität wäre das Projekt auf ältere Hardwarearchitekturen beschränkt, die nicht mehr im Mittelpunkt der macOS-Entwicklung stehen.
Die Entwicklung dieser Unterstützung wurde stark vom VibeDarling-Fork beeinflusst, der auf ARM64 aufbaute. Die kontinuierliche Nutzung von ARM64-Codepfaden innerhalb dieses Forks hat ein Maß an Stabilität gewährleistet, das das Team auch nach der Zusammenführung des Forks in die primäre Darling-Codebasis aufrechterhalten möchte.
Entwicklungsroadmap und Ziele
Das Projekt hat einen stufenweisen Ansatz für die kommenden Monate und langfristig skizziert.
Kurzfristige Ziele
Die unmittelbare Priorität liegt auf der Konsolidierung aller bestehenden Forks in das Hauptprojekt. Dieser Prozess wird durch eine agentengesteuerte Zusammenführungslogik verwaltet, die bereits autonom Fehler sowohl im Code der eingehenden Forks als auch in der bestehenden Darling-Codebasis identifiziert und behoben hat. Das Projekt beabsichtigt, drei Architekturen offiziell zu unterstützen: i386, x86-64 und ARM64 (aarch64). Darüber hinaus laufen experimentelle Arbeiten, um ARM64-Anwendungen mithilfe von Dynarmic auf x86-64-Hosts ausführen zu können, obwohl dies bislang ein spekulatives Ziel bleibt.
Langfristige Ziele
Langfristig konzentrieren sich die Bemühungen auf die Stabilisierung der AppKit-Unterstützung, um die visuelle Qualität der Benutzeroberflächen zu verbessern. Die Entwickler planen, bestimmte Anwendungen im Hinblick auf Kompatibilität zu prüfen, wobei Open-Source-Anwendungen Vorrang haben, da dies den KI-Agenten ermöglicht, die Systemanforderungen der Software besser zu verstehen. Darüber hinaus beabsichtigt das Projekt, native GUI-Anwendungen innerhalb von Darling zu entwickeln, darunter einen Protokoll-Viewer ähnlich wie Console.app und ein Konfigurationsprogramm. Diese Tools sollen sowohl als Verwaltungsprogramme für das System als auch als Praxistests für die AppKit-Implementierung des Projekts dienen.
Angesichts der Komplexität des Darling-Quellcodes empfiehlt das Projekt neuen Mitwirkenden, sich über Discord abzustimmen. Wer KI-Assistenten einsetzt, muss sich an die oben genannte KI-Richtlinie halten, die die persönliche Verantwortung für den gesamten eingereichten Code betont. Die finanzielle Unterstützung des Projekts wird über OpenCollective verwaltet, wobei die Mittel für Infrastruktur, Hosting und die Betriebskosten der LLM-Nutzung verwendet werden.
