2014년 3월 21일 금요일

Replicant: OS를 마음대로 바꿀 수 있는 자유

http://www.gnu.org/philosophy/android-and-users-freedom.html

Android는 리눅스 기반이지만 Free OS는 아니다. 이유는 간단한데 일단 OS의 전체가 공개되어 있지 못하다는 점이 가장 클 것이다. 그런데 안드로이드 OS의 공개 여부 이상 중요한 건 '사용자가 자신의 디바이스에 원하는 소프트웨어를 올릴 수 있는가' 이다. 자신이 안드로이드 기기를 사용하고 있다고 해도 그 OS를 고쳐서 스스로 안드로이드를 업데이트하는건 불가능하다. 왜냐하면 기본 기기상에 이미 오픈소스가 아닌 부분 (구글 기본 앱, 제조사 기본 앱, 통신사 기본 앱)이 있고 이를 마음대로 수정하는 건 불가능하고, 구글 앱이 없으면 AOSP처럼 반쪽짜리 OS가 된다. 실제 AOSP를 올려 보면 중 해킹된 구글앱을 설치하지 않고는 제대로 된 이용은 거의 불가능하다.

GNU에서 말하고자 하는 소프트웨어의 자유란 소프트웨어의 소스를 자유롭게 보고 고치고 빌드해서 써보고 그걸 다시 나누어야 한다는 것이고 그걸 지지하는 근간이 GPL이라 할 수 있을 것인데, 사실 라이센스가 GPL이든 BSD든 중요한게 아니라 자신의 기기에 올라간 소프트웨어의 소스를 구할 수 있고, 또 그걸 빌드할 수 있고, 또 다시 그걸 자신의 기기에 올릴 수 있어야 진정한 자유라 할 수 있다. 이 부분은 GPL과 직접 관계된 부분은 아닌 것으로 생각되지만 RMS의 입장은 그런 경우에만 진정한 자유 소프트웨어가 실현될 수 있다는 것이다. 이런게 되지 못하는 현상을 Tivolization 이라고 한다.

지금까지는 PC가 열린 기기였다. 누구나 OS를 만들어서 올릴 수 있었고 그래서 Linux 나 FreeBSD와 같은 오픈 소스 운영체제가 활발하게 개발될 수 있고 이용될 수 있었다. 그런데 그런 혁신 (PC라고 하면 컴팩이 IBM에서 분리된 386기반 PC를 만들어 냄으로서) 이 휴대기기에는 아직 없다. 왜냐하면 안드로이드 기기를 구매해도, 애플 기기를 구매하도 그 소스를 100% 구할 수도 없고 그걸 자신이 다시 빌드하기도 어렵고 빌드했다고 해도 그걸 기기에 다시 올릴 방법은 쉽지 않거나 아예 막혀 있는 경우도 있기 때문이다. Cyanogenmod 등에서 하는 방법이 있는데 그건 AOSP 기반의 커스텀 펌웨어이고 일반적으로 통용될 수 없다. 그 조차도 제대로 이용하려면 구글 앱 설치가 거의 기본이므로 커펌의 수준을 크게 벗어나기는 어려울 것이다.

GNU에서는 Replicant 라는 안드로이드 fork 가 있는데 바로 안드로이드의 GNU버전이다. 이용 가능한 디바이스는 제한적이지만 이런 움직임도 반드시 있어야 한다고 본다. 물론 이용자는 처음에 불편하겠지만 20년 전의 리눅스가 바로 이랬으니까.

모바일 OS는 많이 있는데 대형 벤더가 이런식의 움직임을 보이는 경우는 없는 것으로 보인다. 제조사 입장에서는 당연히 일정한 주도권을 놓고 싶지 않으므로 안드로이드든 타이젠이든 오픈 소스를 표방하는 것 처럼 보이지만 실상 중요한 부분이 빠져 있고 엄밀히 말하면 오픈 소스의 일부를 가져다 썼을 뿐이지 오픈 소스 OS는 아니다. 386 기반 PC의 자유도가 오픈소스의 혁신의 기초가 되었듯이 휴대 기기에서도 동일한 일이 일어날 거라 기대하고 싶다.
댓글 쓰기