GN⁺: Darling - 리눅스에서 macOS 소프트웨어를 실행하기
(darlinghq.org)- Darling은 리눅스에서 macOS 소프트웨어를 실행할 수 있는 변환 레이어
- 하드웨어 에뮬레이터를 사용하지 않고 macOS 소프트웨어를 직접 실행
- 완전한 Darwin 환경을 구현하며, Mach, dyld, launchd 등을 포함
- 사용자가 설정하는 데 드는 수고를 최소화하며, 좋아하는 소프트웨어를 쉽게 사용할 수 있도록 설계됨
- 리눅스 데스크톱 환경에 완전히 통합되어 네이티브 리눅스 앱처럼 보이고, 느껴지며, 동작하도록 앱을 실행하는 것을 목표로 함
- Darling은 무료이며 오픈소스 소프트웨어로, GNU GPL 라이선스 버전 3에 따라 배포됨
Darling과 유사한 프로젝트
- Darling은 Wine과 유사하며, Wine이 리눅스에서 윈도우 소프트웨어를 실행할 수 있게 해주는 것처럼, Darling은 macOS 소프트웨어를 실행할 수 있게 해줌
- Anbox와 같은 다른 유사 프로젝트는 안드로이드 앱을 위한 것임
Darling의 기능과 법적 측면
- Darling은 기본적인 실험적 지원을 통해 간단한 그래픽 애플리케이션을 실행할 수 있음.
- Apple의 최종 사용자 라이선스 계약(EULA)을 위반하지 않으며, 완전히 자유 소프트웨어로 공개된 Darwin의 부분만을 직접 사용함.
Darling의 이름과 호환성
- Darling이라는 이름은 'Darwin'과 'Linux'의 조합임.
- Darwin은 macOS와 iOS가 기반으로 하는 핵심 운영 체제임.
Darling과 다른 오픈소스 프로젝트
- Darling은 Apple에 의해 공개된 원래 Darwin 소스 코드를 기반으로 하며, Cocoa 구현을 위해 The Cocotron을 사용하고 Apportable Foundation 및 GNUstep의 여러 부분을 활용함.
Darling의 미래 계획
- 장기적으로는 ARM 기기(대부분의 안드로이드 폰과 같은)에서 iOS 앱을 실행할 수 있도록 계획 중임.
- UIKit의 자체 구현을 작성하는 것이 주요 도전 과제임.
Darling 프로젝트 기여 방법
- Darling의 내부에 익숙해지기 위해 문서와 블로그를 읽는 것으로 시작하고, GitHub에서 프로젝트에 참여함.
- macOS나 iOS 개발 경험이 있으면 좋지만, 기여를 시작하는 데 필수적이지는 않음.
GN⁺의 의견
Darling 프로젝트는 리눅스 사용자들에게 macOS 애플리케이션을 사용할 수 있는 새로운 가능성을 제공함으로써 큰 관심을 끌고 있음. 이 프로젝트는 오픈소스 커뮤니티의 협력과 기술적 혁신을 통해 다양한 운영 체제 간의 호환성을 높이는 데 기여하고 있음. 특히, 사용자들이 리눅스 환경에서 macOS 앱을 네이티브 앱처럼 사용할 수 있도록 하는 것이 가장 중요한 점으로, 이는 소프트웨어 개발자와 최종 사용자 모두에게 매력적인 특징임.
Hacker News 의견
- Cocotron과 Apportable Foundation, 그리고 GNUstep의 여러 부분을 사용하여 Cocoa 구현의 기반으로 삼고 있음. Apportable에서 일했던 경험이 있어서 매우 좋은 추억으로 남아 있음. Apportable은 YCombinator 2011 프로그램의 일부였음.
- 최근 몇 주 동안 소프트웨어를 크로스 컴파일하기 위해 이 기술을 사용해봄. Clang은 작동하지만 많은 핵심 라이브러리가 누락되어 있음. 예를 들어, pkgbuild는 작동하지 않음. 심지어 시도해본 네이티브 Cocoa 앱들도 작동하지 않음. 그럼에도 불구하고, 이 기술은 많은 잠재력을 가지고 있으며, 개발자들이 더 많은 시간을 투자할 수 있기를 바람.
- 이 기술은 오직 x64 칩에서만 작동함. 아마도 인텔용으로 빌드된 macOS 바이너리만 실행 가능할 것으로 추정됨(즉, 애플 실리콘은 아님). 이에 대한 정보를 찾을 수 없음.
- 애플은 아마도 자사의 하드웨어나 macOS 없이 Final Cut Pro를 실행할 수 있게 되면 법률 팀을 보낼 것임.
- GUI 애플리케이션 지원은 아직 준비되지 않은 것 같음. 그렇다면, 실제로 MacOS의 어떤 커맨드라인 소프트웨어가 유용한가?
- Cocoa 등을 포팅하는 것은 Wine이 win32 API를 포팅하는 것만큼 크거나 더 큰 문제임.
- 현재는 CLI 도구들만 작동하지만, 리눅스에서 iMessage와 Notes를 실행할 수 있으면 좋겠음.
- Xcode를 실행할 수 있는지 궁금함. 리눅스에서 iOS 개발을 시도하고 있었고, 지금까지는 DockerOSX를 사용했지만, 이 방법이 훨씬 더 편리해 보임.
- 관련 링크: Darling 프로젝트의 진행 상황 보고서 및 이전 토론들에 대한 링크 제공.
- Logic을 이 기술에서 작동시키는 것은 곧 이루어지지 않을 것으로 예상하지만, 볼 수 있게 되면 좋겠음. Mac과 Logic 소프트웨어를 소유하고 있지만, 녹음을 위해 Air를 따로 들고 다니지 않고 단일 노트북으로 여행할 수 있으면 좋겠음.