Business Week 
Image
Business Week Image

Why Linux is better


백도어는 가라!

"비공개 소스"(독점)와 "공개 소스" 소프트웨어의 차이는 (추측해 보세요) "소스"가 공개 되어 있다는 것입니다. 흠, 그래서, 왜 신경써야 하나고요? 자, "소스" 혹은 "소스 코드"라는 것은 케이크의 조리법처럼 모든 소프트웨어의 비밀 조리법과 같습니다. 당신이 케이크를 살 때, 어떤 재료가 들어갔는지 정확히는 알 수 없습니다(비록 조금 맛을 보고, “음, 여기 코코넛이 조금 들었군.”이라고 추측할 수는 있지만요). 만약에 빵집에서 대박난 치즈케이크의 조리법을 공개한다면 사람들이 사지 않고 집에서 직접 조리해 먹기 때문에 곧 망할 것입니다. 그처럼, 마이크로소프트 또한 조리법, 즉 그들의 윈도우즈 같은 소프트웨어의 “소스 코드”를 공개하지 않습니다. 그리고 당연히 그렇게 하여 돈을 버는 것입니다.

문제점은 바로 우리가 모르게 조리법에 그들이 원하는 어떤 것이나 집어넣을 수 있다는 것입니다. 만약 그들이 "매달 12일에, 컴퓨터가 온라인에 접속해 있으면, 그 컴퓨터가 지난 한 달간 다운로드했던 모든 파일들의 기록을 모아서 마이크로소프트로 전송하라." 라는 명령이 담긴 소스코드를 집어넣었다고 칩시다. 아마 마이크로소프트에서 그런 일을 하지는 않겠지만, 모든 것이 비공개이고, 볼 수 없고, 비밀이라면 어떻게 그것을 알 수 있습니까?

얼마 전(2008년 10월) 중국의 윈도우즈 사용자 중 많은 사람들이(그들 중 대다수가 윈도우즈 해적판을 사용합니다) 그들의 컴퓨터에 뭔가 이상한 일이 일어나는 것을 목격했습니다: 매 시간마다 몇 초씩 화면이 깜빡이는 것이었습니다. 작업을 중단해야 할 정도는 아니었으나, 정말 짜증나는 일이었죠. 그것은 "해적판 윈도우즈로 판단되었을 때는 매 시간마다 몇 초씩 화면을 깜빡이게 하라."는 일련의 코드(조리에 들어가는 재료)를 마이크로소프트가 집어넣었기 때문이었습니다. 여기서 해적판 사용에 대해 말하고자 하려는 것은 아닙니다(물론, 해적판 소프트웨어는 옳지 않습니다). 요점은 이 사용자들이 업데이트(업데이트는 보통 버그를 고치거나 새로운 것을 적용시키는 데에 이용됩니다)가 그들의 시스템에 어떤 영향을 미칠 지 모르는 상태에서 자동 업데이트를 했다는 점입니다. 어느 누구도 알 수 없죠.

공개 소스 소프트웨어에서 소스코드를 바꾸는 것은 훨씬 개방적인 과정입니다. 정의로 본다면, 모든 조리법이 공공의 것입니다. 당신이 코드를 이해하지 못한다고 해도 상관 없습니다. 이해할 수 있는 누군가가 읽어보고 말해주면 되니까요. 그리고 그들은 그렇게 하고 있습니다. 또, 어떤 사람이 소스코드를 바꾸려고 할 때면, 모든 다른 개발자들이 그 변화를 볼 수 있습니다("이봐, 키보드 입력값을 훔쳐보는 소스코드는 왜 집어넣었어? 제정신이야?"). 그리고 만약 어느 소프트웨어의 제작자들 모두가 정신이 나가서 소스코드에 강아지 죽이는 사진들을 넣었다고 한다면, 그 팀의 멤버가 아닌 다른 누군가가 그 소스코드에서 모든 끔찍한 장면들을 제거하고, 완전한 새 버전을 만들어서, 모두에게 그 차이점을 알릴 수 있습니다. 투명 하지요.

그렇기에 공개 소스 소프트웨어에 대해서는 몰래 나쁜 짓을 하지 않을 것이라고 믿을 수 있는 것입니다: 공동체가 모든 조리법을 살펴보고 있으니까요.