ZDNet Korea 디지털 시대의 선명한 기준(
http://www.zdnet.co.kr)에서 퍼 왔습니다.
Stephen Shankland (CNET News.com)
2004/12/23
원문보기리누스 토발즈가 리눅스의 개발에 수천 명이나 되는 프로그래머들의 재능을 성공적으로 활용하고 있을 때 아마 가장 타격을 받은 운영체제는 썬 마이크로시스템즈의 솔라리스였을 것이다.
현재 토발즈과 그의 연합 전선은 오랜 경쟁자의 새로운 도전에 직면하고 있다. 썬은 솔라리스를 오픈소스 프로젝트로 바꾸고 솔라리스를 이용하는 프로그래머들의 자체 커뮤니티를 만들었다. 또한 인텔 제온 프로세서처럼 폭넓게 사용되는 x86 프로세서 장착 컴퓨터에 솔라리스를 탑재하도록 장려하고 있다.
그러나 토발즈는 솔라리스의 행보에 그리 개의치 않는 듯한 반응을 보였다. 사실 그는 솔라리스의 이러한 변신에 대해 “하찮은 일”이라고 평하며 노골적으로 신경쓰이지 않는다는 제스처를 취했다.
토발즈는 현재 고군분투하고 있는 칩 설계 업체 트랜스메타에서 수년 간 일했다. 하지만 그는 지금 “앞길이 좀 더 투명한 미래를 위해” 오픈소스 개발 연구소(OSDL)에서 근무하고 있다.
OSDL에서 토발즈는 동료이자 리눅스 커널의 2인자인 앤드류 모튼과 함께 광범위한 전면 개정보다는 기존 2.6 커널에 자주 작은 변화를 주는 새로운 개발 프로세스를 확립하는 데 매진하고 있다. 그는 새로운 프로세스로 리눅스 커널의 개선 속도가 더 빨라지기를 원하고 있다.
CNET 뉴스닷컴은 솔라리스, 그리고 그의 즉흥적인 프로그래밍 스타일과 같은 몇가지 주제를 갖고 그와 인터뷰를 가졌다.
썬이 이번에 솔라리스의 기술을 개선하고 오픈소스화해 x86 분야로 침투하기 시작했다. 어떻게 생각하는가? 썬에 대해서는 지켜보자는 자세를 견지하고 있다. 내가 보기에 그들은 말이 너무 많다. 앞으로 어떻게 행동할지 기다리고 있는 중이다.
썬이 이제 방관자적 입장을 박차고 나와 뭔가 새로운 시도를 하려는 것으로 보인다. 솔라리스 10 베타 버전에 포함된 컨테이너, D트레이스, ZFS와 같은 것들이 그 예다. 또한 썬은 의욕적으로 개발자들과 소프트웨어 업체들을 지원하려 나서고 있으며 x86용 솔라리스 10을 무료로 발표하기까지 했다. 썬이 이처럼 x86 시장에 무게를 두는 것과 솔라리스에 추가된 새로운 기능들을 어떻게 보고 있나? 솔라리스/x86은 실질적으로 말도 안되는 얘기다. 솔라리스는 하드웨어 지원이 매우 부실하다. 행여라도 리눅스가 드라이버를 잘 지원하지 않는다고 생각한다면 솔라리스/x86을 써보기를 권한다(편집자 주 : 여기서 드라이버는 운영체제가 그래픽 카드나 LAN 카드와 같은 하드웨어와 통신하는 데 사용되는 소프트웨어를 말한다)
IBM의 스티브 밀은 리눅스 개발 로드맵 중 많은 부분이 앞이 훤히 보이는 고속도로와 같다고 말한 바 있다. 그러니까 유닉스의 발자취를 보면 리눅스가 어디로 갈지 보인다라는 의미다. 당신이 보기에 리눅스는 자기 갈 길을 가고 있는 것인가, 아니면 유닉스의 기술을 적용하고 있는 것인가.
난 검증된 개념의 신봉자로 아이작 뉴튼을 매우 존경한다. 아이작 뉴튼은 분명히 지금까지도 가장 영향력 있는 과학자 중 한명이다. 그러나 내가 존경심을 품는 다른 이유는 바로 그를 유명하게 만든 언사 때문이다. “내가 더 멀리 볼 수 있다면 그것은 내가 거인의 어깨를 딛고 서 있었기 때문이다.”
사실 뉴튼이 실제 생활에서도 괜찮은 사람은 아니었던 것 같다. 그러나 내가 보기에 뉴튼의 그 말은 과학이 무엇인지 구체화한 것이다. 오픈소스도 전 부분이 거인의 어깨에 서 있다는 점, 그리고 다른 분야의 개념과 생각을 점진적으로 개선하고 있다는 점에서 일맥상통하는 면이 있다.
새롭고 기존과 다른 것을 원한다는 이유만으로 그것을 발명한다는 것은 자기 생각일 뿐만 아니라 어리석음과 오만의 극치다. 많은 프로젝트들이 이같은 경향을 보이긴 하지만 리눅스 개발 프로세스에서는, 비유하자면 아기를 욕탕에 던지는 것과 같은 일은 하지 않기 때문에 훌륭한 뭔가를 해낼 수 있는 것이다. 우리가 처음이야!(NIH ; Not Invented Here) 신드롬은 병폐일 뿐이다.
리눅스에 대한 근거없는 통념이나 오해 중 특별히 신경쓰이는 것이 있나? 난 쉽게 상처를 입거나 하진 않는다. 그래서 특별히 어떤 것이 그렇다고 말할 것도 없다. 단지 리눅스와 관계는 없지만 상당히 재미있는 통념이 하나 있긴 하다. 바로 한 사람이나 한 회사가 시장에 큰 영향을 미친다는 것이다. 누군가 꿈을 갖고 ‘계획’했기 때문에 뭔가 이뤄진다는 믿음과 같은데, 많은 사람들이 맞다고 믿는 것 같다. 이런 믿음은 자기과신으로 이어진다.
나와 같은 경우 리눅스와 관해 일어나는 일들은 토발즈라는 개인이 제어할 수는 없다고 지속적으로 설명해야 한다. 왜냐면 개발을 이끌어내는 환경 때문이지 특출난 리더들이 있어서 그런 것이 아니기 때문이다. 그러나 대부분의 경우 이런 요인들이 ‘위대한 스포츠 코치’라든지 ‘위대한 정신적 리더’라는 말로 미화되고 있는 것이 현실이다.
역사속의 영웅 이론에 대해서는 우리도 회의적인 입장이다. 그러나 반대로 보면 토발즈 당신은 리눅스에 꽤 큰 영향력을 갖고 있으며 IT 산업에 대해서도 마찬가지다. 지금까지 리눅스가 당신의 입지를 낮춰왔나? 아니면 자존심을 세워줬나? 애초 리눅스를 시작할 때의 포부가 작아지지도 않았으며 리눅스가 나를 초라하게 만들거나 하진 않는다. 리눅스가 지금까지 겪어온 역사를 보면서 나는 영향력 있는 실력자들이 얼마나 환경에 많이 의존하는지, 그리고 그 환경을 만들어왔는지 깨닫고 있다. 현재도 리눅스로 인해 본인의 입지가 좁아지거나 하진 않으며 희망사항이긴 하지만 적어도 지금의 기반을 계속 유지할 수 있길 바란다.
물론 개인은 중요하지 않다고 말하는 것은 아니다. 각 개인은 매우 중요하며 의욕적이며 뛰어난 사람이 그렇지 않은 사람 천명보다 더 많은 일을 할 수 있다고 본다. 그러나 이런 개인보다 더 중요한 것이 바로 돋보이는 사람을 만들어내는 환경이다. 개인적으로 리눅스가 정말로 성공가도를 달리고 있는 이유 중 하나가 바로 개인들을 빛내줄 수 있기 때문이라고 보고 있다.
썬이 오픈소스 소프트웨어 형태로 솔라리스를 내놓으면 검토해볼 것인가? 그렇진 않을 것이다. 나쁜 감정이 있어서 그런 것이 아니라 시간도 없고 관심도 없기 때문이다. 리눅스는 ‘다른 것’에 관해서가 아니라 자신을 좀더 개선하는 것이 목적이기 때문에 솔라리스를 본다고 해서 영감을 얻는 것과 같은 일은 없을 것이다. 확신하건데 솔라리스에 뭔가 특별한 게 있다면 사람들은 나에게 얘기해 줄 것이다.
아까 인용한, 거인의 어깨에 서 있기 때문에 멀리 볼 수 있었다는 뉴튼의 명언을 좋아한다면 솔라리스에도 뭔가 담겨있을 것이라고 본다. 솔라리스를 외면하는 이유는 무엇인가 개인적으로 솔라리스에 뭔가 닮을만한 것이 남아있지 않다고 생각하기 때문이다. 오히려 일반적인 유닉스의 원리를 리눅스에 적용하고 있다. 나는 리눅스가 다방면에서 지금까지 등장한 다른 어떤 시스템보다도 더 훌륭하다고 생각한다.
그러나 더 중요한 점이 있다. 바로 내가 틀렸다 해도 그건 크게 상관이 없다는 점이다. 나보다 솔라리스를 더 잘 아는 사람들은 본인을 포함한 다른 사람들에게 솔라리스의 탁월한 기능에 대해 얘기할 것임이 분명하다. 그러나 내 자신의 범위 내에서 그것을 이해하려고 노력하는 것은 시간 낭비에 가깝다.
앞으로 몇 년 뒤에 리눅스가 유닉스를 시장에서 몰아냈다고 가정해보자. 그러면 어디서 영감을 얻을 것인가? 여태까지 영감이 모자랐던 적은 없었다.
뭔가 해볼만한 것들에 대한 생각이나 아이디어들은 다른 시스템에서 얻은 게 아니라 바로 사용자들에게서 얻은 것이다. 사용자들은 “유닉스가 ㄱ을 지원하니 리눅스도 ㄱ을 지원하면 좋겠다”라고 얘기하지 않는다. 사실 난 저런 얘기를 기본적으로 믿지 않는다. 대신 사용자들이 품고 있는 문제들은 “ㄴ을 하고 싶은데 어떻게 해야 할지 모르겠다”라든가 “이런 방법으로 할 수 있지만 ㄷ 때문에 짜증이 난다”와 같은 얘기로부터 도출된다. 바로 이런 얘기들로부터 영감을 얻는다.
장기, 단기 계획을 수립할 때 얼마나 시간이 걸리나? 토발즈 당신은 즉흥적이고 순간에 충실한 사람이지 5년 걸려 큰 프레임워크를 설계하는 부류의 사람은 아닌 것 같아 보인다 맞다. 현실적인 틀을 벗어나는 계획은 수립하지 못한다.
내가 생각하는 장기 계획이란 것은 좀 애매하고 다분히 직관적인 것이라 설명하기 어렵다. 장기적인 계획을 세우는 데 있어 아주 구체적인 목적을 가지진 않으려 한다. 대신 선호하는 것과 선호하지 않는 것에 대한 일반적인 기준을 가지려 노력한다.
어떤 사람들은 갈피도 못잡고 있다고 혹평할 수도 있다. 사실 맞는 말이다. 그렇게 보일 수도 있다. 그러나 대신 유연성이 높다. 향후 5년 내의 어떤 구체적인 것에 초점을 맞추고 있지 않기 때문에 많은 사람들이 경험하고 있는 문제의 본질을 잃지 않고 따라갈 수 있으며 다른 사람들의 견해을 무시하지 않고 뜻하는 바가 무엇인지 생각해볼 수 있는 것이다.
뭔가 커다란 시각을 갖고 있는 사람들이 흥미롭기도 하지만 가끔씩 두렵기도 하다. 내가 커널 메일링 리스트에서 계속 주장하는 것은 세상을 다시 만드는 게 아니라 작은 걸 변화시키고 큰 변화는 그냥 부수적인 걸로 놔두자는 것이다.
리차드 스톨만의 통찰력이 없었다면 리눅스의 토대임이 분명하며 유닉스를 모방한 GNU 프로젝트와 GPL이 출범할 수 있었을 것이라고 보는가? 어떻게 생각하는가 스톨만이 없었어도 가능했다고 본다. 그러나 질문 자체가 “어떤 인물 ㄱ이 태어나지 않았다면 세상이 어떻게 됐을까?”라는 부류 같다. 다른 말이지만 어떤 통찰력으로부터 얻은 어떤 흐름이 매우 영향력이 있다는 건 확실한 사실이다.
자, 그렇다면 아마 리눅스가 나 없이도 만들어질 수 있었겠냐고 물을 것이다. 그러나 답은 분명히 ‘아니다’이다. 대신 BSD 계열 운영체제 중 하나가 성장했을 것이다. 아니면 다른 어떤 괴짜 학부생이 다른 운영체제를 개발했을 수도 있었을 것이다.
리눅스가 왜 GPL을 따르게 했는가? 그리고 다음 버전에서 구현하고 싶은 변화가 있다면 어떤 것이 있나 정말로 라이선스가 딱 두가지 것만 해주길 원한다. 다른 사람들도 코드를 볼 수 있도록 허용하는 것, 그리고 개선된 내용이 그 방식 그대로 존재할 수 있도록 하는 것, 이게 전부다. 그 이상도 그 이하도 아니다. 다른 것들은 모두 부차적인 것이다.
매우 단순하게 들릴지도 모르지만 대부분의 다른 오픈소스 라이선스들조차도 아주 기본적인 부분에서부터 이 기준을 벗어나고 있다. 이런 라이선스들은 개선 내용을 제약할 수 있는 방법을 적용하고 있다.
그렇긴 하지만 나는 ‘현실적인 틀을 벗어나는 계획은 수립하지 못하기’ 때문에 GPL의 다음 버전에 대해 그다지 크게 걱정하고 있지도 않다. 나는 변호사가 아니며 정확한 용어에 대해서도 크게 신경쓰지 않고 있다. GPL에 있어 유일한 불만이라고 한다면 아주 단순하게 뭔가를 말하려 해도 단어의 수가 늘어난다는 것이다. 뭐, 이것은 어떤 법적 상황에도 모두 적용되지 않을까 한다.
커널 개발 프로세스는 어떻게 변해갈 것인가? 가장 큰 변화는 아마도 제가 커널 2.7의 트리를 열려고 하려는 것일 것이다(편집자 주 : 2.7의 트리는 현 리눅스 커널 버전인 2.6에 근간을 둔 실험용 커널 버전을 말한다). 물론 단순한 희망에 국한된 것은 아니다. 아무도 이에 대해 가타부타 말을 꺼내고 있진 않지만 대신 현재 커널 2.6.x의 개발 모델이 실제로 잘 동작하고 있다고 많은 사람들이 믿고 있다.
2.7.x가 나오지 않을 것이라고 말하는 것이 아니다. 아마 몇 달 내에 시작될 것이다. 그러나 위에 언급한 믿음은 안정 버전이 개발 버전을 무색하게 하기 시작했다는 것을 뜻한다. 안정 버전이 그만큼 성숙했으며 많은 사람들에게 중요하기 때문에 쉽게 안정 버전을 등지고 떠날 수 없다는 사실을 나타내는 증거라고 본다.
새로운 프로세스에서는 개선 사항이 리눅스에 더 빨리 반영되는가? 그렇다. 장점 중 하나가 될 것이다. 새로운 사항에 훨씬 더 빨리 응답한다. 많은 사람들이 항상 2년이나 되는 개발 주기를 싫어한다. 2.6.x에서 쓰레딩 관련 작업을 모두 마무리했지만 배포판 업체들은 2.6.x가 출시되는 걸 기다릴 수 없어 결국 2.4.x로 백포팅하기도 했다.
2.7 트리에는 어떤 변화 사항이 생기는가 미리 알 수 있다면 말하겠지만 불행히도 그렇지 않다. 그러니까 이 질문은 기본적으로 이와 같은 부류다. 바로 “어떤 것에 의존하는 것들이 같은 방법으로 움직인다고 가정할 수조차도 없을 만큼 기본적인 부분인데 바꾸기를 원하는가”라는 질문이다. 이전 개발 과정들에는 모두 고쳐야 할 중요한 문제들이 내포돼 있었다. 그러나 손을 대니 코어 인프라스트럭처를 사용해온 커널 내 다른 부분에도 변화를 유발시키는 등 커다란 혼란이 야기됐다.
얼마나 많은 개발자가 리눅스에 기여하고 있다고 추정하는가? 우리는 극소수의 사람들이 대부분의 코드에 기여하고 있다고 추측하고 있다 사실 이런 견해는 꽤 왜곡된 면이 있지만 사실이긴 하다. 단지 커널만 놓고 볼 때 200~300명 정도가 활발하게 활동하고 있다. 커널 변경 기록을 살펴보면 지난해 약 1000명 가량이 커널에 접근한 것으로 집계되지만 이들 중 다수는 단지 손가락만 담그고 있는 사람들이라고 볼 수 있다. 그리고 이 숫자는 개발자를 뺀, 즉 품질 보증(QA)과 테스트를 진행하고 피드백을 주는 사람들의 총합이다.
리눅스 시장에서 레드햇과 노벨이 맹활약하는 것에 대해 어떻게 생각하나? 이 업체들이 점차 토발즈 당신 대신 ‘리눅스는 이것이다’라고 사용자들에게 정의를 내리는 것에 당혹스럽진 않는지 소비자들과 직접 해야 할 일이 적어진다면 좋은 것이다. 상용 업체들이 가장 크게 기여하는 것이 바로 소비자들과 개발자들 사이에서 창구 역할을 수행하며 이를 통해 순수한 기술적 문제와 순수한 마케팅적 문제의 균형을 잡아주는 것이라고 본다. 또한 오픈소스라는 법칙으로 인해 바로 상용 업체들은 자기들 나름대로, 개발자는 개발자대로 정직하게 나오고 있다.
그러니까 리눅스 판매 업체들이 소위 리눅스 기차를 운행한다면 당신은 승객 정도가 되는 것인가? 그건 아니다. 리눅스 업체들이 그렇게 생각한다고 보진 않는다. 그러나 분명 관련 업체에 이와 같은 ‘승객’들이 많긴 하다. 업체들이 그렇게 될 필요도 있으며 사람들은 관여하고 있다는 느낌을 가질 필요도 있다… 누구든지 그렇게 느낀다면 그는 단지 일개 승객일 뿐이다. 이건 모든 사람들에게 좋지 않다.
데스크톱 엔지니어링과 마케팅 측면에서 리눅스의 한계 요인이 있을까? 이건 복합적인 문제다. 엔지니어링 측면에서 보면 개선할 게 아주 많다는 것이 한계로 작용하고 ‘사용자의 무관심’ 측면에서 본다면 마케팅에서 중요한 요인일 것이다.
대부분의 사람들은 지금까지 사용해온 것, 그리고 좋아하는 것에 머무르려는 성향이 있다. 바로 이런 점이 지난 수년간 유지돼왔고 앞으로도 지속될 가장 큰 한계요인이라고 본다. 기술적으로도 훌륭해도 사람들은 정신적으로 옮겨갈 준비를 하지 않는다.
이게 바로 상용 데스크톱이 중요한 이유다. 도스(DOS), 그리고 이후 등장한 윈도우가 대중화될 수 있었던 것처럼, 더 일반적인 데스크톱 운영체제가 나와줘야 한다는 것이다. 그러나 앞으로도 몇 년은 더 걸릴 것이다. @