소설리스트

회귀로 압도한다-202화 (202/1,007)

[202] Command & Conquer =========================

하루 전.

MIT의 한 연구실, 히피 차림으로 컴퓨터 앞에 두 사람이 있었다.

ID 오피스 시큐리티 챌린지로 유명해진 리처드 스톨먼과 대니얼 클래이튼 두 사람이었다.

“괜찮겠어?”

대니얼이 잔뜩 상기된 리처드 스톨먼을 걱정스럽게 보며 물었다.

“괜찮지 않으면? 설마 이걸 올렸다고 내 신상에 무슨 일이 생긴다는 건가?”

“그런 말을 하는 게 아니잖아.”

“괜찮아. 설사 이번 일로 탈이 나면 다 내가 감당할 테니까.”

둘이 티격태격하는 건 인터넷에 올릴 글을 두고 하는 이야기였다. 바로 ID 테크놀로지의 최신작 안드로이드 엔터프라이즈 버전의 사용기였다.

단순한 감상만 담긴 게 아니라 몇 가지 기능과 정책에 대한 비판을 넘는 강력한 비난이 담긴 것이었다.

“무슨 일이 나도 날 것 같다는 이야기구먼.”

“차라리 뭔가 좀 일어났으면 좋겠군. 그러면 우리 이야기에 좀 귀를 기울인다는 반응일 테니까.”

전성기의 마이크로소프트를 대하는 수준은 아니었지만, 상당한 날을 세운 건 분명했다. 그만큼 안드로이드 엔터프라이즈에 거는 기대가 컸고, 기대가 큰 만큼 실망도 컸다.

“그러지 말고 먼저 ID 테크놀로지에 연락을 해보면 어떨까?”

원만한 성격의 대니얼 클래이튼이 차선책을 내놓았다. 하지만 리처드 스톨먼은 고개를 절래 흔들었다.

“우리가 뭐라고 ID 테크가 반응을 보여주겠어?”

“뭐긴? 그 유명하신 자유 소프트웨어 재단의 이사장 아니신가?”

대니얼의 말처럼 리처드 스톨먼은 프로그래머였고 동시에 자유 소프트웨어 재단의 설립자였다.

자유 소프트웨어, 즉 프리웨어가 많이 보급되어야 컴퓨터 환경이 이용자들에게 이로워진다는 생각을 하고 있었다.

이를 위해서 여러 가지 소프트웨어를 만들었는데 유닉스용 텍스트 편집기인 Emacs와 오픈 소스 컴파일러인 GCC와 GDB 디버거 등이 그의 대표작이었다.

이렇게 만든 역작의 소스코드는 모두 공개했다. 자유 소프트웨어 재단의 설립자로서 당연한 선택이었다. 이렇게 공개된 소스코드를 사용해서 파생 프로그램을 만들면 그 소스코드도 공개해야 하도록 오픈 소스 라이센스인 GPL를 구성했는데, 이러한 방식으로 자유 소프트웨어 숫자자 늘어나도록 유도한 것이다.

당연히 오픈 소스를 사용하고 시치미를 떼는 경우가 많았다. GPL이 걸린 소스코드를 사용하면 전체 소스코드를 공개해야 하는데, 그러지 않는 경우가 종종 있었다. 이를 감시하기 위해 만들어진 것이 자유 소프트웨어 재단이다.

소프트웨어의 리버스엔지니어링을 통해서 GPL 위반인지 검사했고, 위반한 경우 소스 코드를 공개하도록 압력을 행사하는 일을 한다.

“자칭이란 말은 왜 빼나? 가입자도 얼마 없고, 다들 도둑이라고 보고 있잖아.”

자조적인 리처드 스톨먼의 말처럼 자유 소프트웨어 운동의 반향은 그리 크지 않았다. 오히려 몇몇 거대한 업체는 적극적으로 방해하기까지 했다.

마이크로소프트와 매킨토시였다.

특히 게이츠 회장은 GPL의 강제 규정이 컴퓨터 산업 발전에 악영향을 끼친다고 암세포에 비유했다. 그의 입장에서 천문학적인 돈과 시간을 들여 개발한 프로그램인데, 일찍 퇴근하고 싶은 하청업체 개발자가 GPL 소스코드를 무단으로 넣은 것 때문에 프로그램 전체가 공짜가 될 가능성이 충분했기 때문이다.

덕분에 리처드 스톨먼은 마이크로소프트를 매우 싫어했었고, 그에 못지않게 매킨토시도 싫어한다.

리처드 스톨먼이 봤을 때 두 업체는 자유 소프트웨어 진영이 열심히 만들면, 그걸 참고해서 신제품을 만들었다. 소스 코드를 그대로 쓰면 GPL에 걸리니 적당히 변형해서 만들었다. 그러면서 자유 소프트웨어 재단의 제품에서는 호환되지 않도록 했으니, 게이츠는 양아치 이상도 아니었다.

그렇기에 마이크로소프트가 ID 테크놀로지라는 신생 업체를 잡아먹으려다가 역으로 먹히는 걸 보고 얼마나 통쾌했는지 모른다.

마이크로소프트가 사라지고 ID 테크놀로지의 제품들이 대세가 되면서 리처드 스톨먼은 약간의 기대감을 품었다.

리처드 스톨먼의 기대감은 딱 반만 충족되었다.

안드로이드라는 이름의 그래픽 인터페이스 운영체제나 ID 오피스와 같은 제품은 마이크로소프트웨어의 것과는 차원이 다른 완성도를 자랑했다.

속도면 속도, 편의성이면 편의성!

어느 것 하나 빠지는 게 없었다. 더욱이 안드로이드는 100일에 한 번씩 나오는 패치로 거의 환골탈태를 하는 것과 같은 업그레이드가 이루어졌다.

화룡점정은 알파라는 딱지가 1.0으로 바뀌었을 때였다.

불안정한 도스에서 유닉스 체제로 완전히 바뀌는 대대적인 변화가 일어났다. 혼란도 컸지만, 그만큼 운영체제로서의 안정성은 더욱 높아졌다. 게다가 오리지널 유닉스를 따라한 제품이면서 안드로이드 1.0처럼 컴퓨터 초보도 쉽게 다룰 수 있는 제품은 아직도 없었다.

특히 리처드 스톨먼이 높게 사는 건 에드웨어라는 생소한 방식으로 사용자의 부담을 공짜 수준으로 줄여버린 것이다.

단지 한 시간마다 손바닥만 한 이미지 파일 광고 하나 보는 것으로 무료로 사용할 수 있는 안드로이드 1.0은 획기적이었다.

심지어 리처드 스톨먼처럼 컴퓨터에 숙달된 사람이라면 광고 알람 같은 걸 쉽게 크랙할 수도 있었다. 광고 이미지 파일을 1픽셀짜리 조그만 것으로 대체시키면 나중에 광고가 떴는지 안 떴는지도 모르게 지나간다.

그렇다고 불만이 없는 건 아니었다.

유닉스 기반이니 컴퓨터 한 대를 여러 사람의 아이디를 등록해서 사용할 수 있다. 네트워크 기능을 이용하면 원격으로도 접속할 수 있다. 효율적인 관리를 위해서 아이디마다 권한 설정도 달리할 수 있었다.

이런 기능은 안드로이드 1.0에서도 다 지원했다. 딱 하나의 문제가 있다면 그런데 어떻게 해도 루트 관리자 권한을 얻을 수는 없었다.

“1.0은 그렇게 해도 루트 권한은 크게 문제 삼지 않았어. 왜? 컴퓨터를 잘 모르는 사람이 그걸 손댔다가 망가뜨리기 딱 좋은 것이니까. 아예 루트 권한을 받는 걸 삭제해도 이해할 수 있었다고. 그런데 엔터프라이즈 버전에도 똑같이 적용하면 어쩌자는 거야?”

리처드 스톨먼이 안드로이드 엔터프라이즈에 가장 실망한 포인트가 여기에 있다.

“시스템 관리자 권한? 그딴 짝퉁을 어따 쓰냔 말이야.”

엔터프라이즈 버전에는 시스템 관리자라는 새로운 권한이 신설되었다.

리처드 스톨먼은 이것이 루트 권한인 줄 알았다. 그런데 실제로 관리자 아이디를 만들어서 사용해보니, 기대가 산산이 박살이 났다.

“시스템 디렉터리 변경도 못 하는 안 되는 관리자가 세상에 어디에 있어. 드라이버 인스톨은 또 어떻고. 인증을 받으라니!”

리처드 스톨먼이 생각하는 관리자 권한은 유닉스 시스템에서의 절대신 root와 같은 것이었다. 시스템 구석구석 접근하지 못하는 게 없고, 지우거나 수정하는 것도 모두 가능한 그런 권한을 생각했다.

하지만 안드로이드 엔터프라이즈의 시스템 관리자는 root의 일부 기능만 사용할 수 있는 반쪽짜리였다.

시스템 설정을 바꾸고 싶어도, 제대로 바꿀 수 있는 건 극히 드물었다. 특히 시스템 파일 일부를 변형시키는 건 불가능했다. 아예 접근할 수가 없었다. 리버스 엔지니어링을 해서 자유 소프트웨어 재단이 관리하는 소스코드를 무단으로 사용했는지 확인하려고 해도 읽기 자체가 되지 않으니 안드로이드 엔터프라이즈 상에서는 할 수 없었다.

그나마 부트로더를 이용해서 도스나 안드로이드 알파로 부트한 다음, 엔터프라이즈가 설치된 디렉터리로 이동해 분석해볼 수 있었다.

그렇다고 오픈 소스를 무단으로 쓴 것도 아니라는 점이다. 오픈소스 코드를 사용한 후 모르쇠로 일관하려고 시스템 상에서 접근을 막았다는 이야기는 아니었다.

“그래. 인증받으라는 건 나도 좀 무리라고 생각해.”

컴퓨터를 오래전부터 사용했던 리처드나 대니얼은 보유한 하드웨어도 독특한 게 많았다. 그중에선 이제 단종된 모델도 상당했는데, 이를테면 시리얼 포트를 사용하는 아타리 조이스틱 같은 소소한 부품이 있다. 이것으로 게임을 하면 옛날의 추억에 잠길 수 있어서 주로 사용했던 것인데, 안드로이드 1.0으로 바뀌면서 드라이버를 새로 맞춰줘야 했다.

유닉스용 드라이버는 있었기에 이를 안드로이드 1.0에 맞춰 조금만 변형하면 되었다. 리처드 스톨먼이 혼자서 충분히 할 수 있는 일이었다.

1.0에선 그렇게 자작으로 만든 드라이버가 문제없이 인식되었고, 조이스틱도 잘 작동했다. 그런데 엔터프라이즈에서는 인증받지 않은 드라이버라고 설치가 거부되었다.

이 밖에도 수많은 제약이 엔터프라이즈에 담겨 있었다.

멀티 코어 지원, 대용량 메모리 지원, 인터넷 서비스 지원과 같은 강력한 기능을 담고서도 단돈 120달러에 불과한 제품이라 혹해서 샀는데, 실망이 이만저만이 아니었다.

“이건 기만이라고!”

다시 한 번 생각하니 더욱 열이 받는 것인지 목소리가 높아지는 리처드 스톨먼이었다. 동시에 대니얼이 뭐라고 말릴 새도 없이 업로드 버튼을 콱 눌렀다.

자동 전송 프로그램을 통해 MIT의 게시판은 물론 넥스트컴이나 컴퓨서브, 아메리칸온라인 등의 거대 인터넷 게시판에 리처드 스톨먼의 사용기가 동시에 게재되었다.

자유 소프트웨어 재단이 비록 조직은 작아도, 상당한 숫자의 추종자를 거느리고 있던 리처드 스톨먼이었기에 반향이 컸다.

“할 말이 없네.”

리처드 스톨먼의 디스 가득한 사용기를 읽은 유재원은 고개를 절래 흔들었다. 존경하는 양반이었는데, 이런 식으로 충돌할지는 전혀 예상치 못했다.

생각해 보면 리처드 스톨먼의 생각을 이해 못 하는 건 아니다.

안드로이드 이전의 운영체제는 사용자가 시키는 모든 일에 대해 무조건 따랐다.

‘format c:’이라는 명령으로 시스템 자체를 간단히 날려버릴 수 있는 도스나, ‘rm -rf /’로 시스템이 설치된 하드디스크도 갓 공장에서 나온 상태로 간단히 돌릴 수 있는 유닉스 역시 마찬가지다.

그만큼 컴퓨터는 사용자의 명령을 지상 과제처럼 수행한다.

문제는 전문가들은 이러한 명령어도 용도에 맞게 사용할 수 있지만, 초보나 어설프게 컴퓨터 지식을 습득한 사람에겐 큰 문제라는 점이다.

유재원은 안드로이드 운영체제를 설계할 때부터, 사용자를 불완전한 존재라고 생각하고 설계했다.

잘못된 명령을 내릴 수 있고, 악성 코드나 바이러스가 심어진 프로그램을 얼마든지 스스로 실행할 수 있는 사용자라고 말이다.

그렇기에 안드로이드는 코어 시스템을 자체적으로 보호하도록 했고, 아무나 시스템 파일에 접근해서 코드를 변경하지 못하게 했다. 그렇기에 패치를 하려면 시스템 파일에 접근할 수 있는 암호를 알아야 한다.

무단으로 변형된 드라이버를 설치할 수 없는 것도 이 때문이다. 드라이버 안에 악성 코드나 시스템을 파괴할 수 있는 바이러스가 들어 있을 수 있으니, 인증을 받은 것만 설치할 수 있다.

그나마 대중적인 1.0 버전은 깐깐하게 막지는 않았다. 그래서 리처드 스톨먼이 자작한 조이스틱 드라이버도 로딩되었다. 하지만 엔터프라이즈에서는 보안 규칙이 철저하게 지켜지니 당연히 막힌다.

“아니, 서버 관리실에서 조이스틱으로 게임을 할 사람이 얼마나 있다고?”

엔터프라이즈 버전은 인터넷 서버와 고성능 컴퓨터를 위한 운영체제였다. 수많은 사람의 데이터를 안전하게 보존하고, 안정적인 동시 접속자를 유지하기 위해 만들어졌다. 보안이 뚫리면 그 피해는 개인 컴퓨터가 뚫린 것보다 훨씬 더 심각해진다. 그래서 높은 수준의 보안 정책을 걸어 놓은 것이다.

물론 리처드 스톨먼의 비판에 대한 해결책은 있다. 진정한 루트 권한을 개방해주는 거다. 그러면 이번 사용기에 담긴 비판은 99% 해결할 수 있다.

문제는 이제 곧 인터넷 시대가 개막한다는 거다.

취약점 하나가 드러나면, 인터넷으로 연결된 모든 컴퓨터에 같은 방식으로 공격할 수 있으니 피해가 겉잡을 수 없이 커진다.

원천적으로 차단하고, 그것도 모자라 두 번, 세 번 보호하는 것이 최선이라 생각해서 지금의 엔터프라이즈 버전이 나온 것이다.

“관점이 다르니 어쩔 수 없지만, 이건 좀 심하네요.”

-그렇죠? 자기 멋대로 바꾸고 싶으면 리눅스를 쓰면 되는데, 엄한 엔터프라이즈를 잡고 이런 소리라니.

답글이 금방 올라왔다.

여전히 ID 톡 중이었기에 유재원의 푸념을 존 카멕이 바로 받아 주었다.

리눅스?

원래의 역사 그대로 리눅스는 작년에 인터넷에 발표되었다. 소스코드의 완전 공개도 기본이었다. 이후엔 일이 많아서 그다지 신경을 쓰지 않았는데, 존 카멕이 언급할 정도면 꽤 많이 발전한 모양이다.

리눅스를 가장 활발히 다루고 있는 뉴스 채널로 가 보니 제법 틀이 좀 잡혀 있는 듯 보였다. 부팅도 되고, 텍스트 편집기 같은 간단한 프로그램도 띄울 수 있는 수준이다. 요즘에는 터미널 프로그램을 만들어서 텔넷 접속을 지원하려고 애를 쓰고 있는 것 같다.

다만 그래픽 인터페이스라던가 다양한 하드웨어 지원 등에 있어서는 안드로이드 같은 상업용 운영체제에 비빌 정도는 아니다.

그야말로 유닉스에 익숙한 컴퓨터 전문가들이 심심풀이로 잡아서 키워나가는 재미를 느끼는 정도였다.

그렇다고 얕보면 큰일이다.

무럭무럭 자라나는 리눅스는 다양한 기능과 안정성을 획득했고, 어느 순간 인터넷 서버의 대세를 차지했다.

리눅스가 그렇게 자라날 수 있었던 것은 리처드 스톨먼과 함께 GNU 프로젝트를 시작하면서부터다.

GNU 프로젝트라는 건 오픈소스 체제의 운영체제를 만드는 계획이었다. 이를 위해 리처드 스톨먼도 열심히 별도의 운영체제를 만드는 중이었는데, 그다지 성과는 없었다. 그러다가 리눅스를 보고 바로 GNU 프로젝트의 메인으로 삼아서 전폭적인 지원을 시작했다.

프리웨어를 원하는 리처드 스톨먼과 처음부터 소스코드를 공개했던 리눅스는 환상의 짝꿍이었다.

재미있는 점은 두 사람이 인간적으로 친하진 않았다는 점이다. 무조건 오픈 소스를 강조하는 리처드 스톨먼에 비해 리눅스를 만든 토발즈는 자신의 소스코드를 사용한 영리 활동에도 긍정적이었기 때문이다.

예전이라면 리처드 스톨먼은 리눅스를 잡고 GNU 프로젝트를 가동해야 했는데, 지금까지 별다른 소식이 없다.

아무래도 유재원이 낸 안드로이드 엔터프라이즈 버전을 가지고 이것저것 해보다가 리눅스까지는 신경 쓰지 못한 게 틀림없다.

리처드 스톨먼과 리눅스를 이어주면 안드로이드 엔터프라이즈에 거는 딴죽은 바로 해결할 수 있다.

“리눅스랑 매칭을 시켜줘야 하나?”

살짝 걱정되는 점은 리처드 스톨먼과 리눅스의 시너지 효과였다.

전생에서 그랬던 것처럼 무섭게 성장한다면, 안드로이드 운영체제의 가장 강력한 라이벌이 탄생하는 것이기 때문이다.

“뭐, 못할 건 뭐 있겠어?”

잠깐 고민했던 유재원은 그대로 진행하기로 했다.

리눅스는 오픈 소스 운영체제로 배타적이지 않았다. 그럴 일은 없겠지만, 혹시라도 리눅스의 완성도가 안드로이드 운영체제보다 높아진다면 리눅스 소스를 가져와서 쓰면 그만이다.

도스에서 유닉스로 넘어온 것처럼, 사용자들이 민감하게 반응하는 인터페이스 구조는 그대로 두고, 코어를 교체할 수 있다는 것이 안드로이드 운영체제의 장점 아니겠는가.

생각을 정리한 유재원은 리처드 스톨먼의 글을 반박하는 글을 쓰기 위해 ID 워드프로세서를 실행했다.

모니터 위로 펼쳐진 하얀 백지에 유재원은 순간 멈칫했다.

기세 좋게 ID 워드프로세서를 실행하긴 했지만, 하얀 백지를 마주하니 막막해졌던 탓이다. 어떻게 글을 시작해야 할지 감을 잡을 수 없었다.

엘런이나 최강욱 등 변호사 출신 임원에게 부탁하면 좋은 글을 금방 만들어줄 테지만, 그러고 싶진 않았다.

리처드 스톨먼의 사용기는 비록 날카롭고 공격적인 말투로 가득했지만, 안드로이드에 대한 애정은 확실했기 때문이다. 유재원도 그만큼은 리처드 스톨먼에 대한 존중을 담아서 그의 오해를 풀고 싶었다.

소스코드를 짜는 건 금방이었는데, 스스로 창작을 하려니 그 좋은 머리가 굴러가지 않는다. 일단 유재원은 ID 톡으로 연결 중이었던 존 카멕에게 둠 2에 대한 감상을 가감 없이 말해준 다음 통신을 종료했다.

그리곤 커피 한 잔을 내려와서 컴퓨터 옆에 두고 생각에 들어갔다.

10분 정도 흘렀을 때, 실마리가 잡혔다. 리처드 스톨먼이 오해를 시작한 건 엔터프라이즈의 이해 부족이다는 것이다.

엔터프라이즈 버전은 인터넷 서버 혹은 대용량 데이터를 관리할 시스템을 위한 운영체제인데, 리처드 스톨먼은 단지 고성능 부품 지원에 다양한 네트워크 기능을 추가한 것으로 본 것이다.

항시 인터넷과 연결되어야 할 운영체제는 보안에 훨씬 까다로울 수밖에 없는데, 이를 이해하지 못했으니 엄한 소리만 늘어놓을 수밖에 없었다.

그렇기에 유재원은 인터넷에 대한 설명과 보안의 중요성을 조곤조곤 설명하면서, DIY(Do it yourself) 운영체제를 원한다면 리눅스를 다뤄보는 게 어떠냐고 정중히 제안하는 내용을 담았다.

친애하는 친구 리처드 스톨먼으로 시작한 글은 점점 타자 속도가 빨라지면서 백지로 가득했던 공간을 새카만 글로 가득 채웠다.

오후에 시작했던 글쓰기 작업은 창밖에 보랏빛 노을이 질 때 완성되었고, 유재원은 오타 정도만 체크하면서 다듬은 후에 인터넷에 올렸다.

아이디가 있는 넥스트컴에는 본인이 직접 올렸고, 나머지 사이트는 홍보팀에게 맡겼다. 워드 파일을 보내주면서 유재원은 리처드 스톨먼이 사용기를 올린 사이트에는 무조건 같이 올리라고 지시했다.

리처드 스톨먼의 사용기를 본 사람이라면 유재원의 반박 글도 볼 수 있도록 조치한 것이다.

유재원의 반박 글에 대한 네티즌의 반응은 즉각적이었다.

당연히 대중들은 유재원의 글에 좀 더 많은 호감을 주었다. 리처드 스톨만의 글만 보고 ID 테크놀로지에 대해 분노했던 사람들도 고개를 끄덕거릴 정도였다. 수려한 글은 못 쓰지만, 정보 전달 하나만큼은 확실했기에 반응이 좋았다.

특히 유재원이 언급한 리눅스는 일약 스타가 되었다. 그도 그럴 것이 운영체제를 만드는 ID 테크놀로지가 새로운 경쟁자가 될지도 모르는 리눅스를 대놓고 추천한 것에 대해 신선하게 생각하는 사람들이 많았다.

다 그런 건 아니다.

사용자를 바보 취급한다고 가장 크게 분개했던 리처드 스톨먼은 그래도 컴퓨터의 주인이 루트 권한에 접근하지 못하는 것을 이해하진 못했다. 그렇지만 그를 지지해 주었던 사람 중에 상당수는 돌아섰고, 인터넷에 대한 이해 부족도 통감했기에 곧바로 2차 반박 글을 쓰진 못했다. 게다가 유재원이 DIY로 권한 리눅스를 검토해보느라 시간이 부족했다.

확실히 무엇하나 제대로 된 게 없는 리눅스라면 무엇이든 본인의 마음대로 세팅하고 개조도 가능했다. 하나하나 만져보다 보니 시간 가는 줄 모르는 리처드 스톨먼이었다.

파이팅 충만하다는 리처드 스톨먼의 성격을 아는 몇몇 팬들은 재반박을 기다리다 김이 빠져 버렸다.

더구나 리눅스에 끌린 사람은 단지 리처드 스톨먼 뿐만이 아니었다. 유재원의 글을 통해 리눅스를 인지한 수많은 이들이 리눅스에 자발적인 노력과 정성을 들이면서 오픈소스 진영에 가세했다.

유재원도 바쁘긴 마찬가지다.

반박 글을 올린 지 며칠 지났던, 3월 말에 앨런이 유재원의 사무실에 직접 찾아와서 놀라운 소식을 알렸기 때문이다.

“보스, 클린턴 후보와의 미팅 날짜가 잡혔습니다. 4월 초에 최대한 빨리 만나 보고 싶다는군요.”

클린턴?

“윌리엄 제퍼슨 클린턴이요?”

유재원은 설마 하며 되물었다.

“예, 민주당의 샛별 빌 클린턴 말입니다.”

빌 클린턴만큼은 예외로 취급하라고 말한 지 며칠 지나지 않았다. 그런데 벌써 미팅 자리라니.

빨라도 너무나 빠르다.

========== 작품 후기 ==========

추천과 리플, 선작 모두모두 고맙습니다~!!

원고료 쿠폰, 후원 쿠폰 완전 감사합니다~!!!

이놈의 미세먼지는 언제 해결될런지 모르겠네요.

어제 참 고생하셨습니다~!

2