상세 컨텐츠

본문 제목

[ACT! 43호 미디어꼼꼼보기] Revolution OS

이전호(78호 이전) 아카이브/미디어꼼꼼보기

by ACT! acteditor 2016. 8. 12. 16:25

본문

Revolution OS

인동준 

"Revolution OS"(http://www.revolution-os.com)는 "리눅스"라는 대안 풀뿌리 컴퓨터 운영체제에 대한 얘기다. 그것의 탄생 배경과 발전 역사를 실제 그 과정에 참여한 "스타"들의 입을 빌려 설명하면서, "자유소프트웨어"의 철학과, "오픈소스" 개발 방식의 의미와 가능성을 얘기하는 다큐멘터리 영화이다. 리눅스에 관심 있고 그 발전 과정을 주시하고 있는 사람이라면, 그동안 인터넷으로 봐왔던 것을 시각화해서 다시금 확인하는 재미가 쏠쏠할 것이다. 반면 "리눅스가 무엇인가?"를 알기 위해 이 영화를 보려는 사람이 있다면, 조금 실망하게 될 수 있다는 걸 말해두고 싶다. 한편의 영화에 담기에는 너무나 많은 얘기들이 있고, 그리 어렵지는 않지만 처음 들을 때 당황하게 되는 용어와 개념들이 나오는데다, 이야기 전개 속도가 빠른 편이기 때문이다. 리눅스, 자유소프트웨어, 오픈소스.. 등에 대해 살짝 알아본 다음 영화를 본다면, 그리고 여럿이서 함께 보고 나중에 얘기해보면 조금 더 이해하기 쉽고, 해커들만의 독특한 유머를 조금 더 알아챌 수 있을 것이다.



이야기의 시작

리눅스는 혁명을 일으키고 있는 컴퓨터 운영체제이다. 무엇에 대한 혁명이냐면, 지금 우리가 쓰고 있는 개인용 컴퓨터의 거의 대부분에 자리 잡고 있는 "MS윈도우즈"에 대한 혁명이다. 컴퓨터를 사용하기 위해서는 운영체제라는 소프트웨어 꾸러미가 필요하다. 그것은 컴퓨터 하드웨어와 사람이 실제로 사용하는 "응용프로그램"의 사이에 위치해서 서로 소통할 수 있게 도와주는, 눈에 드러나지 않는 역할을 수행하는 코드덩어리다. 이런 운영체제는 여러 종류가 있는데, 예를 들면 MS윈도우즈, MAC OS(매킨토시), OS/2등과, "유닉스(unix)"계열에 속하는 다양한 운영체제들이 있다. "리눅스"도 유닉스 계열에 포함된다. 유닉스는 다른 것보다 오랜 역사를 갖고 있는데 대개 덩치가 큰 장치에 주로 탑재되어 있었고, 초기의 PC(개인용 컴퓨터)에는 들어가지 못했다. 그때 PC에 들어가 대중적인 인기를 끌게 된 것이 MS-DOS라는 운영체제이고, 이것은 나중에 "MS윈도우즈"로 대체되어 지금에 이르고 있다.

PC가 폭발적으로 사람들에게 보급되면서, MS의 운영체제도 자연스럽게 많은 사람이 사용하는 운영체제가 되었다. 사람들이 실제로 사용하는 소프트웨어 - 사무용, 게임, 멀티미디어 등 - 응용프로그램은 그것이 돌아갈 하드웨어, 운영체제와 일정한 약속을 지키며 만들어져야 서로 소통할 수 있기에, 컴퓨터 프로그램의 발전에 운영체제가 차지하는 비중은 크다. 많은 사람이 MS를 운영체제를 사용하기에, 많은 사람들에게 쓰여지길 원하는 소프트웨어는 MS운영체제의 "약속"에 맞게 만들어진다. 그렇게 만들어진 소프트웨어는 다른 운영체제에서는 작동하지 않는데, 마치 서로 다른 언어를 쓰는 사람끼리 소통하려는 것과 같다. 물론 실제 사람들끼리의 소통은 말만이 아닌 몸짓과 다른 수많은 방법을 통해 어느 정도 가능하겠지만, 컴퓨터 소프트웨어는 그런 것이 불가능하다. 이래서 많은 "인기 있는" 소프트웨어들이 MS운영체제에 맞춰 개발되었고, 그것에 익숙해진 사람들은 이제 다른 운영체제와 다른 응용프로그램은 사용할 수 없게 되었다.

MS제국이 건설되면서, 다른 OS는 계속 밀려나고 사람들 뇌리에서 잊혀지게 되었다. 사람들은 자기에게 필요한 기능을 가진 소프트웨어가 있다면 그 뿐, 운영체제가 어떤 것이어야 한다는 것은 신경 쓰지 않기에 이런 현실에 대해 별 고민 없이 "그냥 주어진 대로" 컴퓨터를 쓰기 시작했다. 하지만 불행히도, 우리의 황제는 자신 밖에 모르는 사람이었다. 정말 사람들이 행복한 세상을 만드는 데는 관심이 없이, 어떻게 하면 사람들에 대한 지배력을 강화해서 자신의 이익을 키우고 지켜나갈까만 고민했고, 그것은 점점 노골적이 되어간다. 지금까지는 서포터로, 동등한 계약관계인 것처럼 보이던 MS황제가 이제 사람들에게 뭔가를 강요하고 어디론가 가도록 이끌기 시작했는데, 사람들은 이제 다른 대안이 없기에, MS가 하자는 대로 따를 수밖에 없게 된다. 이야기는 이렇게 시작한다.


리눅스란 무엇인가

영화는 곧 이 질문을 던진다. 리눅스란 무엇인가? "MS윈도우즈의 대안, 빠르고 안정적인 운영체제"이다. 그것은 PC에서 돌아가는 유닉스인데, 사용에 제약이 없는 자유소프트웨어이다. 그럼 리눅스가 유일한 대안인가? 그렇진 않다. PC에서 돌아가는 유닉스는 리눅스 외에도 몇 종류 더 있고, 그들 중 일부는 역시 자유롭게 누구나 이용할 수 있다. 그럼 또 다시 질문을 던져야 한다. 왜 리눅스인가? 그 답은 두 가지인데, 하나는 "GNU시스템"과 적시에 결합해 정말 "쓸 만한" 자유 운영체제 꾸러미를 완성했다는 것이고, 또 하나는 지금 "오픈소스"라고 불리는 개발 방식을 통해 만들어졌다는 것이다. 하나를 물으면 두개의 질문이 나온다. 컴퓨터를 처음 공부할 때는 그래서 피곤할 것이다. 그럼 이제 다시 묻자. GNU란 뭐지? 그리고 오픈소스는?

GNU(http://www.gnu.org)란, "자유로운 운영체제"를 만들기 위한 프로젝트이다. "마지막 해커"라고 불리는 "리처드 스톨만"이 주창해서 많은 사람들의 호응을 받은 것인데, 이것은 그가 경험했던 "컴퓨터 공동체 문화"를 이어가고 확산하려는 노력이다. 소프트웨어는 누구나 공유해서 자신이 원하는 대로 변경해 사용하고, 또 그걸 좋아하는 사람이 있다면 나눠주는 것이 너무나 자연스러운 것인 때가 있었는데, 서서히 그 문화에 침투해 벽을 쌓고, 서로 숨기고 나눠주지 않는 식으로 바뀌어 갔다. 그렇게 되는데 큰 역할을 한 것이 MS의 회장 빌게이츠 - 많은 사람이 "기부 많이 하는 선도자"의 이미지를 갖고 있는 그 분 -이기도 하다. 리처드 스톨만은 좋은 것을 만들고, 서로 나누는 것은 너무나 자연스러운 것이며, 그런 공동체를 만들 수 있는 자유를 제약받아서는 안 된다는 신념을 갖고 있다. 그래서 "자유소프트웨어재단(http://www.fsf.org)"을 만들고, 자유소프트웨어를 개발하고 보급하는 활동을 했는데, 그의 목표는 "자유소프트웨어로 구성된 운영체제"를 만드는 것이었고, 그것에 필요한 것들을 하나하나 만들어 갔다. 그리고 그 마지막에, "커널(kernel)"이라고 불리는 운영체제의 핵심부분만 남겨놓고 있었다. "리눅스"는 이때 등장했다. 헬싱키 대학에 다니던 한 학생이 인터넷에 발표한 커널이 있었는데, 이게 사람들의 호응을 얻으며 빠른 속도로 발전하고 있었다. 사람들은 GNU시스템과 리눅스 커널을 결합해 비로소 "모든 것이 갖춰진" 자유로운 운영체제를 만들 수 있었다.


오픈 소스(Open Source)

오픈소스란, 인터넷을 통한 협력 개발 방식을 가리키는 말이다. 컴퓨터 프로그램은 사람이 읽을 수 있는 형태의 지시문으로 구성된 "소스 코드"를 먼저 만든 후, 이걸 컴퓨터가 이해할 수 있는 형태로 번역(컴파일,compile)하는 과정을 거치게 된다. 사람들이 "실행"하는 프로그램들은 모두 이렇게 "번역된" 결과물인데, 이건 그냥 열어서는 사람이 이해할 수 없는 형태다. 그래서 그 결과물만 공유해서는 그 프로그램의 내부 동작 원리를 이해할 수도 없고, 필요에 따라 변경하는 것도 불가능하다. 그래서 결과물만이 아니라 "소스 코드(source code)"를 공유하는 것이 중요해진다. 어떤 프로그램의 소스 코드를 모든 사람이 접근할 수 있게 한다면, 더 많은 사람이 그 프로그램의 내부 동작 원리를 이해할 수 있을 것이고, 그걸 알맞게 변경할 수 있을 것이다. 당장의 이익을 생각하는 소프트웨어 업체는 소스코드를 숨기는 정책을 선택한다. 그러면 사람들은 그 프로그램이 제공하는 기능을 사용하기 위해 그 업체가 제공하는 형태로만 프로그램을 얻게 될 것이고(구입), 필요한 기능이 있으면 참고 기다렸다가 다음 버전(version)이 출시되면 그걸 다시 구입하는 식으로 계속 가게 될 테니까.

또한 좋은 프로그램을 만들기 위해서는 그 개발 과정이 이 번잡한 현실로부터 어느 정도 격리되어 있어야 한다는, "소프트웨어 공학"의 믿음도 한 몫 한다. 소프트웨어는 잘 훈련된 소수 정예가, 잘 짜여진 일정, 조성된 환경 속에서 세상과 떨어져서 조용히 만들어야 제때, 양질의 소프트웨어가 나온다고 믿어진다. 물론 이 믿음은 어느 정도 들어맞는 것이긴 하다. 하지만 이것을 완전히 뒤집는, 아주 비효율적이라고 생각되는 방식으로 하나의 소프트웨어가 만들어지고 있었는데, 이게 엄청난 성능과 안정성을 갖는 훌륭한 것이었다. 어떻게 된 것인가? 이것은 모두에게 공개된 장소에 수시로 올려지면서, 이 사람 저 사람이 다 저마다의 방식으로 참여하고, 어떤 일관된 개발 일정도 갖지 않는다. 잘 짜여진 일정에 따라서도 보통 그걸 몇 배 초과하는 경우가 많은데 비해, 이것은 오히려 그런 것 없이도 아주 빠르게 발전한다. 빠르게 발전하면 그 과정에서 놓치는 허점(버그,bug)이 많게 마련인데, 이건 오히려 버그가 적거나 금방 고쳐진다. 그게 바로 "Linux"라는 이름의 운영체제 커널이었다.


혁명

리눅스를 "Revolution OS"라고 말하는 것은, 그것이 실제로 MS제국에 균열을 내고 있다는 것 외에도, 그것이 만들어지는 방식부터가 혁명적이기 때문이다. 인터넷으로 느슨하게 연결 된, 서로 잘 알지 못하는, 어쩌면 존 재조차 알 수 없는 사람들이, 저마다 자신이 할 수 있는 방식으로 어떤 강제도 없이 협력한다. 때로는 자신 이 그것에 기여하고 있다는 것도 모 를 수 있다. 초기엔 "장난스럽고, 명 석한" 해커들이 큰 역할을 하긴 했지 만 점차 컴퓨터를 잘 모르는 사람도 여러 가지 방법으로 (실제로!!!) 참여 하게 되었다. 예를 들면 실제로 프로 그램을 사용하면서 허점을 찾거나 개선점을 제기하고, 개발자를 격려하 거나, 질타한다. 설명을 잘하는 사람 혹은 그걸 사용하느라 고생한 사람은 자신의 사용 경험을 매뉴얼로 정리해서 공유하고, 엉뚱한 사람은 엉뚱한 실험을 통해 새로운 전기를 마련한다. 어떤 직접적 경제적 보상을 받지도 않지만, 그것이 모두에게 이익이 되고 자신에게 돌아온다는 것을 누군가는 분명히, 혹은 막연히 알거나 의식하지 못하고 그 과정에 참여한다. 누군가가 큰 틀을 짜놓고, 사람들로 하여금 거기에 결합하도록 하는 게 아니라, 수많은 사람들의 요구와 개선을 매개하고, 조정하는 역할을 하는 (자발적인) 사람들만이 존재한다. 이것이 바로 "오픈 소스" 개발 방식이다.

많은 사람들이 참여하면, 그만큼 다양한 관점과 넓은 시야를 갖게 된다. 그것은 소프트웨어의 허점을 더 빨리 찾아내 고치게 하는데 기여하고, 더 새로운 것을 바라보게 한다. 모든 것이 잘 된다면, 어떤 폐쇄적인 방법보다 뛰어난 혁신의 속도를 보인다. 그리고 그 속도에 반비례하지 않는 안정성을 보여준다. 이른바 네트워크 효과라 할 것인데, n 명으로 구성된 그룹에 한명이 더 가세할 때, 그 결과는 n+1 이 아니라 n+n이 될 수도 있다는 것. 그런 낙관적인 이론을 실제 현실로 보여준 게 "리눅스"를 비롯한 수많은 "오픈소스 소프트웨어"인 것이다. 그리고 그 개발의 방법론은 시사하는 의미가 큰데, 이를테면 소프트웨어만이 아니라, 사실 더 많은 범위에서, 구체적 오프라인 현실에서 적용해 볼 수 있다는 것이다. "소스"가 무엇인가? 우리가 밖으로 드러내는 것은 과연 있는 그대로인가? 운동을 예로 들면, 그것이 지향하는 것은 정말 풀뿌리 방식으로, 모든 사람이 스스로 자신의 삶을 결정할 수 있는 자유를 얻기 위해 저항하는 것인데 과연 그런 것이 도출되어 만들어진 흐름이, 그 "소스"들이 투명하게 공유되어 있는가? 즉 모든 사람이 그것을 이해하고, 쉽게 참여할 수 있는 여지가 있는가? 아니면 역시 소수 엘리트가 자신들만의 소통으로 만들어 놓은 큰 그림에 따라 대중은 따라갈 뿐인가? 어쩌면 필요 없는 부담들을 스스로 짊어지고 있는지도 모른다. 그냥 대중이 자유롭게 참여하는 열린 행동들을 준비하고, 몇 가지 보조 장치만 준비하면 될 것을, 그 전체를 완전히 꽉꽉 채워 구성하고, 억지로 사람들의 관심을 붙들어놓기 위해 매번 무리하고 있는 건 아닐까? 생각할 게 많겠지만 이 정도로 해두자.


자유소프트웨어와 오픈소스 소프트웨어

영화를 볼 때 몇 가지 불편한 점과 이해할 수 없는 점이 있을 거라 짐작되는데, 그것은 어쩌면 이런 형태의 영화가 갖는 한계가 아닐까 한다. GNU/리눅스가 보급되고 대중화된 방식은 여러 가지가 있는데, 그 중 가장 스펙터클하고 "현재" 대중의 보편적 감수성에 자극을 줄 수 있는 것을 찾다보니 리눅스가 어떻게 상업적으로 성공했는지를 상당한 비중을 둬서 묘사한 것이다. 마치 영화에 나온 그 업체가 후원해서 만들었는가 하는 의심을 줄 정도로(진짜일까? 알아보진 않았다). 물론 이것은 "실리콘 밸리"로 상징되는 그쪽 환경에서의 "성공"에 대한 일차적 이미지에 부합하는 것이기도 할 것이다. 그래서 이 영화는 중간 중간 불편해지는데, 특히 당신이 "혁명"이라는 말에 바로 어떤 이미지를 갖다 붙이는 사람이라면 더 그럴 것이다. 그 영화가 그 나라에서 만들어진 걸 어쩌겠나?

배경을 잘 모르면 약간 아리송할 수 있는 것. "자유소프트웨어"와 "오픈소스 소프트웨어"는 어떻게 다른가? 자유소프트웨어는 모두 오픈소스다. 하지만 반대는 아니다. 오픈소스는 자유소프트웨어 중 일부를 상업화하는 과정에서 새로 제기된 개념인데, 이것은 그 개발 방식이 주는 실제적 이점에 초점을 맞춘다. 더 다양하고, 풍부하고, 빨리 개선되는 소프트웨어를 만들기 위한 방식. 이 개념이 도입된 것이 의도적으로 "자유소프트웨어" 철학을 희석시키려는 의도라는 비판도 있다. 즉 공동체를 만들 수 있는 자유와 협력 개발로 인한 실제적 효과 - power랄까. 그런 것이 서로 대립하는 것은 아니지만, 무엇을 더 중요시할 것인가, 우선해서 선택할 것인가를 판단하려 하면 어떤 차이가 드러나게 된다. 리처드 스톨만은 철저히 "공동체의 자유"를 중시한다면, 어떤 개발자들은 "협력의 효율성"을 중시한다. 굳이 둘을 나눈다 해도, 서로가 서로의 원칙에 대해서는 100% 동감하지만 구체적인 상황에 따라 조금씩 중시하는 관점이 다른 것이다. 그래서 이 영화에서 리처드 스톨만이 리눅스 월드라는 행사에 초대돼, "리누스 토발즈"상을 수상하고 연설하면서, "아이러니"한 상황이라고 말하기도 한다. 하지만 분명한 것은, 자유/오픈소스소프트웨어(이하 F/OSS - Free/Open Source Software)는 몇몇 유능한 해커들만이 만든 게 아니며, 대부분의 "F/OSS사용자"는 두 영역의 구분에 큰 의미를 두지 않는다는 것이다.


직접 행동

글이 길어지니 마지막으로 이 영화에 담긴 두 가지 직접 행동을 소개하는 것으로 마치겠다. "리눅스 설치 축제"와 "윈도우 환불의 날"이 그것이다. 리눅스 설치 축제는 인터넷으로 정보를 찾는 것만으로는 어려움을 겪는 리눅스 사용자/애호가들이 한 자리에 모여 서로 정보를 공유하고 도와가며 각자 리눅스를 설치하고 활용하는 행사이다. 이것은 어떤 전문가가 한쪽에 서서, 모든 사람들이 경청하고 받아 적고 따라하는 분위기에서 강연을 하는 게 아니라, 그 냥 한 장소에 모여 적당히 자리를 잡고 옆 사람들끼리 묻고 답하고, 상의하며 직접 설치를 시도하게 된다. 컴퓨터를 공부하며 어려움을 겪어본 경험이 누구나 있을 텐데 매뉴얼대로 따라했지만 뭔가 잘 안되고, 어느 한 가지가 다른 것에 영향을 미쳐 잘 안되기도 하고 하는, 그런 "틈"들이 많다. 그런 것은 실제로 그것을 극복한 사람의 생생한 경험이 공유됐을 때 잘 해결할 수 있는 것이고, 그런 것을 주고받기 위해서는 한데 모여 함께 하는 게 낫다. 아무리 명 강의도 나의, 구체적인 이 어려움에는 적용되지 않는 경우가 많은 것이다. 이런 걸 자발적으로 모여 서로 도와주며 해결하는 "적극적 공동체 행동(?)"이 바로 리눅스 설치 축제이다. 얼마 전에 한국에서도 활동가들을 일차 대상으로 하는 리눅스 설치 축제가 열린 바가 있고, 그 자리에서 이 영화의 상영회가 열리기도 했다.

또 하나는 "윈도우 환불의 날"이다. 컴퓨터를 살 때 으레 당연히 딸려오는 MS윈도우. 그것밖에 없다고 생각했을 때면 모르지만 이제 얘기가 다르다. 나는 다른 OS를 쓰고 싶은데 컴퓨터 가격에는 기본적으로 MS윈도우의 가격이 포함되어 있다. 이건 내가 원하지 않는다면 당연히 돌려받을 수 있는 부분인 것이다. 돈도 돈이지만 사용자의 선택권을 무시하는 이런 "지배를 위한 물량 공세" 자체에 브레이크를 걸기 위해 사람들이 캠페인에 나섰다. MS본사 앞에까지 피켓 등을 들고 행진해서, 윈도우를 환불해 줄 것을 요구했다. 이것이 작은 일처럼 보일지 모르지만, "자연스러운 양" 파고드는 것에 분명히 반기를 드는 것은 중요하다. 한국도 이런 캠페인이 있었는지 모르겠지만, 거의 모든 컴퓨터에 특정 OS가 깔려나오는 게 너무나 자연스러운 한국의 경우는 이런 게 더 필요하다고 생각된다.


세상을 해킹해볼까?

"해커"만큼 그 이미지가 오해로 가득 찬 것도 드물 것이다. 몇 년 전에 방영된 재미난 한 애니메이션에서 귀여운 해커가 등장하는데, 그가 합류하기 직전, 한 주인공이 이렇게 말한다. "해킹 같은 교활한 짓을 하는 녀석은 음침하고 안경 쓰고 살갗이 흰 뚱보, 게다가 발 냄새나는 성격 삐뚤어진 오타쿠잖아?" 물론 그들이 서로 만나면서 그런 이미지는 자연히 불식됐겠지만. 실제로 해커는 겉모습부터 다른 점을 팍팍 풍기는 기인들이 아니다. 이글을 보는 당신도 해커일 수 있다. 아니라고 부인할지 모르지만 해커에 대한 설명을 듣고, 왜 리처드 스톨만이 "마지막 해커"라고 불리며 그것에 어떤 존경의 의미가 담겨있는지 안다면 생각을 달리할 것이다. 해커는 "장난스러운 명석함"을 즐기는 사람이다. 세상을 있는 그대로 보지 않고, 그 틈을 발견하고, 질서를 뒤트는 것을 즐겁게 수행하는 사람이다. 누가 시켜서가 아니라 스스로의 즐거움을 위해. 그러면서 파괴를 지향하는 사람은 "크래커(cracker)"라 부르며 약간 무시해주고, 뭔가 새로운 것을 만들어가는 사람을 "해커"라고 한다. 존중하는 의미의 해커란, "닫혀 있는 한계를 넘어 자신만의 새로운 무언가를 만들어 사람들과 공유하는" 사람을 말한다. 어때, 그럴듯하지 않은가? 이걸 컴퓨터 영역에서만이 아니라 일반적으로 확대해볼 수 있겠다. 당신은 해커인가 아닌가? 능력은 두 번째다. 마인드가 첫 번째다. 당신이 이 세상의 질서를 있는 그대로 받아들이지 않고, 더 나은 세상, 자유를 꿈꾸며 실제로 뭔가 하려는 사람이라면, 당신은 해커다. 또한 그 과정에서 딱딱하고 어려운 방식만이 아니라 조롱하고 비틀면서, 즐겁게 그 일을 하는 사람이라면 당신은 진짜 해커다. 생각해보면 이 세상엔 더 많은 해커가 필요하다. 폭력적이지 않은, 창조적인 해커. □


관련글 더보기

댓글 영역