티스토리 뷰

2000-1-1

Just for fun

먼저 리눅스가 만들어진 계기에 대해서 얘기해 주세요.

순전히 개인적인 필요 때문에 만들었던 것입니다.

개인적인 필요라구요?

네. 저는 학생이었고, 가난한 컴퓨터 전공자였습니다. 그리고 도스나 윈도우즈 없이 사는 것은 힘들다는 사실도 잘 알고 있었어요. 저는 제 컴퓨터에서 걱정없이 운용할 수 있는 다른 운영체계가 있었으면 했습니다. 그런데 그런 필요를 충족시켜줄 만한 운영체계가 전혀 없었습니다. 좋지 않은 운영체계, 이를테면 도스를 사용하든지 아니면 하이엔드의 '진짜' 운영체계, 유닉스 같은 것을 사용하든지 양자택일 해라는 식이었죠. 하지만 유닉스를 개인용 컴퓨터에서 사용하고 있는 사람은 아무도 없었습니다. 대학의 연구소나 기관급 되는 곳에서야 10000달러를 주고 유닉스를 구입하는것이 별 게 아니었습니다만, 저 같은 가난한 학생에게는 어림도 없었죠.

 

 

그런데 운영체계가 어떻게 동작한다는 것을 보여주는 간단한 교육용 유닉스가 하나 있었는데요. 그게 조금 부족하다는 느낌을 갖고 있었습니다. 당시 저는 21 살이었고 다른 건 별로였지만 적어도 컴퓨터 프로그래밍에 있어서는 자신만만 했습니다. 제가 세상에서 제일 뛰어난 프로그래머라고 생각하고 있었으니까요. 그래서 '내가 직접 만들어 보면 안될까'라고 생각했습니다. 많은 사람들이 이런 얘길 했어요. 그런 일을 하려면 굉장히 똑똑하기도 해야하지만 한편으론 무척 어리석어야 한다구요. 내가 하려고 했던 일이 어떤 것인지 미리 알았다면 아무도 그런 것을 하려 하지 않았을 것입니다.

다시 옛날로 돌아갈 수 있다면 같은 과정을 다시 밟았을 거라고 생각합니까?

지금 알고 있는 것들을 그 때도 알고 있었더라도 똑같은 길을 걸었을 것입니다. 리눅스를 만드는 과정은 정말 신나는 경험이었거든요. 리눅스를 만드는 것이 그렇게 재미있는 것이고, 더구나 지금처럼 엄청난 성공을 가져 올 줄 알았다면 당연히 똑같은 일을 했을 것입니다. 하지만 엄청난 '재미'를 주는 것인지 몰랐다면 시작하지 않았을 것입니다.

도스가 당시 당신의 개인적 필요를 충족시켜 주지 못했다고 했는데요. 개인적 필요란 어떤 것이죠?

그 때 저는 상당히 하위 레벨의 프로그래밍을 하고 있었습니다. 어셈블리 수준에서요. 그런 수준의 프로그래밍에서 제일 중요한 것은 성능입니다. 도스보다 더 낮은 레벨의 프로그래밍을 하는 경우 운영체계 따위는 완전히 무시하는 게 보통이죠. 저는 당시 열심히 배우는 학생이었고, 운영체계가 어떠해야 한다는 것을 잘 알고 있었습니다. 그러니 운영체계에서 발생하는 문제를 피해 가는 길을 택할 필요 없이 아예 내가 원하는 대로 만드는 것이 훨씬 낫다고 생각했습니다.

일반적인 사람들은 하부의 운영체계가 뭘 하는 것인지 또 어떻게 동작하는지 몰라도 자기 컴퓨터가 문제없이 잘 돌아가기를 바랍니다. 하지만 저는 그런 것에 관심이 없었습니다. 충돌없이 안정적이면서, 내가 바라는 대로 돌아가는 '진짜 운영체계'를 갖고 싶었습니다. 도스는 그런 것과는 정말 거리가 멀었습니다. 지금의 윈도우즈도 마찬가지구요. 컴퓨터로 무엇인가를 할 때 내가 지시한 것이 내가 원하는 방식으로 처리되길 원했습니다. 그것이 컴퓨터의 존재 이유죠. 하지만 윈도우즈나, 맥오에스, 다른 불안정한 운영체계는 언제 시스템이 충돌할 지 모르기 때문에 불안합니다. 불안하면 불안할수록 매 순간 다운 되는건 아닐지 걱정하면서 일을 할 수밖에 없습니다. '믿을 수 없는' 시스템은 정말 싫습니다.

그래서 리눅스는 믿을 수 있는 시스템이었습니까?

그럼요. 물론 새로운 기능을 첨가하거나 보다 액티브한 작업을 할 때는 아무래도 조금 불안정해졌죠. 저도 버그를 만드는 경우가 있습니다. 하지만 문제가 생겼을 때 해결해 낼 것도 확신하고 있습니다.

자신을 유명인사라고 생각합니까?

때로는 그렇죠. 컨퍼런스 같은 데서 많은 사람들이 관심을 보이며 말을 걸려고 할 때 그렇습니다. 하지만 저를 보며 고함을 치고 속옷을 집어 던지는 소녀팬들은 없습니다. 하하하.. 전 유부남입니다.

유명해지고 싶기는 합니까?

아뇨. 저는 이미 만족스러울 만큼 인정받고 있다고 생각합니다. 제가 하는 일이 사람들에게 의미있다는 것을 알기 때문이죠. 그런 기분은 정말 좋습니다. 크게 성공하는 것은 별로 중요한 게 아닙니다. 문제는 내가 하는 일에 대해서 내가 만족스럽게 생각하느냐죠.

새로운 운영체계를 만들어서 세상에 뿌리는 것에 관심이 있었습니까?

전혀 아닙니다. 리눅스는 그야말로 제 개인적인 시스템으로 만들었습니다. 그리고 그런 식으로 계속되었다면 한 일 년쯤 뒤엔 더 개발하지도 않았을 것입니다. 그 때쯤엔 이미 개인적인 필요는 다 만족시킬 수준이 되었기 때문입니다. 개인적 필요가 충족되고 나면 더 관심을 갖지 않았을 것입니다. 그 어떤 프로그램도 그 자체가 프로그래머의 관심거리가 될 수는 없습니다. 프로그래머의 관심을 끄는 것은 새로운 아이디어가 떠오른다거나 색다른 도전거리가 생기는 것이죠.

그러다가 인터넷이 나타났습니다. 리눅스 개발 초기에도 몇몇 사람들이 이런 부분이 필요한데...'라고 얘기하기는 했습니다. 그런 점들은 개인적으로는 별로 필요성을 못 느끼고 있던 것이었습니다. 하지만 자꾸 '정말 잘 만든 것이기는 한데 이런 점이...'라고 말하기 시작하는 겁니다. 그래서 리눅스를 조금 더 큰 프로젝트로 확대해 보자는 생각을 하게 되었습니다.

운영체계 개선에 인터넷을 이용한 이유는 뭐였습니까?

별로 깊게 생각한 것은 아니었습니다. '와. 인터넷을 이용하면 훨씬 도움이 되겠구나' 같은 생각은 하지 않았습니다. 7년 전에는 아무도 인터넷에 대해 그렇게 생각하지 않았습니다. 당시 인터넷을 쓰는 사람들이라고 해봐야 대학에 있는 사람들뿐이었습니다. 이메일이라든지 파일전송 정도였을 뿐입니다. 그 때는 웹이 잘 알려져 있지도 않았습니다.

인터넷을 이용해 보자는 생각은 전혀 해볼 수 없었습니다. 오히려 이런 식이었죠. '이것 봐. 내가 정말 괜챦은 것을 하나 만들었는데 말야...' 저는 당시 대학생이었고 대학의 분위기는 자기가 만든 것을 나눠갖는다는 것이었습니다. 어떤 과학이든 -컴퓨터 싸이언스도 마찬가지입니다- 돈을 많이 버는 경우는 잘 없습니다. 부자가 된 과학자란 잘 없습니다. 제대로 된 과학자라면 자기가 발견하고 만들어 낸 아이디어를 함께 나누고 동료들로부터 인정받는 것에 관심이 많습니다.

'이것 봐. 내 생각에 정말 괜챦은 것을 하나 만든 것 같은데...'라고 말한 뒤 다른 사람들도 '거 괜챦더라'라고 얘기해준 것이 개인적으로 무척 의미가 있었습니다. 어느 날 핀랜드에 있는 대규모 FTP 싸이트 쪽 친구들과 맥주를 마시며 얘기를 했었습니다. 그런데 그 친구들이 관심을 보이더군요. '이것 봐, 우리가 공간을 조금 줄테니까 완성되면 그 운영체계를 올려보지 그래...'라면서요. 얼마 뒤 완성된 것을 올린 다음 다섯 명쯤에게 얘길 했습니다. '첫 릴리스라서 제대로 완성된 것은 아니지만 관심있으면 한 번 구경해봐.' 그전에 이미 그 다섯 명과 아이디어를 나누었기 때문에 그 친구들은 관심을 보였습니다. 두 번째 릴리스가 나올 때는 훨씬 더 좋아졌습니다. 친구들의 피드백이 많은 도움이 되었던 것입니다. 그 다음 릴리스가 나왔을 때는 조금 더 많은 사람들에게 애기했습니다. 소문이 눈덩이처럼 커져 가더군요. 몇 달 뒤에는 수백 명의 유져가 생겨났으니까요. 그 때 저는 '와우! 수백 명의 유져라니. 정말 상상도 못했던 것인데!'라며 감탄하고 있었습니다.

하지만 유저들은 리눅스만 쓰고 있지는 않았습니다. 그냥 가지고 노는 것이 좋아서 인스톨해 둔 것이었죠. 당시에도 리눅스를 메인 운영체계로 운용할 수 있었지만 그렇게 리눅스의 능력을 완전히 활용하고 있는 사람은 저 혼자였을 것입니다. 비록 부분적으로만 사용하던 유져였지만 그 100 여명의 유져로부터 오는 피드백은 정말 큰 도움이 되었습니다. 그들은 제가 찾지 못한 버그를 알려 주었습니다. 저는 그들이 쓰는 방식으로 리눅스를 사용하지 않았기 때문에 그런 버그가 있는지를 알 수 없었습니다. 몇 달쯤 지나자 그 친구들은 팻취를 보내주기 시작하더군요. 리눅스를 자신의 목적에 맞게 바꿀 수 있을 정도로 충분히 알기까지 시간이 걸린 것입니다. 그들 중 몇몇은 리눅스를 속속들이 알게 되었습니다. 에러 픽스나 보강된 기능을 보내주기 시작했습니다. 이런 것은 전혀 계획된 것이 아니었습니다. 그냥 그렇게 되어갔습니다.

그 사람들이 찾아낸 버그나 새로운 기능 중 중요한 것이 많았습니까?

리눅스 개발 초기에는 4MB 램에 40MB 하드 드라이브가 장착된 386에서 작업하고 있었습니다. 당시에는 그것으로 충분했습니다. 정말 작은 피씨에 이미 익숙했었기 때문입니다. 그 386 전에는 QL을 갖고 있었습니다. 이상한 영국제 컴퓨터였죠. 그 전에는 아미가를 썼었구요. 따라서 4MB 램은 당시로서는 충분했었습니다. 그래서 하드디스크를 가상 메모리로 활용하는 것은 해보려 하지 않았습니다. 개인적으로 전혀 필요성을 느끼지 못했습니다. 그런데 독일에 사는 어떤 친구가 램이 2MB 밖에 없어서 작업을 하는 데 지장이 많다고 얘길 하더군요. 그래서 한 5 일 정도 코딩을 해서, 크리스마스 직전인데, 그 독일 친구에게 하드디스크 페이징을 갖춘 첫 리눅스 버전을 부쳐 주었습니다.

지금에 와서 생각해 보면 하드디스크 페이징(Hard Disk Paging)은 정말 중요했습니다. 자기 컴퓨터에 있는 메모리보다 더 많은 메모리 용량을 활용할 수 있게 하는 것은 모든 운영체계의 가장 기초적인 요구 조건 중 하나입니다. 당시로는 매일매일 사용하는 데 별 필요성을 못 느꼈기 때문에 만들지 않고 있었습니다.

 

리눅스 FAQ에 보니, '새로운 기능이 담긴 버전이 출시될 때는 항상 버그가 있기 마련이다.'라는 얘기가 있더군요. 그렇다면 누가 리눅스 최신 버전을 사용하는 위험을 무릎쓰려 하겠습니까?

모든 프로그램은 버그가 있습니다. 우리가 할 수 있는 것은 위험을 최소화하는 것일 뿐입니다. 그리고 프로그래머 각자의 목표를 극대화 하는 것. 몇몇 사람은 새로운 커널을 다루는 것이 더 재미있다고 생각할 것입니다. 그런 사람들은 위험같은 건 별로 생각하지 않습니다. 특정 목적을 달성하기 위해 애플리케이션을 사용하는 것이 아니기 때문입니다. 그들은 단지 가지고 노는 것 자체를 즐깁니다.

그리고 새로운 커널(kernels)은 대개 새로운 기능등이 포함되어 배포되는 것이 보통입니다. 새 커널로 업그레이드해서 얻는 이점도 있는 것입니다. 또, 어떤 사람들에게는 위험 그 자체가 하나의 이점이 되기도 합니다. 가장 최근의 것을 다룬다는 사실을 즐기는 사람도 상당수 있습니다. 일종의 모험 같은 것입니다. 상용 소프트웨어를 파는 회사라면 그런 위험을 가급적 피하려 할 것입니다. 가장 안정적인 상태가 될 때까지 개발팀이 확실하게 다듬어주기를 기다리는 거죠.

리눅스가 윈도우즈보다 버그가 더 많다고 생각합니까?

아뇨. 리눅스에는 버그가 무척 드물고 발견되는 대로 즉시 고쳐집니다. 예를 들어 넷트웍 상으로 불법적인 패킷(illegal packets)을 보내는 버그 같은 것은 4 시간 안에 해결됩니다. 대부분의 상용 유닉스들은 1-2 주일 정도 걸리는 것이 보통이죠.

리눅스는 유닉스 기반 운영체계입니다. 맞죠?

제가 유닉스에 익숙했고 유닉스를 정말 좋아한다는 점에서 그렇게 볼 수 있습니다. 유닉스는 철학을 갖고 있습니다. 25년의 역사를 갖고 있습니다. 특히 깔끔하게 정리된 핵심 엔진을 갖고 있습니다. 유닉스는 항상 어떤 아름다움을 구현하기 위해 발전해 나가고 있습니다. 그 점이 프로그래머인 내게 큰 충격을 주었습니다. 보통의 홈 유져들이 운용하고 있는 도스나 윈도우즈는 '자신만의 방식' 같은 것이 없습니다. 그러므로 윈도우즈를 특별한 목적을 갖고 여러 방면으로 발전시켜 나갈 수는 없습니다.

리눅스를 혼자서 만들어 냈다고 했는데요. '나는 이제 100명의 유져를 갖고 있으니까 세상을 바꿔놓을 수도 있는것 아냐?'라고 생각한 적은 없습니까?

첫 100명의 유져가 생겼을 때, '이거 뭔가 되겠는 걸...'이라고 처음으로 생각했었습니다. 하지만 그 때도 사용자가 늘어가는 속도가 무척 느렸기 때문에 아주 큰 물건이 될 것이라는 생각은 하지 않았습니다. 수백 명에서 수백만 명이 된 것은 분명 대단한 발전입니다. 하지만 발전속도가 항상 무척 느렸고 또 대개의 경우 눈에 잘 띄지 않는 형태로 진행되었습니다. 저로서는 그냥 FTP 써버에 올려 놓았을 뿐이고 몇 명이 다운로드를 해갔는지는 잘 알지 못하고 있었습니다.

리눅스를 쓰는 사람이 백여 명쯤 되었을 때에는 이미 리눅스에 대해서는 잊어버리고 있었습니다. 요즘에는 농담삼아 '나는 세상을 바꿔놓을거고, 차세대 마이크로소프트가 될 거야'라고 우스개 소리를 하고 다닙니다만.

윈도우즈 NT는 어떻습니까?

NT가 이전 버전보다 더 안정적이고 제대로 한 번 만들어보자는 생각을 바탕으로 개발되어 왔다는 것은 사실입니다. 하지만, NT 역시 전체적인 큰 그림이나 원칙 없이 만들어진 운영체계입니다.

유일한 개발 원칙이 하나 있다면 '기존 윈도우즈보다는 더 안정적으로 만들자' 정도이겠습니다만 그것도 크게 나아진 것은 아니었습니다. NT 역시 핵심적인 철학은 없었습니다. 따라서, 어떤 식으로 만들어야 된다는 전체적인 방향이 없는 상태로 개발이 진행되었습니다. NT를 코딩한 프로그래머는 '이런 식으로 하는 것이 정말 옳은 것일까 아니면 더 좋은 방식이 있는 걸까?'라는 질문을 해볼 수가 없었습니다. 어떤 식으로 진행되어야 한다는 가이드라인이 없었기 때문입니다.

 

그 결과는, 그냥 아무 생각없이 새로운 기능만 갖다 붙이기에 급급한 형태였습니다. 각 프로그래머는 '제발 최종 결과물이 안정적이어야 할 텐데...'라는 부질없는 희망을 품으면서 전체적으로는 어떻게 되어가고 있는지 알 지 못한 채 아무 생각 없이 코딩을 했습니다. 안정적인 기초공사를 확실하게 한 다음 그것을 바탕으로 차곡차곡 쌓아 올려야 하는 것을 말이죠.

 

그리고 윈도우즈 NT는 아직 한참 초기인 운영체계입니다. 리눅스보다 별로 오래되지도 않았습니다. 사실은 보는 관점에 따라서는 윈도우즈 NT의 새로운 기능이라는 것들은 대부분 리눅스에 이미 존재하던 것입니다. 하지만 이미 알려진대로 윈도우즈 NT는 전작 윈도우즈들과 마찬가지로 똑같은 안정성 문제가 제기되고 있습니다.

예를 들어 모든 NT 뉴스그룹을 살펴보면 셀 수도 없이 많은 'blue screen of death'에 관한 게시물이 올라와 있습니다. 파랗게 얼어붙은 NT. 그것을 피하고 싶으면 매주 한 번씩 재시동해야 합니다. 그렇게 하지 않으면 어디서 일어나는지 찾을 수 없는 메모리 누출(memory leak)이 나타나기 때문입니다. 재시동 없이 일주일 내내 돌리면 돌아가고는 있지만 달팽이처럼 느려집니다. 그런데 재시동을 하고 나면 모든 것이 정상으로 되돌아 옵니다. 딱 일 주일 동안만. 그러다가 또 조금씩 이상해지기 시작합니다. 그런 것을 좋아하는 사람은 정말 아무도 없습니다. 물론 이런 사람도 있겠죠. '헤이. 일주일에 한 번 빨간 버튼을 눌러주기만 하면 되는 것 아냐. 무슨 상관이야. 일 주일에 고작 15분만 투자하면 되는 건데.' 물론 그렇게 하면 또 다시 안정적으로 됩니다. 그렇게 사용할 수도 있습니다. 하지만 그런 시스템을 믿고 신뢰할 수는 없습니다.

윈도우즈 98은 어떻습니까?

아직 윈도우즈 98를 자세히 보지 못했기 때문에 뭐라고 얘기하긴 힘들지만, 들은 바로는 윈도우즈 98은 내부적으로 윈도우즈 95와 똑같다고 합니다. 딱 하나, 겉모습만 약간 바뀌었다고 하더군요. 분명히 웹브라우져를 운영체계에 통합해서 데스크탑처럼 보이게 만들어 놓긴 했습니다만, 어쨌든 둘은 기본적으로 동일한 운영체계입니다. 그런 식으로 될 수밖에 없는 이유는 큰 폭으로 운영체계를 개선하면 개선한 부분이 수천 개의 애플리케이션들 중 일부를 사용하지 못하게 만들 수 있기 때문입니다. 마이크로소프트는 그것을 두려워 하고 있습니다. 윈도우즈 98은 윈도우즈 95와 안정성적인 측면에서 하등 다를 것이 없다고 봅니다. 사실상 두 운영체계는 똑같기 때문입니다. 몇몇 버그를 고쳤겠지만 같은 식으로 새로운 버그가 추가되었을 것입니다.

윈도우즈 플랫폼이 그처럼 불안정하다면 왜 모두 다 '이젠 못참겠다. 리눅스로 바꿔버려?'라고 얘기하지 않는 걸까요?

리눅스 유저의 대부분은 안정성이 절실히 필요한 사람들입니다. 그 사람들은 주저없이 '굿바이 윈도우즈. 도저히 더 이상은 못참겠어'라고 얘기할 것입니다. 윈도우즈가 지금 같은 커다란 성공을 한 것은 그것이 훌륭한 운영체계라서가 아닙니다. 마이크로소프트가 만들지 않은 많은 좋은 프로그램이 윈도우즈 상에서 동작하기 때문입니다. 하드웨어 회사는 시장 상황을 보고 이렇게 얘기 하는 거죠. '대부분의 시장이 윈도우즈 95인데, 우리가 리눅스나 윈도우즈 NT쪽으로 많은 개발 비용을 지출할 필요가 있을까?' 실제 마이크로소프트는 윈도우즈 NT 用 드라이버를 확보하는 데 상당히 애를 먹고 있습니다. 마이크로소프트는 NT와 98의 드라이버 인터페이스를 가능한 비슷하게 만들어서 NT용 드라이버를 만드는 것을 보다 원활하게 하려고 노력중이죠.

 

윈도우즈를 쓰는 사람들은 관성적으로 쓰고 있는 경우가 많습니다. 많은 애플리케이션이 있으니까요. 하지만 그 관성이 리눅스에게 도움이 되기도 합니다. 마이크로소프트는 수많은 애플리케이션과의 호환성 문제 때문에 내부 구조를 재빠르게 바꾸기 힘듭니다. 만약 사람들이 필요로 하는 대부분의 애플리케이션이 동작하는 에뮬레이션 라이브러리가 만들어지면 어떤 일이 생길 것 같습니까? 에뮬레이션 라이브러리가 나타나서 윈도우즈 프로그램을 다른 플랫폼에서도 돌릴 수 있게 되면 그 순간 마이크로소프트가 윈도우즈를 통해 누리고 있는 수많은 강점은 한 순간에 사라집니다.

사실 그런 시도는 이미 있었습니다. 자바가 대표적 예입니다. 윈도우즈 애플리케이션이 윈도우즈와 연계되는 것에서 그치지 않고 x86의 bytecode에 연계될 수 있다면, 리눅스나 솔라리스, 그밖에 어떤 것 위에서도 윈도우즈 애플리케이션이 돌아갈 수 있습니다. 그것과 관련해서 썬은 WABI라는 윈도우즈 에뮬레이션 패키지를 갖고 있습니다만 심각한 리소스 문제점 때문에 크게 성공할 것 같지는 않습니다.

 

자바가 어느 정도 중요성을 갖게 될 것 같습니까?

자바는 별로 중요성이 없다고 생각합니다. 제가 보기에 자바는 지나치게 부풀려졌습니다. 물론 자바가 성공하길 진심으로 바랍니다. 하지만 지금 우리에게 필요한건 Java bytecode보다는 x86 bytecode라고 생각합니다. 자바는 나온 지 얼마 안 된 기술이고 상당히 흥미진진한 영역을 개척해 내기도 했습니다만, 자바는 자신의 존재 가능성을 먼저 증명할 수 있어야 한다고 생각합니다. 리눅스가 자바를 지원하느냐 마느냐의 문제가 아닙니다. 실제 자바가 갖고 있는 가치보다 훨씬 더 미디어에서 부풀려서 떠들었다는 것이죠.

에뮬레이터가 실제로 돌아갈까요? 그런 것 때문에 리눅스를 인스톨 할 것으로 봅니까?

그렇게 빨리 실현될 것 같지는 않습니다.

그렇게 생각하세요?

네. WINE (리눅스의 윈도우즈 에뮬레이터)은 상당한 수준에 이르렀습니다. 진짜 윈도우즈 프로그램을 그 위에서 돌릴 수 있죠. 하지만 몇몇 프로그램은 제대로 돌아가지 않고 충돌을 일으키기도 합니다. 작년에 상당한 발전을 이룬 것만은 분명합니다. 지금은 리눅스상에서 윈도우즈용 워드를 사용할 수도 있으니까요. 그러나 모든 사람들이 마음 놓고 쓸 수 있을 정도는 아닙니다. 알려진 버그도 몇 개 있습니다. 쓸만하게 된 것만은 분명합니다. 사람들이 어느 날 갑자기 잠에서 깨어나 '이것 봐, 마이크로소프트 잡동사니를 없애버리고 리눅스와 WINE으로 다 바꿔버리자고'라고 말하지는 않을 것입니다. 하지만 리눅스의 네트웍 성능, 언제나 믿고 맡길 수 있는 웹 서버를 정말로 필요로 하는 사람들이 더욱 많아져 갈 것은 분명합니다.

 

WINE은 리눅스나 다른 운영체계로 사용자들의 관심을 돌리는데 천천히 기여할 것으로 생각합니다. 사람들은 마이크로소프트니 뭐니 하는 건 관심이 없기 때문입니다. 그냥 몇몇 프로그램만 잘 돌아가면 된다고 생각합니다. 그러므로 WINE이 점점 좋아지고 중요한 몇 개의 프로그램이 다양한 플랫폼상에서 돌아가기 시작한다면 사람들은 천천히 마이크로소프트가 아닌 쪽으로 움직여 갈 것입니다.

몇 년 안에 WINE 때문에 윈도우즈대신 리눅스를 고려할 수 있을 것입니다. 시장의 100%를 다 차치하지는 않을 것이지만 그건 그것대로 좋은 일입니다. 거대한 회사 하나가 시장 전체를 독식하지 않을 때 비로소 합리적인 경쟁이 허용되기 때문입니다. 언젠가는 그렇게 될 거라고 생각합니다. 리눅스와 상관없이 틀림없이 그렇게 될 겁니다. 결국.

언제쯤요?

몇 년내에요. 아마 2010년이나 2015년쯤이면 현실화될 거에요. IBM도 똑같은 경로를 밟아 왔습니다. IBM도 시장을 완전히 지배하고 있었지만 불과 5년만에 시장을 완전히 잃어버렸습니다. 마이크로소프트에게도 똑같은 일이 일어날 겁니다. 5년이 걸릴 지 15년이 걸릴 지는 아무도 모를 일이지만.

그런 일이 일어나면 엄청나게 기쁘겠죠?

그런 일이 하룻밤 사이에 일어나지는 않을 것입니다. 따라서 어느 누구도 그런 것을 보고 흥분해서 날뛸 일은 없을 것입니다. 그것은 천천히 진행될 일입니다. 시장점유율이 90%로 떨어진다음, 서서히 75%로 떨어지고 결국 60%, 50%로 떨어져 가는 것입니다. 그렇게 되면 사람들은 시장에 경쟁체제가 형성되어 있다는 것을 느끼게 되는 것입니다.

리눅스가 마이크로소프트를 몰아 낼 기회를 갖게 될까요?

분명히 그런 움직임에 리눅스가 일조할 수 있게 되기를 바랍니다. 지금처럼 엄청난 파워가 한 회사에 집중되어 있는 건 정말 이상한 현상입니다.

그렇게 되지 않으면 어떡하죠?

컴퓨터로 하는 여러 작업에 상당한 정체 현상이 나타날 것입니다. 실제로 소프트웨어 회사가 자사 제품이 너무 뛰어난 것은 아닌가 하며 전전긍긍하고 있습니다. 너무 뛰어나면 마이크로소프트가 회사 자체를 사버리니까요. 그 시나리오는 여러 차례 현실화되었습니다. 마이크로소프트가 회사를 구입하는 대신 똑같은 시장에 뛰어드는 것 역시 그 회사로서는 결코 바라는 상황이 아닙니다. 금새 그 조그만 회사를 몰아낼 테니까요. 정말 슬픈 일이죠. 미국은 기회의 땅이라고 하는데, 많은 하드웨어 회사나 소프트웨어 회사는 마이크로소프트가 자신들의 시장을 집어 삼킬까봐 늘 두려워 하고 있습니다. 마이크로소프트가 혁신적 기술을 갖고 있어서가 아니라, 그냥 집어 삼키는 거죠.

리눅스가 윈도우즈 95보다 멀티미디어 지원이 더 좋다고 봅니까?

그건 사용자가 무엇을 하고자 하느냐에 달린 것 같아요. 게임 쪽을 보면 DirectX를 이용해서 개발을 하면서 애를 먹는 개발자들이 꽤 있습니다. 분명히 리눅스 상에서 개발하는 것을 더 좋아하는 게임 개발자들이 있고 모든 소프트웨어를 리눅스 상에서 개발하고 있기도 합니다. 그러다가 게임이 다 완성되면 윈도우즈용으로 포팅하는거죠. 윈도우즈 쪽 시장이 훨씬 더 크니까요.

 

많은 멀티미디어 애플리케이션에서 중요한 것은 타이밍입니다. 사용자는 성능에 관심을 갖겠지만 다른 어떤 점보다 부드럽게 재현되는 것이 중요합니다. 일 초에 몇 프레임을 보여줄 수 있는가에는 아무도 관심을 갖지 않습니다. 적절한 횟수로 재현되기만 하면 됩니다. 첫 0.5초에 100프레임이 돌아가고 두번째 0.5초 동안 멍하게 서 있다면 누가 초당 100프레임 재현된 것이므로 괜챦다고 얘기하겠습니까? 그 점에서 마이크로소프트는 문제가 있습니다.

어떤 멀티미디어 파일은 성능이 제일 중요할 수도 있습니다. 많은 멀티미디어 파일은 디스크로부터 읽어 들여서 스크린상에 가급적 빠른 속도로 띄우는 방식으로 재현됩니다. 그리고 대부분의 경우 리눅스 쪽이 훨씬 더 뛰어난 성능을 보여주고 있습니다. 물론 마이크로소프트를 사용해야 할 이유도 많이 있죠. 리눅스 쪽에는 없는 좋은 개발 툴들이 윈도우즈 쪽에는 많이 나와있으니까요. 리눅스도 멀티미디어 개발 환경이 있기는 합니다만 윈도우즈만큼 선택의 폭이 넓지는 않습니다.

느낌상으로는 유닉스가 쇠퇴기를 걷고 있는 플랫폼인 것 같은데요. 윈도우즈 NT가 유닉스를 몰락시킬 수 있을까요?

물론이죠. 유닉스의 가장 큰 문제점 중 하나는 너무 많은 회사가 만들고 있다는 점입니다. 그 많은 회사들 중 진정한 의미에서 마이크로소프트와 경쟁할 수 있는 규모를 가진 회사는 없습니다.(마케팅적인 측면에서) 그 회사들은 서로 경쟁하고 있죠. 그 결과 유닉스 마켓 전체가 침몰해 가고 있습니다. 한 유닉스 회사가 더 큰 시장점유율을 차지할 수는 있겠지만 그것은 다른 유닉스에 없는 특별한 기능이 있기 때문입니다. 소프트웨어 개발자는 그런 것을 원하지는 않습니다. 개발자는 자기 프로그램이 한 번 작성으로 어디서나 잘 동작하기를 원합니다. 반대로 마이크로소프트 윈도우즈 用으로 개발하면 곧바로 시장의 상당 부분을 노릴 수 있습니다. 결국 유닉스 안에서 치열하게 싸워 봐야 유닉스 마켓을 쪼개는 효과만 가져올 뿐입니다.

그러면 리눅스용으로 소프트웨어를 개발할 때의 이점은 무어라고 봅니까?

윈도우즈용으로 무엇인가를 만든는 것은 상당히 까다롭습니다. 많은 개발 툴이 있긴 하지만 버그가 생기면 재시동하고 5분간 기다려야 합니다. 그 버그가 대수롭지 않은 것이라면 재시동 과정은 정말 짜증납니다. 그래서 윈도우즈 프로그래머들은 두 개의 시스템을 별개로 운용하는 경우가 많습니다. 하나는 테스팅 용으로 하나는 프로그래밍 용으로 말이죠.

운영체계가 안정적이면 많은 이점이 있습니다. 리눅스 툴들은 상당히 다릅니다만 프로그래밍에 있어서만큼은 정말 경쟁력이 있습니다. 최고의 개발 툴이 많습니다. 사용하기도 어렵고 배우기도 무척 어려운것은 사실입니다만 일단 익숙해 지고 나면 정말 엄청난 일들을 해낼 수 있습니다.

배우기가 어렵다는 점이 리눅스 성공의 장애요인이 될까요?

네. 비쥬얼베이직을 예로 들면 정말 형편없는 프로그래밍 언어죠. 하지만 개발자가 소규모 애플리케이션을 만들고 있다면 굳이 어려운 것들을 배우려 들지 않을 것입니다. 그 점 때문에 별로 뛰어나지도 않은데도 배우기 쉬운 윈도우즈 개발 환경이 살아남은 것입니다. 리눅스에게 그 점은 상당한 문제 요소입니다. 전통적으로 유닉스 사용자들은 상당히 기술지향적인 사람들이었기 때문에 유닉스를 쓴다고 하면 엄청난 규모의 프로그램을 다루고 있는 것이었죠. 거대한 숫자를 다룬다거나 원자 폭탄의 동작을 연구한다든가 하는 것처럼요. 유닉스를 쓴다고 하는 것은 그런 식이었습니다. 하지만 최근 몇 년동안 유닉스는 데스크탑 쪽으로도 상당히 진출했습니다.

그런 변화가 도움이 되었습니까?

네. 우린 전 세계적 규모의 거대한 작업도 다루고 있지만 최근에는 소규모의 개인적인 것들도 많이 확보해 가고 있습니다. 게임이 중요한 것 같습니다. 게임이 생산성을 높여주기 때문이 아니라 게임을 정말로 원하는 사람들이 있기 때문입니다. 게임 개발자들이 리눅스 쪽에 관심을 갖는것이 정말 다행이라고 생각합니다. 퀘이크를 리눅스 쪽으로 포팅한다고 했을 때 정말 기뻤습니다.

만약 당신이 마이크로소프트 운영체계를 하루 동안 맡게 된다면 어떤 것을 제일 바꿔놓고 싶습니까?

더 할 것이 있을 것 같지 않습니다. 윈도우즈 95나 98은 큰 변화를 줄 수 없습니다. 너무나 많은 프로그램이 윈도우즈에 의존하고 있기 때문에 커널을 폭 넓게 손대는 것이 불가능합니다.

마이크로소프트가 여러 애플리케이션들에 대한 지원을 명시하지 않은 윈도우즈를 출시할 가능성이 있다고 봅니까?

아뇨. 그렇게 하고 싶겠지만 못할 것입니다. 마이크로소프트는 경쟁을 해야 하니까요.

집이나 직장에 윈도우즈 피씨를 갖고 있나요?

아뇨. 그럴 필요가 없습니다. 누군가가 워드 파일을 이메일로 보내는 경우 읽을 수 있는 포맷으로 다시 보내달라고 답장합니다. 제게 메일을 보내는 사람 중 워드 파일을 사용하는 사람은 잘 없습니다. 저와 이메일을 나누는 사람들이 더 잘 알 겁니다!

리눅스도 하나의 생명체라고 볼 때 리눅스도 죽을 수 있는 것 아닙니까?

정말 가능성이 낮은 일이죠. 하지만 기적이 일어날 수도 있습니다. 귀신이 장난을 치든지 해서 마이크로소프트의 차기 운영체계가 정말 괜챦은 것일 수도 있을 테니까요. 그것은 아주 가능성이 낮습니다. 어쨌든 누가 알겠습니까? 리눅스도 천천히 소멸되어 갈 수 있습니다. 한 5% 정도의 시장점유율을 차지하다가 맥 오에스와 똑같은 길을 걷게 될 수 있습니다. OS/2는 경영상의 문제로 사라져버렸고 맥오에스는 특정 플랫폼에 너무 긴밀하게 연결되어 있어서 경제적으로 더 이상 생명력이 없게 되어버렸습니다.

맥오에스가 얼마나 더 살아남을 거라고 봅니까?

제 생각엔 5년내에 완전히 없어질 것이라고 생각합니다. 2년내에 작은 틈새시장만 차지하게 될 겁니다.

BeOS나 MacOS에 비해서 리눅스는 대중의 관심을 끄는 것에 있어서 상대적으로 조용한 편인 것 같습니다.

그건 그야말로 마케팅 문제입니다. 팔린 카피 숫자로 보자면 BeOS는 리눅스에 비교도 안됩니다. 리눅스는 맥오에스와 비슷한 수준이라고 할 수 있죠. 비오에스가 여러 언론의 관심을 모은 것은 최초로 매킨토시 느낌을 재현해 낸 또 다른 운영체계였기 때문입니다. 마이크로소프트와는 정면 승부를 하지 않는 것이죠. 또 다른 틈새시장을 파고듦으로써 상대적으로 안전하게 관심을 끌 수 있었습니다. 이해되시죠? 그리고 그들은 시스템 쪽에 더 관심이 있습니다. 저는 BeOS가 성공할 것으로 보지 않습니다. 결국 상업적으로 마이크로소프트와 맞서기에는 역부족이기 때문이죠. 적어도 현재로는.

마케팅을 직접 담당할 생각은 해보지 않았습니까?

마케팅은 별로 재미 없더군요. 파트타임으로 조금씩 하고는 있지만. 누군가 인터뷰 요청을 하면 흔쾌히 받아들이는데 그건 리눅스가 책에 실려 나오는 것을 보는 게 무척 기분좋기 때문입니다.

그럼 왜 마케팅 담당을 따로 두지 않는거죠?

그럴만한 능력이 없기 때문이죠. 리눅스 인터네셔널이라는 비영리 단체가 있는데 거기서는 가능할지 모르겠습니다. 그 단체는 여러 리눅스 회사에서 자금 지원을 받고 있거든요. 제가 제일 중요하게 생각하는 것은 리눅스 커뮤니티가 마케팅이니 뭐니 하는 것들을 아예 의식하지 않는다는 점입니다. 대부분의 소프트웨어 커뮤니티는 크게 마케팅 지향적으로 되지는 않는 것 같습니다.

마케팅 없이 리눅스가 살아남을 수 있을까요?

인터넷이 있기 때문에 가능하다고 봅니다. 리눅스를 거의 마케팅하지 않았지만 이미 인터넷에는 리눅스에 대한 얘기로 떠들썩하잖아요. 리눅스만을 다루는, 또는 리눅스와 관련된 뉴스그룹 숫자를 보세요. 무척 많습니다. 아마 웹써버와 관계되는 뉴스그룹에 올라오는 글을 보면 압도적으로 리눅스가 대부분을 차지하고 있다는 것을 알게 될 것입니다.

리눅스는 풀뿌리 민주주의처럼 자생력을 갖춰 왔다고 볼 수 있습니다. 이렇게 저렇게 하자고 계획해서 된 것이 아닙니다. 그냥 그렇게 된 것입니다 리눅스는 마케팅 없이도 성공할 만큼 강력한 기능을 갖고 있다고 확신하고 있습니다.

리눅스에 손을 대고 있는 개발자가 전세계에 걸쳐서 엄청나게 분산되어 있는데요. 어떻게 해서 카오스 상태로 되지 않는지요?

외부에 어느 정도 장벽이 쳐져 있는 카오스 상태라고 보는 것이 정확합니다. 저는 커널의 카피라잇을 '리눅스 개발에 참여하는 사람은 누구든지 손을 댈 수 있다'라고 규정해 두었습니다. 마이크로소프트 역시 리눅스 커널을 자기 마음대로 바꾸어서 시장에 내놓을 수 있습니다. 누구나 그렇게 해도 됩니다. 하지만 딱 하나, 그렇게 바꾸어 놓은 것을 다른 사람도 손을 댈 수 있게 해야 한다는 유일한 규칙이 있습니다. 이와 같은 '소유권 없음' 방침 때문에 그 누가 리눅스를 수정하든 가장 좋게 발전시킨 팀만이 신뢰를 얻고 살아남게 됩니다. 그리고 현재까지는 제가, 그리고 저만이 가장 신뢰를 얻고 있습니다. 그러므로 제가 하는 것이 별로라고 얘기하면서, '내가 이건 더 좋게 고쳐 놓겠어'라고 얘길 하더라도 그가 진짜 그렇게 '할 수 있다'는 것을 다른 사람에게 확신시키는 것이 쉽지는 않을 것 같습니다.

분명히 혼란스런 상태지만 전체적으로는 안정적인 상태로 발전되어 나갈 수 있게 되어 있습니다. 개발 방향을 이끌려면 정말 뛰어난 실력을 갖고 있어야 합니다. 최고의 실력을 가진 사람이 어디에 있다는 것이 알려져 있는 것은 뭔가를 개발하는데 있어 매우 확실한 안전판입니다.

당신이 최고인 한은 어떻게 돼도 상관없다는 것이군요?

그렇습니다. 누군가 더 뛰어난 것을 선보인다고 해서 내가 잃을것은 별로 없습니다.

당신외에 다른 사람도 그런 지위를 나눠가질 여지는 없는건가요?

실제 공동 개발자로 참여하고 있는 사람이 여러 명 있습니다. 제가 개인적으로 믿고 있는 사람들이죠. 누군가 더 좋은 변화를 가져올 수 있다면 언제든지 받아들일 겁니다. 그런 사람들은 믿을 수 있습니다.

당신이 현재 누리고 있는 지위를 볼 때 리눅스의 성공으로 부터 현실적 이익을 얻고 있는 것은 아니냐는 비판이 있을 수도 있는데요. 그런 면이 있지 않은지 그리고 그것이 'free OS' 운동 전반에 악영향을 주지는 않는지요?

이익을 챙긴다구요? 상당한 인정을 받고 있는 것은 사실이지만 어떤 것은 과하다고 생각하고 있습니다. 제가 커널의 핵심 기능의 많은 부분을 만들어 낸 것은 사실입니다. 하지만 여러 드라이버는 수백 명의 다른 개발자들이 완성해 낸 것입니다. 어떤 면에서는 그 개발자들이 자신의 노력에 상응한 명성을 얻지 못하고 있는 것도 사실입니다. 리눅스 개발이라고 하면 사람들이 저를 떠올리기 때문입니다. 흡사 빌게이츠가 수천 명의 직원들의 노고로 이뤄진 마이크로소프트의 모든 영예를 가져가는 것과 비슷합니다. 하지만. 리눅스 때문에 번 돈은 별로 없습니다.

리눅스로 돈을 벌기는 했습니까?

아뇨. 제가 리눅스를 만들어 냈기 때문에 내 이름을 사용할 수 있었다는 것 그리고 리눅스 덕분에 리눅스가 없었다면 갖지 못했을 무척 좋은 직업을 갖게 된 것 같은 간접적인 혜택은 분명히 있었습니다만. 몇 년전만 해도 저는 가난한 한 명의 학생이었던 것을 다들 기억하고 있습니다. 크리스마스 때면 몇몇 사용자들이 개인적으로 100달러 수표를 보내주기도 했습니다. 꼭 개발 비용은 아니었습니다만 사람들이 자발적으로 적은 돈이라도 지불하고자 했다는 것 자체가 무척 흐뭇했습니다.

리눅스는 인스톨하기가 무척 어렵다고 알려져 있습니다만?

완전히 잘못 알려진 것입니다. 피씨를 사면 윈도우즈가 그냥 인스톨되어 있기 때문에 사람들이 그런 인식을 갖게 되었습니다. 윈도우즈를 인스톨하는것이 얼마나 복잡한 과정을 거치는지를 모른 채 컴퓨터를 마주하게 되는 것입니다. 리눅스는 혼자서 인스톨해야만 하기 때문에 어렵게 느껴집니다. 대부분의 리눅스를 사용하고자 하는 사람들은 윈도우즈를 쓰던 사람들이고, 윈도우즈가 별로 쉬운 운영 체계가 아닌 것은 확실하지만 어쨌든 거기에 익숙해져 있습니다. 스틱을 운전하다가 오토로 바꾸는 경우 처음에는 익숙지 않은 것과 마찬가지입니다. 어떤 면에서는 스틱이 낫고 어떤 부분에서는 오토가 더 적합합니다. 각기 맞게 쓰거나 두 가지를 동시에 써도 됩니다.

리눅스는 혼자서 인스톨해야 하기 때문에 훨씬 더 어렵게 느껴집니다. 하지만 이상이 생길 때마다 다시 인스톨해야 하는 윈도우즈와 달리 리눅스에서는 그런 일을 경험하기 힘들 것입니다.

리눅스가 틈새시장만을 차지하게 될까요?

아뇨. 25%-30% 정도만 차지하게 되었스면 좋겠습니다. 리눅스가 95%를 차지하게 된다면 그것 역시 문제가 있습니다. 어떤 식으로든 경쟁이 있어야 합니다.

현재 누리고 있는 성공이 만족스럽습니까?

네. 정말 믿기 어려울 정도죠. 생각해 보세요. 저는 어린 대학생이었고 리눅스를 만든 것은 7년 전입니다. 그런데 지금 리눅스는 마이크로소프트의 유일한 대안 운영체계라는 평가까지 받고 있쟎아요. 이 이상 어떻게 더 성공할 수 있겠습니까?

하지만 더 빨리 더 크게 성공하고 싶죠?

아뇨. 더 크게 성공하고 싶긴 합니다만 빨리 성공하고 싶지는 않습니다. 15% 차지하는데 7년 정도 걸린다면 딱 좋을 것 같은데요.

"리눅스"라는 이름은 당신 이름에서 따온 것입니까?

네. 원래는 "Freix"라는 이름을 쓰려고 했습니다. 말장난으로 그렇게 명명했던 것인데 핀랜드 FTP 싸이트 담당자가 그 이름이 별로 맘에 안 들었었나 봐요. 그 사람이 리눅스라고 결정했습니다.

현재 리눅스가 받고 있는 가장 큰 오해가 뭐라고 생각합니까?

인스톨이 힘들다고 알려진 것요. 그 외에 약간의 정치적인 문제도 있습니다.

이를테면요?

오픈소스 정책을 견지하면서 운영체계를 무료로 뿌리는 것이 공산주의와 관계 있는 것은 아니냐는 시각을 가진 사람이 있습니다. 그런 생각을 하는 사람들은 마이크로소프트가 좋은 회사라고 생각합니다. 마이크로소프트가 좋은 제품을 만들어 내기 때문이 아니라 '세상에서 제일 부자인 사람이 갖고 있는 회사는 무조건 좋은 것이다'라고 얘기하는 사람들이죠. 그런 사람들은 항상 상업적인 성공에만 관심을 갖습니다. '리눅스인지 뭔지 이런 식으로 무료로 뿌리는 것은 미친 짓이야'라고 얘기하는 것입니다. 그런 이메일을 받기도 했습니다. 이렇게 씌여 있었죠. '미국인 직장 빼앗는 짓 그만하고 너네 집 핀랜드로 가서 발닦고 자라.' 그건 아마 제가 마이크로소프트와 경쟁관계에 있기 때문일 것입니다. 하지만 그런 사람들은 자본주의가 시장에서의 경쟁을 바탕으로 이뤄진 것이라는 초보적인 사실조차 완전히 무시하는 사람들입니다.

리눅스 유저는 대부분 어떤 사람들이죠?

조금씩 바뀌어 왔습니다. 여전히 대학생들이 많이 쓰고 있지만 많은 기업체들도 웹써버를 리눅스로 구축하고 있습니다. 리눅스를 프로그래밍용으로 사용하는 사람들도 있고 웍스테이션으로 쓰는 사람도 있습니다. 단지 리눅스를 사용해 보고 싶다는 이유만으로 리눅스를 인스톨하는 것에는 반대합니다. 여러 대학에서 리눅스를 사용하고 있습니다. 많은 기업체에서도 리눅스 시스템을 도입하면서 이렇게 얘기하고 있습니다. '웍스테이션이 하나 필요한데 제일 저렴하고 빠른 방법은 피씨를 하나 사서 리눅스를 인스톨하는 것이다.' 웍스테이션 절반 가격에 웍스테이션급 컴퓨터가 갖춰지는 것입니다.

엔드 유져는 얼마나 됩니까?

확실히 말하기는 힘들지만, 아마 5백만에서 1000만 명쯤 될 것입니다. 시장 조사에서 그렇게 나왔거든요. 믿을 만한 조사였긴 하지만 어쨌든 추정치는 추정치일 뿐이죠.

리눅스 유저는 어떤 하드웨어의 드라이버가 만들어질 때까지 상당히 기다려야 하는 경우가 있는데요. 그게 공정하다고 생각합니까?

어떤 면에선 공정하다고 봅니다. 제 말은 하드웨어 회사에게 리눅스용 드라이버를 써라고 요구하는 것이 불공정하다는 얘기죠. 그들이 왜 그래야 합니까? 그럴 이유가 없습니다. 어쨌든 리눅스는 현재 시중에 나와있는 거의 대부분의 하드웨어를 다 지원할 수 있을 만큼 많은 드라이버가 있습니다. 그리고 잘 안쓰는 하드웨어용 드라이버도 거의 다 있습니다. 소스코드가 공개되어 있기 때문에 많은 사람들이 드라이버를 직접 만드는 것에 관심을 갖고 있습니다. 하드웨어 제조회사 중에 리눅스용 드라이버를 따로 만들어서 배포하는 곳도 있구요.

하드웨어 회사가 리눅스 드라이버를 만들게 하는 게 어려운가요?

무척 어렵습니다. 그래 왔습니다. 오히려 하드웨어 회사가 여러가지 충분한 정보를 공개해서 리눅스 사용자가 직접 드라이버를 만드는 데 도움이 되도록 하는 게 훨씬 쉽습니다. 대부분의 드라이버가 그렇게 만들어져 왔구요. 그런데 정보조차 공개하지 않으려는 하드웨어 회사가 있습니다.

그게 누구죠?

Matrox 같은 회사가 그렇습니다. 그 회사는 프로그래밍 관련 정보를 제공하지 않았습니다. 그런 경우는 상당히 드물다고 할 수 있습니다. 여전히 그런 문제가 있기는 하지만 대부분의 회사들은 프로그래밍 관련 정보를 기꺼이 제공하려고 합니다. 상당히 적극적으로 도와주는 회사도 있습니다. 자기 회사 엔지니어를 파트 타임으로 보내준다든지 질문에 대해 무척 자세히 답변해준다든지.

대부분의 하드웨어 회사는 거의 다 소프트웨어 쪽에서 돈을 벌지 않습니다. 그들에게 드라이버는 사실상 돈을 지출하는 항목입니다. 만들기는 해야 하는데 누군가 대신 해주었으면 하는 일입니다. 그래서 대개 어떻게 프로그래밍 해야 하는지를 알려주는 것을 무척 좋아합니다. 자기들에게 도움이 되니까요. 하드웨어를 팔아서 돈을 남기니까요. 정보를 알려 주지 않는 회사는 대부분 형편없는 제품을 만드는 곳입니다. 그런 제품은 별 볼 일 없다는 사실을 만든 사람 자신이 더 잘 알고 있습니다. 그래서 공개하기를 꺼립니다. 또 경쟁사가 자기 제품을 베낄까 봐 공개를 꺼리는 경우도 있습니다. 피씨 비즈니스에서 베끼기는 보편적 현상이니까요.

형편 없는 하드웨어란 어떤 것이죠?

예를 들면 하드웨어 자체는 기능이 별로이고 소프트웨어가 대부분의 작업을 담당하는 것들이죠. 소프트웨어 모뎀이 대표적 예가 되겠네요. 정말 엉망인 제품이죠. 단지 싸다는 이유말고는 아무런 존재 이유가 없습니다. 더 나쁜 것은 이런 얘기를 하는 사람이 있다는 거죠. '이것 봐, 우린 그런 것들을 소프트웨어적으로 처리할 만큼 충분한 씨피유 파워가 있다구...' 물론, 요즘 컴퓨터의 씨피유 파워는 막강합니다. 하지만 그 귀중한 씨피유 타임을 왜 큰 비용을 들이지 않고 하드웨어적으로 쉽게 처리할 수 있는 일에 소비합니까? 그런 쓰레기 하드웨어를 사는 사람들은 그것이 얼마나 나쁜지 장기적으로 얼마나 많은 손해를 입는 것인지를 모르고 있습니다.

리눅스 지원을 위해서 같이 작업하고 있는 회사가 있습니까?

개인적으로는 없습니다. 판매용 리눅스 패키지를 만드는 곳에서는 넷스케잎을 비롯한 몇몇 회사와 공동작업을 하고 있다고 들었어요. Caldera를 예를들면, 넷스케잎이 리눅스를 지원한다고 발표하기 이전에 이미 계약을 맺었었죠. 하지만 크게 봐서 별로 진척된 것은 없습니다, 아직까지는.

앞으로는 있을것 같습니까?

내가 보기엔 몇년전, 아니 일년 전만 해도 하드웨어 회사는 리눅스가 뭔지도 잘 몰랐습니다. 따라서 리눅스에 관심을 가진 사람도 깊이있는 대화를 할 채널을 확보하는 것이 무척 어려웠죠.

그러면 그런 회사들과 접촉할 채널은 누가 맡고 있습니까?

특별히 없어요. 각 개인이 각각의 회사와 얘기를 나누는 형태로 되고 있죠. 특별히 하이엔드 하드웨어 회사 쪽에 지원 요청을 하고, 드라이버를 만들려고 하는 사람이 있는것이 참 다행이죠. 하드웨어 회사로부터 문서나 개발 지원 등의 도움을 많이 받을 수 있었습니다.

리눅스로 포팅되기를 바라는 특별한 소프트웨어 애플리케이션이 있습니까?

일상적으로 많이 쓰는 데스크탑 애플리케이션이 더 많이 포팅되었으면 좋겠습니다.

일상적이라면 어떤 것이죠?

테크니컬 애플리케이션은 이미 충분합니다. 데이타베이스, 컴파일러 같은 것들요. 부족한 것은 오피스 같은 사무용 소프트웨어죠. 오피스 소프트웨어도 두 종류쯤 나와 있기는 합니다만 아직까지 모든 사람이 일상적으로 활용할 만한 상태는 아닌 것 같습니다.

게임은 어떻습니까?

더 많은 소프트웨어가 갖춰져야 한다고 생각하지는 않습니다. 더욱 많은 개발이 이뤄져야 할 부분인 것은 사실입니다. 실제 어떤 게임 회사는 게임 플랫폼으로 리눅스를 더 염두에 두고 있기도 합니다. 특히 몇몇 큰 아케이드 게임 제작 회사에서 관심을 보이기도 했습니다. 그들은 제한된 하드웨어에서만 자신들의 게임을 플레이할 수 있다는 것을 벗어나고 싶어합니다. 대부분의 현대적 게임들은 운영체계에 매우 강하게 의존할 수밖에 없습니다. 멀티-태스킹 같은 것들 말이죠. 그런 점 때문에 라이센싱 계약 문제나 라이센싱 비용이 전혀 필요없는 리눅스에 관심을 갖는 회사도 생겨나고 있습니다. 하지만 현재로서는 그냥 의견개진 수준일 뿐이고 실제로 뛰어든 회사는 없는 것으로 알고 있습니다.

좋습니다. 리눅스를 인스톨 할 수 없는 플랫폼도 있습니까? 아니면 리눅스를 돌릴 수 없는 플랫폼이라든지요?

예전에 저는 적절한 메모리 관리 유닛이 없는 것으로는 리눅스를 포팅할 수 없을거라고 생각하고 있었는데요. 어떤 굉장한 사람들이 리눅스를 팜 파일롯으로 포팅했더군요. 그것을 보고 나서는 어디로든 리눅스를 포팅할 수 있겠다고 생각하게 되었습니다.

리눅스를 여전히 교육용으로 쓸 수도 있습니까?

그럼요. 운영체계 교육을 하려면 운영체계가 실제 어떤 식으로 동작하는지를 보여줄 수 있어야 합니다. 리눅스를 사용하면 쉽게 그 목적을 달성할 수 있습니다. 리눅스는 소스코드가 공개되어 있고 소스코드를 마음대로 바꾸는 것이 허용되어 있으니까요. 마이크로소프트는 몇몇 큰 대학에만 NT 소스를 라이센싱 해주었다고 합니다. 그것도 그냥 라이센싱한 것이 아니고 학생들에게 일일이 서약서를 받았다고 하더군요. 중고등학교에서야 별 문제가 안 될 수도 있지만 대학교에 그런식 으로 하는 것은 정말 웃기는 일입니다. 뭔가를 배웠으면 거기에 관해 의견을 나눠야만 하니까요. 그런데 비밀을 지키겠다는 각서를 쓰게 하다니요. 제대로 된 대학이라면 그런 라이센스를 받아들이는 곳은 하나도 없을 것입니다.

그런데도 그 제안을 받아들인 대학이 상당수 있더군요. 정말 역겨운 일입니다. 마이크로소프트에서 일하지 않을 것이라면 프로페셔널 수준까지는 가르치지 않겠다는 것이 말이 됩니까? 학교라는 곳에서 그런 일이 벌어질 수 있다는 것이 정말 황당합니다.

당신과 빌게이츠는 이제 피할 수 없는 한 판을 치루어야 할 것 같은데요. 누가 살아남을 것 같습니까?

하하하. 잘 모르겠습니다. 둘 다 살아남겠죠.

왜요?

빌게이츠가 저를 개인적으로 싫어할 것이라고 생각하지는 않습니다. 밤 잠 못 이루며 리눅스를 없애버릴 궁리를 하지는 않을 거에요. 분명히 리눅스를 의식하고는 있지만 걱정까지 할 정도는 아닐 것입니다. 적어도 아직까지는요. 그리고 저는 '빌 게이츠가 리눅스를 없애버리지 않을까' 같은 생각은 하지 않습니다. 사람들은 빌 게이츠가 위대한 프로그래머이고 세계 최고의 컴퓨터 관련 회사의 최고 경영자라고 얘기하고 있지만 기본적으로 빌 게이츠는 철저한 마케팅맨입니다. 옛날에는 프로그래밍을 조금 접해보기도 했겠지만 그렇게 오래 계속하지는 않은 것으로 알고 있습니다. 리누스 토발즈와 빌게이츠는 전혀 다른 세계에 있는 사람이란 얘기죠.

자기 자신이 대안 운영체계 부문의 빌 게이츠라고 생각합니까?

아뇨. 저는 빌 게이츠와 전혀 다른 종류의 사람이라니까요.

그렇다면 누구와 자신을 비교합니까?

특별히 없습니다. 어떤 사람 자체를 존경하기 보다는 그 사람의 과학자적인 면모를 존경하는 편입니다. 그런 면에서도 아직까지는 존경할 만한 사람이 없습니다.

마이크로소프트에서 일하는 것을 고려해본 적도 있습니까?

네. 어떤 직업이 단지 마이크로소프트에서 일하는 것이라는 이유만으로 거절할 이유는 없죠. 하지만 제가 원하는 직업은 그야말로 드림 잡인데, 마이크로소프트에는 그런 드림 잡이 없는 것 같습니다.

당신의 드림 잡은 어떤 것이죠?

하와이에서 퀘이크 게임을 하는 댓가로 고액의 연봉을 받는 것요.^_^ 농담이구요. 제가 관심을 갖고 있는 부문에서 정말 도전해 볼 만한 일거리를 제시하는 곳이라면 한 번 일을 해보고 싶습니다. 마이크로소프트는 악마고 빌게이츠는 사탄이라는 식의 맹목적인 생각은 갖고 있지 않습니다.

당신 자신이 리눅스 전도사라고 생각합니까?

어떤 면에선 그렇죠. 적절한 기회가 있으면 항상 리눅스를 소개하고 추천합니다. 하지만 그와 동시에 저는 특별한 편견이 없는 사람으로 보여졌으면 좋겠습니다. 사실은 저는 굉장히 편향된 사람입니다. 하지만 다른 운영체계의 좋은 점을 더 많이 발견할 수 있었으면 좋겠습니다. 다른 이유는 아니고 리눅스가 더 우수하다는 것을 확인하기 위해서요.

당신이 이룬 최고의 성취가 리눅스라면 두 번째는 뭐가 될까요?

글쎄요. 잘 모르겠는데요. 그런 식으로 생각해 본 적은 없습니다. 항상 적절한 자부심을 가질 수 있도록 살자는 신조로 살아왔고 리눅스는 그런 제 삶의 방식의 일부분일 뿐입니다. 아버지 역할을 하는 것, 다른 사람으로부터 신뢰 받는 사람이 되는 것, 리눅스 관련 일을 하는 것, 이 모든 것이 제 삶의 부분 부분을 이루고 있고 어떤 것이 특별히 더 중요하다고 얘기하기는 힘듭니다.

앞으로 리눅스를 어떻게 발전시켜 나가고 싶습니까?

특별한 계획은 없습니다. 몇 년전만 해도 SMP가 문제가 될거라곤 생각지 못했습니다. SMP 머쉰은 너무 비쌌고 보통 사람들이 접근하기에는 큰 부담이 있었죠. 요즘도 대부분의 사람들은 싱글 CPU 머신을 쓰는 게 보통입니다. 하지만 듀얼 CPUs 가격이 큰 폭으로 떨어지고 있어서 웬만큼 컴퓨터를 하는 사람이면 누구나 쉽게 구입할 수 있게 되어 가고 있습니다. 이제는 SMP가 중요해질것 같습니다. 아직은 SMP와 관련해서 특별히 계획해둔 것이 없기 때문에 변화된 현실에 맞게 저 자신도 준비해야겠죠. 특별한 계획은 없습니다. 딱 하나 계획이 있다면 더 좋은 시스템을 만들겠다는 정도입니다. 더 좋은 시스템이란 사람들이 무엇을 필요로 하느냐에 따라 달라질 수 있는 것인데 사람들의 필요가 항상 바뀌쟎아요.

당신이 그런 필요성을 이끌 수 있는 것은 아닌가요?

아뇨. 그렇게 될 수 없습니다. 한번도 리눅스가 무엇을 지원한다고 규정한 적이 없습니다. 어떤 액션에 대해서 리눅스도 뒷받침을 해야한다는 정도로만 얘길 했습니다. 리눅스에 있는 거의 대부분의 기능들은 개인적으로는 거의 다 필요없는 것들입니다. 저는 파워 유져이기 때문에 아주 특별한 요구사항을 갖고 있기 때문입니다. 저는 싸운드카드를 한 번도 써본 적이 없습니다. 그런 것에는 전혀 흥미가 없기 때문입니다. 하지만 리눅스는 싸운드카드를 확실하게 지원하고 있아요.

그렇다면 퀘이크는 어떻게 플레이 하죠?

싸운드 없이요. 사실은 퀘이크를 그렇게 많이 하지는 않습니다. 리눅스용 퀘이크가 있다는 것은 정말 기쁘게 생각합니다만 게임은 별로 하지 않습니다. 가끔 게임을 구경하기는 합니다. 다른 일을 하는것과 비슷하게 그냥 돌려보는 것이죠. 하지만 게임보다는 리눅스 관련 일이나 프로그램 디자인, 코딩이 훨씬 더 재미있습니다.

SMP는 현재 어떤 상태에 있습니까?

현재 우리는 다음 스테이블 버전인 Linux 2.2를 준비하고 있습니다. 새로운 SMP 지원 기능은 그 전보다 훨씬 더 탄탄해질 것입니다. 현재 스테이블 버전인 2.0 역시 SMP를 지원하고는 있습니다. 대부분의 경우 잘 돌아갑니다. 하지만 어떤 하드웨어와는 마찰이 있고 별로 좋지 않은 성능을 보이는 경우도 있습니다. 현재 개발 중인 커널은 그 점을 해결할 것입니다. 두 개의 씨피유 상에서 여러 가지 작업을 하는 것이 더 부드럽게 이뤄질 것입니다. 다음 스테이블 버전에서는 멀티플 씨피유를 더 원활하게 쓰게 된다고 생각하면 됩니다. 이 부분은 어쨌든 계속 발전되어 갈 부분입니다만, 현재로는 두 개의 씨피유와 네 개의 씨피유를 사용하는 쪽으로만 집중해서 개발하고 있습니다. 대부분이 그것을 쓰니까요. 특히 두 개짜리. 하지만 몇 년내로 8개 짜리가 보편화될 것이 분명하기 때문에 8개의 씨피유를 최대한으로 사용할 수 있는 것도 계속해서 개발해야 할 것 같습니다. 지금도 쓸 수 있기는 하지만 스피드가 더 보강되는 효과는 별로일 것입니다.

다음 버전에 첨가할 기능은 어떤 게 있죠?

크게 달라지지는 않을 것입니다. 성능을 조금 더 개선하는 버전이 될 것입니다. 2.2는 공식적으로 PowerPC와 SPARC 지원을 할 예정입니다. 그리고 SMP는 아까 얘기한 대로 훨씬 더 좋아질 것입니다. 전반적으로 성능이 좋아진다고 보면 됩니다.

만약 당신이 리눅스에 대해 잘 모르고 있는 포츈 50위 안에 드는 대기업 회장 옆 좌석에 앉아 있다면 어떤 식으로 리눅스를 소개하고 추천하겠습니까?

안됐지만 포츈 50위 안에 있는 회사는 모두 다 리눅스를 쓰고 있습니다. 단지 CEO가 그걸 모르고 있을 뿐이죠. 엔지니어링을 맡고 있는 부서나 지원 부서에서 다들 리눅스를 쓰고 있습니다. CEO가 알아차릴 정도는 아니지만.

그러면 CIO가 앉아있다면요?

CIO라면 리눅스를 알겠지만. 아니, 어쩌면 CIO도 리눅스를 모를 수 있겠죠. 리눅스가 어떤 회사 내부에 처음 발을 들여놓는 것은 대개 특별한 프로젝트를 담당하고 있는 소수의 그룹이 리눅스를 사용하게 되면서부터입니다. 자기 프로젝트와 관련된 서버를 구축하는 데 리눅스를 사용합니다. 그런 일이 가장 문서 만드는 것과 관계가 적기 때문이죠. 주변에 놀고 있는 아무 피씨나 골라서 (사양이 꼭 낮은 건 아닐 것입니다. 어떤 회사에서는 듀얼 팬티엄 피씨가 깔려있을 수 있으니까요.) 리눅스를 인스톨해서 실행하면 그냥 바로 되는 것입니다. 회사 차원에서 공식적으로 지원되지는 않겠지만 여기저기서 리눅스를 쓰고 있다 보면 비슷한 필요를 느낀 또 다른 부서에서도 리눅스를 고려하게 됩니다. 결국 리눅스는 대단히 비공식적인 형태로 회사 내부에 발을 들여놓는 것입니다. 회사의 공식 라인에서 이를 알아채면 '그건 규정에 어긋난 것이다'라고 제지할 수도 있겠지만 비공식적으로 리눅스의 사용을 통해 얻게 되는 장점을 받아들이게 됩니다. 아직까지 여러 회사들의 MIS 파트에서 공식적으로 리눅스를 추천 소프트웨어 리스트에 올려놓지 않고 있지만 조만간 이것도 바뀌어 갈 것입니다.

리눅스가 무료로 배포되지 않을 수도 있을까요?

아뇨.

굉장히 빨리 대답하시는군요.

그렇습니다. 그 전에도 그런 질문을 받아 봤었기 때문이죠. 그 누구도 리눅스는 무료라는 것을 훼손할 수 없습니다. 그것이 바람직한 방향이라고 확신합니다. 리눅스의 카피라잇도 그렇게 되어 있습니다. 누군가 큰 기능 보강을 한 패치를 보내주더라도 거기에 대해 카피라잇을 규정하라고 하지 않습니다. 현재, 커널의 경우 50-100개의 카피라잇 보유자가 있습니다. 카피라잇에는 소스코드를 항상 공개한다고 규정하고 있습니다. 누군가 라이센스 규약에 어긋난 리눅스 버전을 만들려고 한다면 50-100개의 카피라잇 보유자의 동의를 얻어야만 합니다. 커널 중 제게 소유권이 있는 부분이 핵심적인 부분이라는 것은 사실입니다. 하지만 그것만으로는 좋은 시스템을 만들 수가 없습니다. 그것은 제 양심을 걸고 일부러 그렇게 한 것입니다. 스스로 족쇄를 채운 셈이죠. 그래서 저를 개인적으로 신뢰하고 있지 않은 사람도 제가 리눅스를 바꾸려 해도 바꿀 수 없다는 사실을 믿을 수 있습니다.

리눅스를 소개할 한마디를 만든다면요?

개발 초기부터 그런 결론을 내렸습니다. 내게 오는 이메일에 있는 여러 가지 이야기들은 실제 그런 기능을 수행할 수 있는 코드가 담겨있거나 진짜 무엇인가를 이끌어낼 수 있는 논의가 아니면 그냥 지나가는 바람과 같은 것이라구요. 그러므로 리눅스 소개 문구를 하나 만든다면 나이키 것을 훔쳐오고 싶군요. 'Just Do It'이라고. 말로 떠들지 말고, Just Do It. 그렇게 해서 완성되고 나면 세상에 선보이라구요.

칼데라(Caldera)는 마이크로소프트가 하드웨어 회사들에게 리눅스를 인스톨하지 말라고 협박했다는 의혹을 제기했습니다. 거기에 대해서 하실 말씀은?

아직 밝혀지지 않은 비공식적인 얘기입니다만 대부분은 그랬을 거라고 당연시하고 있습니다. 마이크로소프트가 공식적으로 인정하게 할 수 있을 것 같지는 않습니다. 주장의 근거는 있을 것입니다만 증명하는 게 쉽지 않을 것입니다. 마이크로소프트도 자신들이 의심스럽게 생각한 바를 밝힐 권리가 있습니다. 실제적인 증거 없이 그냥 매도해서는 안됩니다.

당신은 여전히 믿지 않는다는 건가요?

그럼요. 그러니까 제 개인적으로는 마이크로소프트를 대상으로 제기된 여러가지 의혹들 대부분이 사실일거라고 생각합니다만 그런 의혹들 중 상당수는 악의적인 것도 있다는 것이죠.

Digital 외에 다른 OEM 하드웨어 제조사들중 리눅스를 운영체계로 채택한 곳이 있는지요?

리눅스를 지원한다고 밝힌 회사는 매우 많습니다. 실제 하드웨어 박스에 '리눅스 지원'이라는 스티커를 붙여서 출시하는 회사도 있습니다. 하지만 그건 좀 드물죠. Digital은 큰 회사로서는 드물게 리눅스를 지원한다고 밝혔는데 사실은 확실하게 공식적으로 밀고 있는 것은 아닙니다. 광고 귀퉁이에 조그맣게 리눅스를 지원한다고 해 놓은 정도죠.

펭귄은 어떻게 해서 나타난거죠?

별 의미는 없습니다. 4-5년 전쯤 호주로 여행을 갔었을 때 'fairy penguine'에게 두들겨 맞은 게 이유라면 이유겠죠.

'fairy penguine'이 뭡니까?

 

 

Fairy penguine은 10인취쯤 되는, 부리가 달린 성질이 거친 동물입니다. 그 중에 하나를 쓰다듬어 주려 할 때 저를 마구 때리더군요. 그 녀석을 보고 첫 눈에 반했죠. 몇 년쯤 지난 뒤 리눅스의 로고를 무엇으로 할까 의논할 때 사람들은 대개 지루하고 상업적 분위기가 짙은 로고를 얘기하더군요. 저는 펭귄으로 하자고 했습니다. 여전히 펭귄을 별로 탐탁챦게 생각하는 사람들이 있기는 합니다. 프로페셔널한 느낌이 나지 않는다는 것이죠. 하지만 기본적으로 그것은 장난기를 담기 위한 거였습니다. 장난기 넘치고, 조금은 건방스러워 보이는 로고로 하는 것이 둔하고 지루한 로고를 달고 있는 것보다 훨씬 더 낫다고 생각합니다.

현재 일하고 있는 트랜스메타(Transmeta)는 당신의 프로그래밍 기술을 보고 고용했겠죠. 트랜스메타는 리눅스 관련 회사입니까?

아닙니다. 졸업할 때쯤 많은 제의를 받았습니다. 특별히 리눅스와 관련이 없는 직업을 택해야겠다는 생각을 하고 있었는데요, 왜냐하면 사장이 불러서, '리눅스로 돈을 벌려면 이런저런 기능이 더 첨가되어야겠는데 말야'라는 식으로 저를 옭아매는 것이 싫었기 때문입니다. 그런 것은 정말 싫습니다. 물론 그런 부분을 담당하는 유닉스 전문가가 있다는 것은 다행스럽게 생각합니다. 리눅스를 상용으로 판매하는 회사에서 리눅스의 상업적인 면을 잘 살려나가고 있는 것도 괜챦다고 생각합니다. 다만 개인적으로는 그런 류의 경제적 성공에 관계하고 싶지 않습니다.

받은 제의들을 살펴보면서 그 회사가 유닉스 관련 회사이든 아니든 리눅스 개발을 하는 것을 인정해 줄 수 있는지를 확인해 보았습니다. 트랜스메타가 그 점에서 최고였습니다. 트랜스메타에서는 리눅스를 많이 사용하고 있고 근무시간에 리눅스 관련 일을 하는것을 허락해 줬으니까요. 제게는 최고의 근무조건이죠.

반응형
댓글