[이만용의 Open Mind] 오픈소스, 이제 윈도우를 배워라!

전문가 칼럼입력 :2003/12/24 00:00

이만용 (리눅스코리아)

단도직입적으로 말해, 리눅스가 유닉스로부터 더 이상 배울 것이 남아 있는가? 글 제목에서 이미 여러분은 필자의 대답을 예상할 수 있으리라. 아니!

리눅스는 유닉스보다 더 나은 유닉스 복제품(clone)이라는 성취에 만족해선 안된다. 다시 눈을 뜨고 주위를 둘러보자. 경쟁자가 없다시피 절대 다수 사용자의 데스크톱을 장악하고 있고, 기업 서버 시장에서도 무서운 속도로 유닉스를 밀어내며 세를 넓히고 있는 윈도우의 힘을 분명히 인식할 수 있다.

그렇다면 이제 오픈소스는 윈도우로부터 배우기 시작해야 한다! 사실 늦은 감도 있다. 그러나 늦었다고 생각할 때 시작하는 것도 최선이다. 이 새로운 목표는 리눅스를 넘어 오픈소스라 부르는 더 폭넓은 노력에 의해서만 성취할 수 있을 것이다.

지금까지의 성공은 분명 ‘유닉스 호환’을 통한 성공이었다. 리눅스를 환영하고 열광한 사람들은 주로 유닉스 지향적인 프로그래머와 전문 사용자였다. 리눅스는 이들을 사로잡았고 그들의 열성적인 참여 속에서 예전에는 유닉스만이 할 수 있다고 생각한 영역들을 점령해 나갔다. 어떤 면에서 리눅스는 저 반대편에 있는 윈도우보다 오히려 가까이 있는 유닉스에게 더 큰 위협 요소였다.

리눅스가 유닉스의 큰 위협요소라는 사실은 최근 들어 리눅스 코드의 일부가 유닉스 라이선스를 침해하고 있다고 ‘법’에 호소하고 있는 SCO의 예에서도 찾아볼 수 있다. 세상 모든 일이 합리적인 경쟁에 의해 해결되지 않으면 법이라는 사회적 강제에 의존하지 않던가? 앞으로 유닉스 호환 운영체제 중 살아남을 것으로 리눅스와 솔라리스 정도를 꼽는 사람들도 많다.

‘유닉스 호환’을 넘어 ‘윈도우 호환’으로

이처럼 지금까지 리눅스의 성공 기반이 유닉스 호환이었다면 그 다음은 무엇일까? 필자는 ‘윈도우 호환’이라고 본다. 지금까지 유닉스를 모델로 삼고 배우며 성취해 왔던 것처럼 앞으로는 윈도우를 모델로 삼아 강점을 수용하는데 많은 노력을 집중해야 한다.

윈도우를 배우자는 주장이 전혀 새로운 것은 아니다. 유닉스보다 뛰어난 유닉스가 아니라, 유닉스의 틀 자체를 극복하기 위한 노력은 이미 1990년대 후반부터 꿈틀대기 시작했다. 유닉스에서 가장 경쟁력이 취약한 데스크톱을 완전히 새롭게 만들려는 KDE(Kool Desktop Environment, www.kde.org)가 바로 그것이다. KDE는 리눅스가 전세계적으로 다시 한 번 유닉스의 열풍을 불러 일으키기 시작한 1996년부터 지금까지 꾸준히 지속되고 있는 대규모 오픈소스 프로젝트이다.

KDE의 시도는 초기에 적지 않은 열혈 유닉스 매니아들로부터 조롱을 받았다. GUI가 필요하다면 맥(Mac)을 써라! 명령행 인터페이스 만세!, 뭐 난 이미 X 윈도우로 만족한다. 굳이 GUI를 쓰고 싶다면 윈도우(Windoze)를 써라!(Windoze는 Windows와 발음이 같고 doze가 주는 멍청한 느낌을 조합해서 만든 단어이다) 같은 냉소적인 답변을 들어야 했다.

GUI가 의심의 여지 없는 현대 컴퓨팅의 주요 흐름이라는 사실을 알면서도 명령행(CLI)의 장점을 더 높게 보았고, 한편으론 결코 성공할 수 없는 일이므로 시작도 하지 말자 같은 현실안주적인 방관자도 있었다.

초기 리눅스의 성공을 누구도 예상하지 못했던 것처럼, KDE 역시 초기에는 몇개월 진행돼다 제풀에 지칠 것이라는 예상이 지배적이었다. 그러나 현재 KDE 프로젝트는 리눅스의 대표적인 데스크톱 시스템으로 자리잡았다. 필자가 오픈소스에 감동하는 점도 바로 이것이다. 용감하고 합리적인 행동은 결국 성공한다는 것을 보여주는 공간이 바로 오픈소스 진영이기 때문이다.

KDE가 성공할 수 있었던 가장 큰 이유는 당연히 KDE 개발자들의 헌신적인 노력이다. 그러나 객관적으로 요인을 분석해 보면 KDE의 대상, 목표, 모델 정의가 분명했기 때문이었다. KDE의 대상는 리눅스ㆍ유닉스를 능수능란하게 다루는 사람이 아니라 진짜 ‘일반사용자(enduser)’이다. 따라서, GUI 없이도 잘 쓸 수 있는 괴짜들의 비아냥거림이나 소모적인 논쟁을 피해 자기 길을 묵묵히 가는 방식을 택했다.

KDE의 목표는 윈도우처럼 유기적으로 실행되는 데스크톱 시스템을 리눅스·유닉스 시스템에서 구현하는 것이었다. 그 구체적 모델도 멀리서 힘겹게 찾을 것 없이 쉽게 접할 수 있는 MS 윈도우였다. 이처럼 KDE는 이리저리 목표를 뭉뚱그리지 않고 매우 구체적으로 제시했다는 점에서 성공 조건을 갖추고 있었다. 명확하게 정의하려는 노력이야말로 통일성을 가장 중요시하는 데스크톱 시스템에 있어 핵심적인 요소이기 때문이다.

또한 참고할 수 있는 모델이 구체적으로 분명하게 존재한다는 사실은 프로젝트가 허공에 뜨지 않고 현실적인 움직임이 될 수 있게 하는 중심추 역할을 했다. 이는 리눅스가 마냥 좋은 운영체제를 목표로 하지 않고 유닉스 호환의 기치를 명확히 한 것과 같은 맥락이다.

KDE 프로젝트는 이후에도 윈도우의 오피스를 모델로 하는 K오피스(KOffice), 윈도우의 비주얼 스튜디오를 모델로 하는 KDevelop(KDevelop은 또 다른 서브 프로젝트를 가질 만큼 대규모로 진행되고 있다), 브라우저의 중요성을 인식하고 인터넷 익스플로러와 최대한 호환되는 Conqueror(인터넷의 정복자?) 등이 활발하게 개발되고 있다.

결론적으로 KDE는 리눅스를 기반으로 하는 오픈소스 데스크톱 프레임웍(framework)을 만드는데 성공했다. 모니터나 데스크톱 시스템 자체가 필요없는 서버가 아닌 이상, 거의 모든 리눅스 사용자가 KDE 데스크톱(또는 일부 GNOME이라 부르는 시스템도 있으나 여기서는 다루지 않겠다)을 사용하고 있다. KDE는 자신이 세운 목표 즉 리눅스·유닉스 시스템에서 윈도우와 같은 데스크톱 시스템을 만들겠다는 목표에 비추어 볼 때 이미 놀라운 성공을 일구어 냈다.

윈도우용 오픈소스 애플리케이션?

필자의 욕심이 과한 것일까? 필자는 여기서 더 나아가 리눅스·유닉스가 아니라 윈도우 데스크톱에서 동작하는 '오픈소스 데스크톱 애플리케이션 프로젝트'를 꿈꾼다. 왜 오픈소스 소프트웨어는 리눅스·유닉스용 애플리케이션를 고집해야 하는가? 생각을 좀 더 넓혀 보면, 윈도우 사용자에게도 대안의 오픈소스 소프트웨어를 제공하고 바로 그 윈도우용 오픈소스 소프트웨어를 통해 윈도우와 리눅스 간의 다리를 만들어야 한다는 결론에 이른다.

현재 리눅스와 윈도우는 그 사이에 바다를 두고 있는 두 개의 섬과 같다. 우리는 이 두 섬을 자유롭게 왕래할 수 있도록 큰 다리를 놓아야 한다. 리눅스와 윈도우라는 대결 구도로만 생각하면 윈도우는 고려할 가치가 없다. 이 때의 결론은 무조건 윈도우 사용자를 설득해야 한다는 것이다. 그러나 오픈소스라는 목표 아래 리눅스와 윈도우는 둘 다 똑 같은 포용의 대상이다.

오픈소스의 목표는 유닉스 모델을 고집하는 것이 아닐 것이다. 사람들이 오픈소스라는 새로운 용어와 개념을 도입한 것 그 사실 자체가 유닉스를 모델링하는 있는 리눅스 그 이상의 성취를 꿈꾸었기 때문이 아니었던가? 오픈소스의 영역에 리눅스를 포함한 유닉스 호환 운영체제들이 들어있듯이, 윈도우 플랫폼도 자연스럽게 그리고 이제는 더욱 중요하게 포함시켜야 한다.

만약 오픈소스의 진정한 목표가 최대한 많은 사람들에게 대안의 자유를 주는 것이라면(필자는 그렇게 믿는다!) 90%가 넘는 윈도우 사용자와 윈도우 플랫폼을 고려하지 않는다는 것은 어리석은 고집이자 편견이다. 오픈소스 입장에서 볼 때 우리가 성취한 것보다 성취해야 할 것이 더 많다.

이제 오픈소스 개발자들은 리눅스·유닉스 프로그래밍, X 윈도우 프로그래밍뿐만 아니라 그 동안 배타해 왔던 윈도우 프로그래밍 또한 능숙하게 다룰 수 있어야 한다. 또한 상이한 두 시스템을 동시에 지원할 수 있는 라이브러리, 가이드 라인 등을 체계적으로 준비해야 한다.

이미 서버 애플리케이션 영역에서는 아파치 웹서버, MySQL 데이터베이스, PHP 웹 스크립팅 엔진 등 핵심 프로그램들이 윈도우에 포팅되어 있고 리눅스에서 사용하듯 윈도우에서도 똑같이 사용할 수 있다. 또한 클라이언트 영역에서는 오픈오피스처럼 리눅스·유닉스·윈도우에서 동일한 인터페이스를 가지고 사용할 수 있는 통합 오피스가 발표됐다. 솔직히 인기있는 오픈소스 솔루션치고 리눅스와 윈도우를 동시에 지원하지 않는 것은 없다.

물론 이 원대한 목표는 겨우 시작조차 제대로 못한 상태이다. 현재 이를 구체적 목표로 설정하고 있는 프로젝트조차 가시적으로 존재하지 않는다. 그러나 조만간 전세계적으로 이러한 노력이 시작될 것이라 생각한다. 점장이는 아니지만 필자 역시 그들 속에 있는 사람이니 느낄 수 있다. 그리고 이를 위해 앞으로 어떤 개발자나 후배를 만나든 입만 열면 이를 역설할 준비가 되어 있다.

그동안 리눅스나 오픈소스 관련 강연의 주제는 대부분 ‘리눅스의 미래’처럼 리눅스 중심적인 것들이었다. 그러나 리눅스는 자신이 세웠던 목표를 이미 초과 달성했다. 그 이상은 리눅스의 몫이 아니다. 이제부터 즐겨 고민해야 할 주제는 리눅스를 포함한(기반으로 하는 것이 아니라!) 오픈소스의 대중화가 아닐까? 그리고 그 주요 대상은 절대다수를 차지하고 있는 윈도우 사용자일 수 밖에 없다. 그리고 새로운 벤치마크와 배움의 대상, 즉 모델은 바로 경쟁 대상인 윈도우이다.

오픈소스의 다음 단계 발전을 위해서는 윈도우 시스템과 리눅스 시스템을 둘 다 능숙하게 다룰 수 있는 유능한 프로그래머들의 참여가 절대적으로 중요하다. 앞으로 참여할 이 프로그래머들 속에는 지금까지보다 더 천재적이고 열정적인 프로그래머가 많을 것이다. 그들의 헌신적인 노력 속에 상상도 못할 또 다른 성공이 기다리고 있을지 모른다. @

*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.