“데스크탑 리눅스는 죽었다”라는 말
을 했습니다.
“This killed the ecosystem for third party developers trying to target Linux on the desktop. You would try once, do your best effort to support the “top” distro or if you were feeling generous “the top three” distros. Only to find out that your software no longer worked six months later.””이러한 점들(리눅스의 특징)은 데스크탑 리눅스를 목표로 개발하고자 하는 서드파티 개발자들의 생태계를 파괴했다. 만약 딱 한번 엄청 노력하여 “가장 유명한” 배포판에 맞추어 개발한다해도(혹여 관대한 사람이라면 상위 세개 정도) 6개월후면 이 소프트웨어가 더이상은 실행되지 않는다는 것을 알게 될것이다.”“We alienated every third party developer in the process. The ecosystem that has sprung to life with Apple’s OSX AppStore is just impossible to achieve with Linux today.””우리는 서드파티 개발자들을 프로세스에서 제외시키고 있다. 애플의 OSX 앱스토어처럼 우리 삶 속으로 뛰어든 생태계는 오늘날의 리눅스로서는 절대로 성취할 수 없을 것이다.”
다른 사람도 아니고 리눅스 표준 데스크탑 환경의 최초 개발자가 이런 말을 하니 많은 리눅스 해커들에게는 충격이었을 겁니다. 그리고 얼마 안있다가 리눅스의 최초 개발자이자 리눅스 재단의 수장인
리누스 토발즈가 자신의 Google +를 통해 독설
을 쏟아냈습니다.(흔히 리처드 스톨만에 대비해 리누스는 온건한 쪽으로 인식되고 있지만 사실 이 냥반도 만만치 않습니다.)
One of the core kernel rules has always been that we never ever break any external interfaces. That rule has been there since day one, although it’s gotten much more explicit only in the last few years. The fact that we break internal interfaces that are not visible to userland is totally irrelevant, and a total red herring.항상 핵심적인 커널의 룰 중 하나는 우리는 절대, 결코 어떠한 외부의 인터페이스도 건드리지 않는다는 것이었다. 이 룰은 처음부터 지켜져왔으며, 이 룰은 최근 몇년 동안 더욱 명백해졌다. 우리가 Userland에서는 보이지 않는 내부 인터페이스를 건드린다는 것은 완전히 다른 이야기이다.I wish the gnome people had understood the real rules inside the kernel. Like “you never break external interfaces” – and “we need to do that to improve things” is not an excuse. Or “different users have different needs”. The kernel was – and is – happy to support both the SGI style thousand-CPU machines and the embedded vendors with cellphones and routers.The fact that they have different needs is very obvious.나는 GNOME 사람들이(여기에서는 난쟁이라는 의미도 있지만) 커널 내부의 진짜 룰을 알았으면 한다. “너희는 외부 인터페이스를 건드리지 않으니” “우리가 인터페이스를 개선시킬께”라고 해도 누구도 뭐라하지 않는다.”사용자들은 저마다 다른 수요를 갖고 있다”는 것도. 리눅스 커널은 SGI에서 사용하는 천개의 CPU에도, 휴대전화와 라우터에 들어가는 임베디드 벤더들도 모두 지원해왔고 지금도 그러고 있다.그들이 각자 다른 것들을 필요로 한다는 사실은 매우 명백하다.In fact, Linux pretty much did what I envisioned back in 1991 when I first released it. Pretty much all subsequent development was driven by outside ideas of what other people needed or wanted to do. Not by some internal vision of where things “should” go.사실 리눅스는 1991년에 내가 최초로 개발했을 때를 돌이켜보면 매우 많은 것들을 해왔다. 그 이후 진행된 모든 개발들은 내부 몇 사람들의 결정이 아니라 모두 외부의 사람들이 필요로 하거나 원하는 것들에 의해 진행되었다.That’s exactly the reverse of the gnome “we know better” mentality, and “We will force Corba/.NET down your throat whether you like it or not, and if you complain, you’re against progress, and cannot handle the change”.이것은 정확히 GNOME의 “우리가 더 잘 알아” 정신이나 “우리는 네가 좋아하든 싫어하든 Corba/.Net을 목구녕에 쑤셔 넣을꺼야. 만약 네가 불편한다면 너는 진보의 걸림돌이고, 변화에 적응 못하는 거겠지.”에 정확히 반대되는 것이다.Some gnome people seem to be in total denial about what their problem really is. They’ll wildly blame everybody except themselves.몇몇 GNOME 사람들은 그들의 진짜 문제가 정확히 무엇인지를 완전히 부정하고 있는 것 같아 보인다. 그들은 그들 스스로를 제외하고는 모든 사람들을 비난하고 있다.
Miguel de Icaza와 리누스 토발즈의 논쟁을 요약하자면,Icaza : “리눅스는 서드파티 개발자가 발 붙이기 너무 불편함. 그래서 완전히 실패했음.”Linus : “리눅스는 지금까지 서드파티 개발자가 만들어왔음. 진짜 문제는 GNOME임요. 뭐가 문제다 싶으면 너희가 알아서 수정해도 아무도 안막음 ㄲㄲ”이 되겠습니다.물론 Icaza는 GNOME 프로젝트를 떠난지 벌써 5년이 되었습니다. 따라서 Icaza의 발언으로 GNOME 전체를 싸잡아 욕하는 리누스 토발즈의 발언은 적절치 않습니다. 또한 Icaza는 너무 파편화가 심하고 버전업도 빠른 리눅스의 특성상 서드파티 개발자(아마도 애플리케이션 레벨의)가 발붙이기 힘들다라는 주장인데 리누스는 “지금까지 커널의 모든 변화는 외부 개발자(이건 커널 레벨)에 의하여 있어왔다”라고 말하고 있습니다. 두 사람이 말하는 논점이 한참 빗나가긴 했죠.하지만 중요한건 리누스가 그렇다고 데스크탑 리눅스가 성공했다라고 보지 않는다는 것입니다. 오히려 데스크탑 리눅스가 망한 것에 대해 GNOME 때문이라는 원인을 덧붙였습니다. GNOME의 최초 개발자도 데스크탑 리눅스는 죽었다고 하고, 리눅스의 최초 개발자도 그 원인이 데스크탑 환경 때문이라고 말하고 있습니다.그렇다면 정말 데스크탑 리눅스는 “망했”을까요?네. 정확히 망했습니다. 데스크탑 리눅스는 가장 전성기에 겨우 점유율 1%를 찍었습니다. 리눅스 자체는 슈퍼 컴퓨터에서 모바일까지 전세계에 존재하는 모든 컴퓨터에서 잘나가고 있지만 유독 데스크탑에서는 “망했”습니다. 그 원인은 Icaza가 말한 것처럼 개발자 생태계가 제대로 마련되어 있지 않아서일 수도 있고, 리누스의 말처럼 새로운 데스크탑 환경이 사용자들을 만족시키기에 턱없이 부족해서일 수도 있습니다.하지만 제가 생각하는 제일 큰 문제는 역시 안드로이드를 이끄는 구글처럼 데스크탑 리눅스를 이끌고, 마케팅할 수 있는 강력한 상업적 벤더가 없다는 것입니다. 안드로이드도 리눅스를 기반으로 하는 오픈소스 운영체제이지만 의외로 파편화는 적습니다.(물론 안드로이드의 단점은 파편화지만 리눅스에 비하면..) 이것은 구글이라는 강력한 벤더가 이끌지 않았다면 역시 불가능한 일이었겠죠.물론 리눅스 계에도 강력한 벤더들이 있습니다. 그 대표적인 예가 레드햇과 캐노니컬이죠. 하지만 레드햇은 데스크탑 리눅스에는 더이상 집중하지 않고 있고, 데스크탑 리눅스의 최고 강자 우분투를 지원하는 캐노니컬 또한 데스크탑 리눅스로 성공을 했다고 보긴 어렵습니다. 그리고 무엇보다 이들 벤더가 마이크로소프트나 구글과 비슷한 레벨은 결코 아니죠.그럼 왜 데스크탑 리눅스 세계에는 강력한 벤더가 없을까요? 그것은 데스크탑 리눅스가 결코 상업적일 수 없기 때문입니다. 철저하게 GNU 정신에 입각하여 만들어지는 리눅스는 상업적이라기 보다는 오히려 철학적입니다. 하드웨어 호환에 있어 필수적인 몇몇 드라이버들이 독점 코드로 되어있다는 이유로 기본 상태에서 빠지는 상황은 정상적인 상업 제품이라면 결코 상상하기 힘든 일입니다. 그래서 캐노니컬이나 레드햇도 데스크탑 리눅스 자체로는 비즈니스하지 않고 자체의 서비스를 상업화하고 있죠.데스크탑 리눅스는 망했습니다. 왜? 점유율이 절망적으로 낮기 때문입니다. 그런데 점유율은 보통 상업적인 의미가 강합니다. 결코 상업적일 수 없는 데스크탑 리눅스를 상업적인 지표로 평가한다는 것이 과연 맞는 걸까요? 정말로 데스크탑 리눅스는 죽었을까요?글쎄요. 전 여기에 의문을 표시하고 싶습니다.윈도8의 스토어 정책이 강화되면서 밸브의 Gabe Newell이 리눅스를 “도피처이자 대안”이라고 말했습니다. 전 여기에 데스크탑 리눅스의 의미가 있다고 봅니다. 데스크탑 리눅스가 죽는 날은 점유율이 0%가 되었을 때가 아니라 그 철학적 가치를 잃었을 때라고 생각합니다.(원피스의 대사가 떠오르긴 하지만..) 그 철학적 가치가 남아있는한 데스크탑 리눅스는 아무리 점유율이 낮다고 해도 여전히 살아있는거라 생각합니다. 이 철학이 살아있는한 점유율도 완전히 0%가 되지는 않을테구요.물론 이것은 한낱 지나가는 떠돌이의 넋두리일 뿐입니다. 리눅스 계의 거장 두분이 저렇게 말씀하신다면 저게 맞는 말일지도 모르겠네요.