오픈소스 주요자료

오픈소스 주요자료 상세
[월간지 24호, 국외자료]‘오픈 소스’ 스위프트와 관련하여 제기될 질문
  1. 작성일 :
  2. 2015.06.15
  3. 작성자 :
  4. 관리자
  5. 조회수 :
  6. 1857

3. ‘오픈 소스’ 스위프트와 관련하여 제기될 질문

 
애플은 스위프트 언어를 오픈 소스로 할 것이라 밝혔으나, 소프트웨어 자유와 관련된 문제는 여전히 남아있다.

세계개발자회의에서 스위프트(Swift)를 오픈 소스로 하겠다는 애플의 결정에 대해 일부는 (비록 나머지는 이를 ‘테이블 스테이크(table stakes)’으로 묘사했지만) 놀라움을 표했다.
프로그래밍 언어가 오픈 소스로 된다는 것은 어떤 의미일까? 이는 복잡하며, 오픈 소스가 제안된 핵심과 관련이 있다. 컴파일러가 오픈 소스일 수 있고, 전체 툴체인이 오픈 소스 일 수 있으며, 해당 프로그래밍 언어가 오픈 소스 통합개발환경(IDE)에 의해 지원될 수 있다. 이들 각각은 언어가 오픈 소스가 되기 위한 필요 요건이다.
다음에 따라올 질문은 독립적인 개발자가 해당 언어를 오픈 소스로 구현(implement)할 수 있는 지이다. 이는 본질적으로 복잡한 문제인데, 오라클이 자바의 오픈 소스 구현은 인정하지만, 구글이 발견한 자바의 대안은 인정하지 않는 점을 예로 들 수 있다. 라이선스 선택을 확인해 봐야만 우리는 애플이 재구현(reimplementation)을 허용하는지 혹은 오라클과 같이 혁신을 저해하는 특허와 저작권을 사용하게 될지 알게 된다.
답변이 필요한 실질적인 질문이 남아있는데, 이는 해당 프로그래밍 툴이 소프트웨어의 자유를 보장하는지 이다. 이는 문법, 툴체인, 혹은 독립적인 구현 가능성 그 이상을 포괄한 질문이다.
프로그래밍 언어는 소프트웨어 개발 키트(SDK)인 API와 라이브러리를 통합하는 역할을 한다. 프로그래밍 언어 자체는 많은 일을 하지 않는다. 여기선 플랫폼용 오픈소스 SDK의 가용성과 특히 소프트웨어 자유가 원칙적으로 적용된 실제로 사용하는 API가 중요하다.
스위프트는 애플의 폐쇄형 네트워크 서비스(walled garden)를 오브젝티브-C로 유지하는 것보다 안전하고 덜 부담되게 만들도록 설계되었다. 애플은 스위프트가 “OS X, iOS, 리눅스에 대해 포트를 기여할 목적”으로 만들어졌지만, 항상 동일하지는 않다고 밝혔다. ‘iOS’와 ‘OS X’는 컨버지(converge)를 목적으로 한 잘 알려진 기능의 세트를 의미한다. 그러나 리눅스는 GNOME나 KDE과 같은 일반 윈도 매니저가 있는 광범위한 시스템을 지칭하는 용어로 사용된다.
‘iOS’를 작성하는 데 있어서, 스위프트가 더 나은 타입과 메모리 안정성을 보장하지만, ‘iOS’와 ‘OS X’용 스위프트로 작성된 앱이 일반적인 ‘엔진’ 코드를 넘어선 다른 시스템에 쉽게 포트가 될 수 있을 것 같지는 않다. 엄격한 ‘MVC’ 방식을 가진 것들은 컨트롤러(Controller)용 스위프트와 쉽게 구동을 하겠지만, 휴대용 ‘View’ 코드를 지원하지는 않을 것으로 보인다.
애플의 스위프트 프로그래밍 언어가 ‘오픈 소소’가 될까? 비록 애플이 적절히 언급하기는 했지만(OSI 인증 퍼미시브 라이선스, 기여 및 그 외 여러 가지 수용), 툴체인에 대한 라이선스와 거버넌스를 확인할 때까지는 이를 실제로 알 수 없다.
프로그래밍 언어만으로 프로그램을 만들 수 없으며, 프로그래밍 언어가 활용하는 SDK가 가장 중요하다. 애플이 스위프트로 잘 구동하는 SDK를 발표했는데, 이는 (윈도는 말할 것도 없이) 안드로이드 또는 다른 리눅스 기반의 오픈 소스 플랫폼에서 매끄럽게 구동할 수 있으리라 여겨지지 않고 있다.
현재 개발자들을 가지고 테이블 스테이크를 지급하기 위해 스위프트의 오픈 소스화라는 립서비스를 제공하고 있는지는 모르나, 이는 애플의 폐쇄형 네트워크 서비스 외부의 사람들에게 소프트웨어의 자유를 확장하는 것과 관련해 크게 기대할만한 것은 아니다.

 
  1. 첨부파일
이전글, 다음글 리스트
이전글 [월간지 24호, 국외자료] 클라우드 및 컨테이너 개발자용 레드햇 소프트웨어 컬렉션 2 출시
다음글 [월간지 24호, 국외자료]샤오미 안드로이드 스마트폰용 윈도 10 모바일 출시

목록