지금까지 우리는 안드로이드가 오픈소스 운영체제라는 말을 계속 들어왔습니다. 물론 일반 사용자라면 오픈소스 운영체제가 정확히 무엇인지, 왜 제조사들이 그런 방식으로 만들었는지 깊이 생각해 본 적은 많지 않을 것입니다.
하지만 단순히 '오픈소스라서 좋다'라고 말하는 것은 정확하지 않습니다!
iOS나 윈도우 폰 대신 안드로이드를 선택하게 되는 이유를 함께 살펴보겠습니다.
여러 가지 이유 중에서도 안드로이드를 선택하는 가장 큰 이유는 다양한 제조사들이 각자의 독특한 기능을 갖춘 안드로이드 기기를 출시하고 있기 때문입니다. 예를 들어 삼성은 건강 추적 기능을 제공하고, 다른 브랜드들은 지문 인식 잠금 해제 기능을 탑재하고 있습니다. 이러한 차별화된 기능들은 확실히 많은 사용자들을 매료시킵니다. 게다가 안드로이드는 매우 편리하기까지 합니다. 그렇다면 왜 그럴까요? 바로 오픈소스 운영체제에 기반을 두고 있기 때문입니다. 그렇다면 오픈소스란 정확히 무엇일까요?
오픈소스란 무엇인가?
오픈소스(Open Source)는 일반적으로 사용자나 다른 개발자가 자유롭게 사용하고 수정할 수 있도록 작성된 소스 코드를 의미합니다. 개발자들은 자신에게 맞다고 판단되는 방향으로 업데이트를 추가하거나 기능을 변경할 수 있습니다.
Search Enterprise Linux에서는 이렇게 설명합니다: "오픈소스는 오픈소스 이니셔티브(OSI)가 소유한 인증 마크입니다. 자유롭게 공유되고 타인에 의해 개선 및 재배포될 수 있는 소프트웨어의 개발자는 배포 조건이 OSI의 오픈소스 정의에 부합하는 경우 오픈소스 상표를 사용할 수 있습니다. 요약하면, 배포 조건의 정의 모델은 다음을 요구합니다:"
- 배포되는 소프트웨어는 어떠한 제한 없이 누구에게나 재배포될 수 있어야 합니다.
- 소스 코드가 공개되어야 합니다(수신자가 이를 개선하거나 수정할 수 있도록).
- 라이선스는 개선된 버전의 소프트웨어가 원본과 다른 이름이나 버전을 사용하도록 요구할 수 있습니다."
대표적인 오픈소스 소프트웨어로는 LibreOffice, Mozilla Firefox, Android 등이 있습니다.
안드로이드는 정말 오픈소스 운영체제인가?
기술적으로는 그렇습니다!
2005년 안드로이드 Inc.(Android Inc.)가 오픈소스를 기반으로 안드로이드를 개발했습니다. 안드로이드는 리눅스 커널(Linux Kernel)을 토대로 설계되었습니다. 리눅스 커널은 단일형(monolithic) 유닉스 계열 운영체제 커널입니다. 안드로이드의 대부분은 오픈소스로 공개되어 있으며, 특정 하드웨어와 원활하게 작동하도록 만들어진 일부 바이너리 블롭(binary blobs)만 존재합니다. 즉, 안드로이드 플랫폼 또는 AOSP(Android Open Source Project)는 누구나 원하는 대로 수정할 수 있도록 공개되어 있습니다.
오픈소스 운영체제라는 것은 무엇을 의미할까?
오픈소스 운영체제인 것만으로도 많은 이점이 있습니다. 예를 들어 기기의 ROM을 변경하고 다양한 설정을 마음껏 조작할 수 있습니다. 다만 기기에 커스텀 ROM을 설치하면 제조사 보증이 무효화된다는 점은 유의해야 합니다. 그럼에도 불구하고 오픈소스 운영체제에는 다음과 같은 장점이 있습니다.
오픈소스 운영체제의 장점
- 개발자이거나 새로운 운영체제를 만들고 싶다면 안드로이드가 최적의 출발점입니다. 기기를 원하는 어떤 형태로든 커스터마이징할 수 있고, 심지어 완전히 새로운 운영체제를 직접 구축하는 것도 가능합니다. 다시 말해 루팅(rooting)이 상대적으로 쉽습니다.
- 기기 조작이 더욱 자유롭고 편리합니다.
- 클로즈드 소스에 비해 앱 개발이 훨씬 수월합니다. 운영체제의 모든 사양이 공개되어 있어 세부 조정이 쉽습니다.
- 앱을 구하는 방법도 다양합니다. 공식 앱 스토어는 물론 .apk 파일 다운로드나 파일 공유 앱 등 어디서든 앱을 설치할 수 있습니다.
오픈소스 운영체제의 단점
- 상대적으로 보안에 취약합니다. 오픈소스 운영체제는 바이러스에 감염되기 더 쉬운 편입니다.
- 개별 사용자가 직접 시스템을 변경하면 보증이 무효화되거나 모든 책임이 사용자에게 전가됩니다. 루팅을 진행할 경우가 대표적입니다.
- 문제가 발생했을 때 받을 수 있는 공식 지원이 적습니다. 이러한 운영체제는 문제 해결을 주로 사용자 커뮤니티에 의존하는 경향이 있습니다.
안드로이드를 사용하는 것은 분명 즐거운 경험입니다! 편리하고 실용적이지만 나름의 장점과 한계가 공존합니다. 이제 여러분의 안드로이드가 어떻게 개발되었는지 이해하게 되었으니, 직접 수정해 보고 싶다면 도전해 볼 수도 있습니다. 단, 시작하기 전에 반드시 전문적인 지식을 먼저 갖추는 것을 잊지 마세요.