|
Проект Darling, развивающий похожую на Wine прослойку для запуска macOS-приложений в Linux, утвердил возможность применения AI-инструментов в разработке. В состав Darling теперь официально разрешено принимать код, созданный через AI, но при выполнении определённых требований. Решение принято в условиях недостатка разработчиков и ресурсов у проекта, а также на фоне постоянного роста числа проприетарных фреймворков Apple (если в macOS 10.14 было 273 публичных и 878 приватных фреймворков, то в macOS 27 стало 464 и 2754 соответственно).
Предполагается, что новые правила предотвратят стагнацию разработки и фрагментацию сообщества, а также дадут возможность объединить усилия с разработчиками форков, активно использующих AI. Подобные форки продвинулись вперёд и демонстрируют высокую скорость разработки, например, форк darling-lol достиг запуска macOS сборки игры League of Legends, а VibeDarling добился успеха в поддержке архитектуры ARM64 и выполнении многих оригинальных приложения macOS.
В ближайшие два месяца в основной состав Darling намерены интегрировать наработки из внешних форков, используя для слияния изменений AI-инструменты. Также планируется реализовать официальную поддержку архитектур i386, x86-64 и ARM64 (aarch64) и заняться предоставлением возможности запуска ARM64-сборок приложений на системах x86-64, воспользовавшись рекомпилятором Dynarmic. В долгосрочные планы входит стабилизация слоя совместимости с AppKit и создание собственных графических утилит для управления окружением Darling (например, просмотрщика логов в стиле Console.app), которые также выступят в роли эталонных тестовых приложений.
Что касается приёма pull-запросов с кодом, подготовленным при помощи AI, то они будут приниматься только, если передавший изменение разработчик берёт на себя ответственность за каждую строку кода, способен объяснить изменения своими словами и не использует AI при общении с сопровождающими. Также вводятся строгие правила "чистой комнаты", допускающие повторную реализацию функциональности только на основе документации к API, заголовочных файлов, стандартов, RFC, общедоступных источников и анализа поведения, без использования проприетарного кода Apple, утечек информации и дизассемблирования для прямого воссоздания кода.
Проект Darling развивается с 2012 года и нацелен на предоставление возможности запуска в Linux приложений, собранных для macOS, без использования виртуализации. В состав входит загрузчик исполняемых файлов в формате Mach-O и работающее в пользовательском пространстве ядро darlingserver, реализующее Mach IPC, POSIX-интерфейсы и системные вызовы Darwin поверх Linux. Отдельно развиваются альтернативные реализации различных фреймворков Apple, таких как Foundation, AppKit, CoreAudio и CoreFoundation. Низкоуровневые компоненты, такие как XNU и libSystem, основаны на соответствующих открытых компонентах, опубликованных компанией Apple. Высокоуровневые компоненты реализуются при помощи существующих аналогов и имеющихся библиотек. Поддержка графического API Metal обеспечена через трансляцию в API Vulkan.
|