TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 34 READS

리눅스에서 macOS 앱을 돌리는 번역 계층, Darling이란 무엇인가

리눅스 환경에서 macOS용 소프트웨어를 실행하고 싶다는 요구는 오래된 숙제다. 가장 확실한 방법은 하드웨어를 에뮬레이션하거나 가상머신 위에 macOS를 통째로 올리는 것이지만, 이 방식은 무겁고 라이선스 문제도 따른다. Darling은 이와 다른 접근을 택한 오픈소스 프로젝트다. 하드웨어 에뮬레이터를 쓰지 않고 macOS 소프트웨어를 리눅스에서 직접 실행하도록 돕는 '번역 계층(translation layer)'을 표방한다. 프로젝트 이름 자체가 macOS와 iOS의 기반 운영체제인 'Darwin'과 'Linux'를 합친 것으로, 지향점을 그대로 드러낸다.

Wine의 macOS 판, 그리고 그 원리

Darling을 이해하는 가장 빠른 방법은 Wine과의 비교다. Wine이 리눅스에서 윈도우 소프트웨어를 실행하게 해주듯, Darling은 macOS 소프트웨어에 대해 같은 역할을 한다. 에뮬레이터가 CPU 명령어를 하나하나 흉내 내는 것과 달리, 번역 계층은 애플리케이션이 운영체제에 요청하는 시스템 호출과 API를 리눅스가 이해할 수 있는 형태로 옮겨준다. 그래서 이론적으로는 훨씬 가볍고 네이티브에 가까운 실행이 가능하다.

이를 위해 Darling은 완전한 Darwin 환경을 구현하는 것을 목표로 한다. 커널 수준의 메시징을 담당하는 Mach, 동적 링커인 dyld, 서비스 관리 데몬 launchd 등 macOS의 하부 구조를 이루는 핵심 구성요소들을 갖추고 있다. 단순히 몇 개의 라이브러리를 흉내 내는 수준이 아니라, macOS가 딛고 선 토대 자체를 리눅스 위에 재현하려는 시도다. 설치와 초기 설정 상당 부분을 프로젝트가 자동으로 처리하도록 만들어, 사용자가 복잡한 구성 없이 소프트웨어를 쓸 수 있게 하는 것도 목표에 포함된다.

애플 소스코드 위에 선 오픈소스

Darling이 법적·기술적으로 성립할 수 있는 근거는 애플이 공개한 자료에 있다. 이 프로젝트는 애플이 opensource.apple.com 등을 통해 배포한 원본 Darwin 소스코드에 상당 부분 기반을 두고 있으며, 여기서 자유 소프트웨어로 완전히 공개된 부분만을 직접 사용한다고 밝힌다. Cocoa 구현의 뼈대로는 The Cocotron을 활용하고, 여기에 Apportable의 Foundation과 GNUstep의 여러 조각을 함께 끌어다 쓴다. Darling 자체는 GitHub에서 공개적으로 개발되며 GNU GPL 버전 3 라이선스로 배포되는, 리눅스와 마찬가지로 무료이자 오픈소스 소프트웨어다.

실무자 입장에서 눈여겨볼 대목은 Darling이 리눅스 데스크톱과의 통합을 지향한다는 점이다. Darling 위에서 돌아가는 앱이 네이티브 리눅스 앱처럼 보이고, 느껴지고, 동작하도록 만드는 것을 목표로 삼는다. 또한 윈도우 사용자에게도 길이 열려 있는데, WSL 2 환경에서 Darling을 구동할 수 있으며 이에 관한 안내는 프로젝트 문서에 정리되어 있다.

기대와 한계를 함께 볼 것

다만 현실적인 기대 수준은 분명히 짚어둘 필요가 있다. 그래픽 애플리케이션 지원은 오랜 노력 끝에 이제서야 단순한 GUI 앱을 돌릴 수 있는 '기초적이고 실험적인' 단계에 도달했다고 스스로 설명한다. 즉 명령줄 도구나 비교적 단순한 프로그램이라면 몰라도, 복잡한 상용 macOS 앱이 곧바로 매�one끄럽게 돌아가리라 기대하기는 이르다. macOS 개발 도구나 스크립트를 리눅스에서 검증해야 하는 상황이라면 시도해볼 가치가 있지만, 프로덕션 워크플로에 바로 얹기에는 신중해야 한다는 뜻이다.

iOS 앱 지원은 더 먼 이야기다. 프로젝트는 장기적으로 대부분의 안드로이드 폰과 같은 ARM 기기에서 iOS 앱을 실행하는 그림을 그리고 있지만, 이를 위해서는 UIKit을 자체 구현해야 한다는 큰 과제가 남아 있다고 인정한다. 이는 곧 지금 당장 실현된 기능이 아니라 방향성에 가깝다. 관심 있는 개발자에게는 오히려 참여의 여지가 열려 있는 지점이기도 한데, 프로젝트는 macOS나 iOS 개발 경험이 있으면 좋지만 반드시 필요한 것은 아니라며, 문서와 블로그로 내부 구조를 익힌 뒤 GitHub에서 합류할 것을 권한다. 결국 Darling은 완성된 제품이라기보다, macOS 생태계를 리눅스로 열어젖히려는 진행형 실험으로 이해하는 편이 정확하다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.darlinghq.org/
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...