Computer >> 컴퓨터 >  >> 시스템 >> Android

안드로이드는 정말 오픈소스일까? 그리고 왜 중요한가

리눅스 기반이라는 이유로 안드로이드 스마트폰을 선택하셨나요? 그렇다면 혼자가 아닙니다. 많은 오픈소스 데스크톱 사용자가 리눅스 기반 모바일 OS라는 매력에 끌려 안드로이드 폰을 처음 접하게 되었고, 지금 이 글을 읽는 분들 중 상당수도 그럴 겁니다.

안드로이드는 폭넓게 보급되었지만, 그 과정에서 일부 불편함도 함께 커졌습니다. 이는 리눅스 사용자가 주류에서 벗어나고 싶은 심리 때문만이 아니라, 제조사와 통신사, 그리고 구글까지 이 운영체제에 가한 변화가 더 큰 원인입니다.

냉정하게 말해, 매장에서 구매하는 어떤 안드로이드 폰이든 잠겨(lock down) 있고 상당량의 클로즈드 소스 코드 위에서 구동됩니다.

그 결과 오픈소스 가치를 중시하는 사람들은 우분투 터치(Ubuntu Touch)나 세일피시 OS(Sailfish OS)로 눈을 돌렸지만, 안타깝게도 지금까지 이 대안 프로젝트들은 모두 대중화에 실패했습니다.

이런 상황에서 안드로이드는 폰에서 리눅스를 쓰고 싶은 많은 이들에게 사실상 유일한 선택지로 남아 있습니다. 그렇다면 근본적인 질문을 던져볼 차례입니다. 안드로이드는 정말 오픈소스일까요?

안드로이드는 오픈소스인가? 기술적으로는 그렇다

안드로이드는 오픈소스 뿌리를 두고 있습니다. 2005년 안드로이드 인크(Android, Inc.)라는 회사로 출발해 2년 뒤 구글이 인수했고, 같은 해 구글과 여러 기업이 오픈 핸드셋 얼라이언스(Open Handset Alliance)를 결성하며 안드로이드가 그 핵심 기반이 되었습니다.

안드로이드는 리눅스 커널 기반이며, 그 복잡한 코드와 마찬가지로 대부분이 오픈소스입니다. 다만 특정 하드웨어와 호환되도록 일부 바이너리 블롭(binary blob)이 포함되어 있죠. AOSP(Android Open Source Project)라고 알려진 핵심 플랫폼은 누구나 자유롭게 가져다 쓸 수 있습니다.

원플러스, 삼성, 샤오미, 오포 등 수많은 제조사가 폰과 태블릿에 정확히 이렇게 활용하고 있습니다. 이들만 있는 것도 아닙니다.

아마존은 킨들에, LG는 스마트워치에, 엔비디아는 게임 콘솔에 안드로이드를 올렸습니다. 여러 기업은 스마트 TV에 이 OS를 탑재해 출시하고 있고, 카메라부터 냉장고까지 안드로이드가 돌아가는 기기는 무궁무진합니다. 취미로 안드로이드를 각종 기기에 올려 본 티커(tinkerer)들의 작품까지 세면 목록은 더 길어집니다.

iOS와 달리 안드로이드는 제품에 탑재할 때 누구에게 돈을 낼 필요가 없습니다. 코드가 공개되어 있으니 실험하고 입맛대로 수정할 자유도 있습니다.

그런데 왜 안드로이드는 오픈소스처럼 느껴지지 않을까?

전통적인 데스크톱 리눅스와 윈도우를 쓰는 것 사이에는 큰 차이가 있습니다. 반면 안드로이드와 iOS의 차이는 그만큼 선명하게 느껴지지 않죠. 안드로이드가 오픈소스라면 왜 그렇게 느껴지지 않는 걸까요?

1. 오픈소스 코드를 잠그는 것도 허용된다

안드로이드는 오픈소스지만, 그 위에서 돌아가는 대부분의 소프트웨어는 그렇지 않습니다. 픽셀이든 삼성 기기든 마찬가지입니다. 초기 안드로이드와 달리 픽셀 런처와 구글 앱 대부분은 클로즈드 소스가 되었습니다.

삼성, 원플러스 등 제조사들의 커스텀 소프트웨어도 마찬가지입니다. 구글 플레이에서 받는 앱 대부분은 무료 다운로드 여부와 관계없이 오픈소스가 아닙니다. 우리가 보고 쓰는 것의 대부분이 이런 소프트웨어다 보니 안드로이드 전체가 닫힌 플랫폼처럼 느껴지는 것이죠.

하지만 리눅스 위에서 돌아가는 클로즈드 소프트웨어를 만드는 것 역시 허용됩니다. 개발자가 카피레프트(copyleft) 라이선스로 배포하지 않으면, 다른 사람은 그 코드를 가져다 독점적 애플리케이션을 만들 수 있습니다.

그렇다면 안드로이드 플랫폼의 어느 부분이 오픈소스일까요? 구글은 안드로이드의 상당 부분을 Apache License 2.0으로 공개해, 이 코드로 제한적인 제품을 만드는 것을 막습니다. 물론 예외 사례도 있었지만, 그렇다고 안드로이드 자체가 닫혔다고 말할 수는 없습니다. 수많은 사람이 안드로이드를 기반으로 작업한다는 사실 자체가 오픈소스 프로젝트로서의 성공을 증명합니다.

2. 핵심 개발이 커뮤니티 주도가 아니다

안드로이드는 대체로 구글이 개발합니다. 1년에 한두 번, 회사는 새 코드 뭉치를 비유적인 '벽 너머'로 던지면 티커와 하드웨어 제조사들이 이를 서둘러 자신들의 제품에 넣습니다. 이후 구글은 다음 대형 릴리스를 준비하는 동안 매월 유지보수 및 보안 업데이트를 배포합니다.

다른 잘 알려진 오픈소스 프로젝트들은 대개 더 폭넓은 커뮤니티 참여를 추구합니다. 레드햇이 GNOME 작업의 상당 부분에 자금을 대지만, 전 세계 개발자들이 코드를 기여합니다.

우분투의 캐노니컬(Canonical)도 배포판의 외관과 사용감에 상당한 통제권을 행사하지만, 커뮤니티 멤버는 여전히 앱 저장소에 들어갈 프로그램이나 일부 웹사이트에 대해 발언권이 있습니다.

이에 비해 안드로이드는 완전히 구글의 제품처럼 보입니다.

3. 완전한 통제권이 없다

리눅스 등 오픈소스 OS가 사람을 끌어당기는 요소는 자유와 통제력입니다. 윈도우나 macOS 머신의 속을 들여다보며 작동 원리를 확인할 수 없습니다. 리눅스라면 코드 대부분을 이해하지 못하더라도 거의 전부를 만지작거릴 자유가 있습니다.

현실적으로, 개봉 즉시의 안드로이드 폰은 아이폰보다 약간 더 자유로울 뿐입니다. 런처를 바꾸고, 테마를 적용하고, 일부 기능을 취향대로 조정할 수는 있지만, 보증을 포기하지 않고서는 기저 OS를 건드릴 수 없습니다.

더 깊은 커스터마이징은 루팅(rooting)이나 커스텀 ROM 플래싱을 필요로 합니다. 이런 점에서 보면 독점 데스크톱 OS보다 오픈소스 모바일 OS에서 더 적은 자유를 느낄 수도 있습니다.

하지만 안드로이드는 분명히 오픈소스다

이름뿐인 개방이 아닙니다. 안드로이드가 진짜 열려 있다는 증거는 충분하며, 우리는 그 실질적인 혜택을 누리고 있습니다.

1. 커스텀 ROM이 존재한다

AOSP 기반 커뮤니티 ROM은 기기에 기본 탑재된 소프트웨어의 대안을 제공합니다. 지금은 LineageOS로 포크된 시아노젠모드(CyanogenMod)는 수백만 대의 안드로이드 스마트폰에서 구동되었습니다. 기본 상태의 경험은 픽셀에서 얻을 수 있는 것과 크게 다르지 않으며, 사실 그래서 처음 ROM을 플래싱하는 사람이 많습니다.

LineageOS만 있는 것도 아닙니다. 파라노이드 안드로이드(Paranoid Android), AOKP 등 수많은 프로젝트가 흥하고 졌습니다. 어떤 면에서 커스텀 ROM 생태계는 리눅스 배포판 모델과 닮았습니다. 대부분 같은 코드를 가져다 저마다 다르게 다듬는 것이죠. 안드로이드 자체가 오픈소스가 아니었다면 불가능한 일입니다.

2. 오픈소스 경쟁자조차 안드로이드에 의존한다

앞서 세일피시 OS와 우분투 터치를 대안 오픈소스 모바일 OS로 언급했습니다. 그런데 이 프로젝트들도 어떤 식으로든 안드로이드 코드를 활용했습니다. 세일피시 OS는 안드로이드 기반이 아니면서도 안드로이드 앱을 직접 설치해 쓸 수 있게 해줍니다.

우분투 터치 이전에는 '우분투 포 안드로이드(Ubuntu for Android)'가 있었습니다. 안드로이드가 클로즈드 소스일 수 있다는 생각과, 그 기반 프로젝트는 열려 있을 수 있다는 점 사이에는 기묘한 아이러니가 있습니다.

3. 기기를 직접 통제할 수 있다

제조사와 통신사는 원치 않을 수 있고, 보증이 무효화될 수도 있지만, 내 하드웨어로 원하는 일을 할 선택지는 분명히 있습니다. 루팅으로 관리자 권한을 얻고, 부트로더를 언락하고, 다른 운영체제를 플래싱할 수 있습니다.

이는 안드로이드의 공식 홍보 기능은 아니지만 확실히 존재합니다. 안드로이드 기기 사용자 대다수가 이렇게 만지지 않더라도, 여러분만 그러는 것은 결코 아닙니다. 수백만 명이 이런 방식으로 폰과 태블릿을 자유롭게 활용하는 것을 좋아합니다.

왜 중요한가?

사람들이 오픈소스 OS를 쓰는 이유는 다양합니다. 데이터 통제권을 넘기는 것을 불신하는 사람도 있고, 독점 앱과 서비스는 나타났다 사라지지만 오픈소스 소프트웨어는 지원이 끊겨도 남아 있다는 점도 있습니다. 또한 기업이 버리기로 한, 여전히 잘 작동하는 하드웨어에 새 생명을 불어넣을 수도 있습니다.

윤리적 이유도 부족하지 않습니다. 어떤 하드웨어에 무엇이 돌아가는지 누가 결정할 권리가 있는지부터, 부, 프라이버시, 자유에 대한 논의까지 스펙트럼이 넓습니다.

수백만 명이 모바일 컴퓨팅을 받아들이는 지금, 데스크톱과 노트북에서 누리던 선택지를 모바일에서도 가져야 합니다. 위의 어떤 가치를 중시한다고 해서 폰, 태블릿, 터치스크린 기기의 매력을 포기해야 하는 것은 아닙니다.

오늘날 안드로이드는 오픈소스를 중시하는 사람들에게 여전히 최선의 모바일 선택지입니다. 개봉 상태로는 지나치게 상업화되고 광고가 많은 경험이지만, 충분히 바꿀 수 있습니다.

안드로이드에 오픈소스 느낌을 주는 한 가지 방법

LineageOS를 사용하고 F-Droid에서 앱을 받는 방법이 있습니다. 구글 플레이에 비해 제한적으로 보일 수 있지만, 경쟁 오픈소스 OS가 현재 제공하는 것보다는 훨씬 기능이 풍부한 경험입니다.

오픈소스 진영은 여전히 이 대안들의 성공을 지켜보며 기대하고 있습니다. 그 성공을 기다리는 동안에도, 오늘날 주로 오픈소스 소프트웨어로 돌아가는 믿음직하고 빠른 모바일 기기로 팟캐스트를 듣고, GPS 내비게이션을 쓰고, 로컬 음악 라이브러리를 관리하고, 지인들과 연락을 이어갈 수 있습니다.