이 컬럼은 에릭 레이먼드가 쓴 오픈소스 경제학 저작물인 ‘마법의 솥(The Magic Cauldron)’에 대한 답변 연재 4부작 중 두 번째 글이다. 이번 회에서는 오픈소스와 독점 소프트웨어를 비교했을 때 각각 어떤 장점이 있는지 짚어보자.‘업그레이드 쳇바퀴’ 현상을 막아라레이먼드는 독점적 사업 모델의 취약점이 향후 판매에 의존한다는 것이라고 지적했다. 레이먼드의 주장은 다음과 같다.
만약 제조업체가 소프트웨어를 판매해서 이익을 얻을 수 있다면 대부분의 노력은 소프트웨어를 만들고 그것을 판매하기 위해서 집중될 것이다. 지원 센터는 이윤이 발생하는 곳이 아니므로 가장 무능력한 직원들이 배치되어 유효 고객들이 감정을 상하지 않을 정도로만 운영되는 유명무실한 곳이 될 것이다(역자 주 : kldp의 ‘마법의 솥’ 번역 인용, 아래 계속 언급되는 레이먼드의 주장도 모두 kldp 번역을 인용합니다).’
이 주장은 이전 연재 컬럼에서 언급된 동일한 현상에 대해 좀 다르게 보고 있는 것이다. 내 생각에는 ‘업그레이드 쳇바퀴’이야말로 독점 소프트웨어 업체들이 많은 혁신을 만들어내도록 이끌고 있다. 그리고 혁신이야말로 바로 소비자들에게 업그레이드를 구매하도록 납득시키는 요소다.요컨대 이것이 바로 핵심이다. 왜냐면 독점 소프트웨어에 의해 만들어지는 ‘사용 가치’의 불균형한 몫 때문이다.두 번째로 필자는 독점 소프트웨어 업체들이 왜 이렇게 고객이나 심지어 개발자를 지원하는데 있어 이처럼 허술하게 행동하고 있는지 의문을 갖지 않을 수 없다. 오픈소스 제품을 사용하다 문제에 봉착했을 때 믿을 수 있는 조력 세력이 부족하다는 불평은 이미 오픈소스 진영에서 일반적인 것이 됐다. 레드햇이나 IBM, 노벨 등과 같은 업체들이 이 간극을 메우기 위해 모든 노력을 쏟고 있는데도 말이다.‘제품을 단순히 밀어내는데’ 전념하고 있는 회사들도 제품 관련 문서를 제대로 만들기 위한 관리 방안을 마련하고 있다. 이전 컬럼에서도 언급했지만 솔직히 오픈소스보다는 독점 소프트웨어 제품들이 훨씬 더 문서화가 잘돼 있다는 것이 필자의 경험에 기인한 소견이다. MS의 MSDN 웹사이트를 보면 이에 해당하는 좋은 예들을 찾아볼 수 있다.필자는 이것이 대다수 오픈소스 소프트웨어가 개발되고 있는, 자원자들로 구성된 생태계 때문이라고 본다. 자원자들은 흥미를 느끼는 일에만 주력할 뿐더러 필자와 같은 사람들에게서 그 일을 빼앗아가려는 경향이 있다. 게다가 개발자들은 문서화 작업을 끔찍이도 싫어한다! 필자도 사실 문서화를 좋아하진 않는다. 그래서 필자는 미리 규칙을 세워놓고 그에 기반해 문서를 작성하고 있다.레이먼드는 업그레이드 쳇바퀴가 미래 수익에 필수불가결한 감가상각비용이나 직접 지원이 감당할 수 없을 정도로 급격히 증가하는 시장에서나 유용하다고 언급했다. 물론 필자도 여기에 전적으로 동감한다. 완만한 성장세를 보이는 성숙한 시장에서는 고객들에게 업그레이드를 종용하는게 상당히 어려울 것이다.그러나 이 문제는 혁신을 이끄는 분야에서도 매한가지다. 오픈소스처럼 시장을 선도하는 면모가 부족한 제품들은 고객들의 사용을 유발시키는 동기를 확보하기 어려울 것이다.업그레이드 쳇바퀴에 대해 너무 트집잡지 말라. 제품 성공에 있어 재정적인 상관 관계는 자본주의를 성공으로 이끈 핵심적인 부분이다. 업그레이드 쳇바퀴는 오랫동안 지속될 수도 있고 밖으로 빠져나올 수 없도록 경기장에 둘러진 벽과도 같은 것들에 의해 제약을 받을 수도 있다. 벽에 부딪혀 코가 부러지지 않으려면 혁신을 계속해야 할 것이며 이 점은 소프트웨어 개발 프로세스 측면에서 상당히 유용한 대안이 된다.한 업체의 시장 지배 현상이 반복되는 이유레이먼드는 업그레이드 쳇바퀴의 최종형은 새로운 혁신으로도 소프트웨어 판매가 부진하게 되는 것이라고 믿고 있다. 이럴 때 유일한 돌파구가 바로 경쟁자가 없는 시장이다. 레이먼드에 따르면 이와 같은 ‘지원 결핍으로 인한 실패 상황’은 독점 소프트웨어 시장 특유의 합병과 독점 현상이 원인이다.물론 누군가는 아무리 소프트웨어 독점 업체라 할지라도 현 고객들에게 명백한 이유 없이 어떻게 업그레이드를 강요할 수 있냐고 물을 것이다. 대다수 사람들이 빼어난 성능을 제공하는 이전 버전의 제품을 갖고 있나는 가정하에서 말이다.MS 오피스 소프트웨어에 대해 생각해보자. 오피스 소프트웨어는 수많은 워드프로세서 사용자들이 절대로 손대지 않는 매우 많은 기능을 갖고 있다. 그리고 이들은 최신이거나 막강한 기능을 제공하는 버전을 필요로 하지도 않는다.필자는 오피스 2003 DVD를 갖고 있다. 그러니까 설치에 아무런 비용이 들지 않는다는 말이다. 그러나 굳이 오피스 2003을 설치해야 하는 이유를 지금까지 느껴본 적이 없다.즉 경쟁업체들을 축출해낸다고 해서 사람들이 사소한 몇몇 변경만이 가해진 새 버전을 사는 것은 아니라는 말이다. 만약 독점적인 지위를 가진 대형 업체들이 제품 출시를 지연하고 자사 수익 현황을 비밀에 붙일 것이라고 생각한다면 한참 잘못 본 것이다.‘지원 결핍으로 인한 실패 상황’ 이론은 잘 보면 한 업체가 지배적인 위치로 올라서는 실질적인 이유를 왜곡시키고 있다. 사실 진짜 이유는 바로 표준에 대한 갈망이다.API의 다양성이나 아니면 동일한 API의 여러 구현 형태에 대해 얘기해보자. 여기에는 필연적으로 비용이 수반된다. 따라서 시장은 자연스럽게 여러 이기종 제품군 보다는 한 제품군의 다양한 변종을 선호하는 경향을 보여준다.이것은 독점 소프트웨어에서 명확히 드러난다. 이로 인해 한 제품이 대다수 영역을 지배해가는 것이다. 하지만 오픈소스라고 열외는 아니다. 오픈소스 소프트웨어에서의 시장 지배 경향은 좀 덜 논의되는 경향이 있다.레드햇은 최소한 미국에서만큼은 시장 지배적인 리눅스 배포 업체다. 레드햇의 제품을 표준으로 도입한 업체들은 데비안, 슬랙웨어나 맨드레이크 리눅스 배포판으로 이전하기가 상당히 힘들다. 이유는 간단하다. 이 배포판들 간에는 아무 문제없이 후딱 바꿀 수는 없을 정도로 명백한 차이점들이 존재하기 때문이다.이로 인해 집중화로 야기되는 경제학적 규모에 매료된 사용자, 그리고 써드파티 업체들의 애정이 몰리는 결과로 이어지는 것이다.이와 유사한 일들이 오픈소스 소프트웨어의 다른 영역에서도 일어나고 있다. 모질라 또한 엄연히 경쟁자들이 존재함에도 불구하고 오픈소스 브라우저 시장에서 명백하게 리더 위치를 차지하고 있다.아파치는 웹서버 분야에서 선두를 고수하고 있으며 MySQL 또한다수의 경쟁 업체들을 제치고 1위를 유지하고 있다. 물론 보편적으로 데이터베이스 분야에서는 많은 경쟁 업체들도 함께 지원하고 있는 경향이 있긴 하다.결론적으로 시장 지배는 기업 차원에서 ‘업그레이드 쳇바퀴’라는 굴레를 벗어날 해결책을 찾기 위한 시도의 부산물이 아니다. 오히려 경쟁이라는 자생적인 균형 조절 과정이 사라지고 있다는 시장의 징후다.시간만 낭비시키는 마케팅상의 지시마케팅이나 관리상의 지시는 가끔씩 자기만의 세상에 묻혀사는 개발자들이 볼 때 부조리하게 보일 수도 있다. 이런 견해에 대해 레이먼드는 다음과 같이 말하고 있다.개발자들은 기존의 닫힌 프로젝트에서 고정적으로 일어나는 압력을 경험할 필요가 없다. 무의미하고 짜증스러운 마케팅 대조표를 읽을 필요가 없고 부적절하고 구식이 된 언어나 개발 환경에 대한 경영진의 명령을 들을 필요도 없으며, 제품 차별화나 지적 소유권 보호이라는 명목으로 호환되지 않는 새로운 방법으로 제품을 재개발해야 할 필요도 없다. 또한 가장 중요한 점은 완성일에 대한 마감 기일이 없다는 것이다.
그러나 필자는 모든 마케팅상의 지시가 쓸모없다는 의견이 맞다고 생각하지 않는다. 이 시리즈의 첫 번째 컬럼에서도 언급했듯이 독점 소프트웨어의 이점 중 하나는 실제 세상에 있는 사용자들과 좀더 밀접하다는 것이다. 이런 사용자들은 결코 개발자들을 좋아하지 않는다!사용자들은 상당히 다른 요구 사항 목록들을 갖고 있다. 따라서 개발자들의 직관은 사용자 본위의 소프트웨어를 만드는데 별로 유용하지 않다. 달리 말해 이런 마케팅상의 지시는 전혀 쓸데없는 것이 아니라는 것이다.개발 언어나 환경의 고유성에 대해서는 별종들은 기술, 특히 더 최신이며 보다 나은 기술을 사랑한다는 점을 고려하라. 만약 자유롭게 그렇게 할 수 있다면 그들은 분명 가장 최신 언어와 개발 툴을 사용할 것이다. 실제 세상의 사용자들이 그것들을 사용할 준비가 돼 있는지 안돼있는지 아무 상관없이 말이다.이게 바로 관리자가 중요한 이유다. 그리고... 당연히 개발자들의 ‘이드(Id)’가 그들의 편애를 억누르지 않고 자유롭게 풀어놓는, 그러한 프로젝트에서는 고려되지 않는 중요한 이슈다.‘새로운 방법으로 재개발’은 좀 비싼 방법이다. 필자의 경험에 따르면 독점 소프트웨어 업체들은 다른 누구도 아닌, 바로 자신들이 개발자들에게 임금을 지불하는 주체라는 것을 확실하게 알고 있기 때문에 비용이라는 것에 대해 거의 강박관념에 가까운 생각을 갖고 있다. 이 업체들은 결코 재개발을 선호하지 않는다.이 업체들은 이전에 개발된 기술의 사용 방법을 찾아낸 개발자들에게 포상을 지불하기도 한다. 현대적인 소프트웨어 프로젝트에 몸담고 있는 모든 개발자들은 개발 시간을 몇 주에서 몇 달까지 줄일 수 있는 오픈소스 관련 팁을 발굴하기 위해 소스포지(sourceforge.com)라는 정보의 보고를 끊임없이 탐색하고 있다.이와 대조적으로 필자는 자원 프로젝트에서 모든 작업장에 걸쳐 ‘재개발’의 연속이라는 경험을 겪은 바 있다. 이유는 아마 개발자의 심리학에서 찾을 수 있을 것이다.별종들의 제어는 개발자들 세상에선 당연한 것이다. 그리고 그들에게는 소프트웨어가 그들이 원한대로, 한 치의 오차도 없이 정확하게 작동해야만 성에 차기 때문에 단순 작업의 반복을 그야말로 웅대한 규모로 이끌어 간다. 게다가 개발자들은, 특히 최신 기술에 약한 사람들은 개발상의 난제에 집착해 이를 푸는 것에만 매달리는 경우가 잦다.마지막으로 시간적인 압박은 중요하다. 필자는 소프트웨어를 최대한 재빨리 만들어 내놓을 수 있는 회사를 인정해준다. 모든 시간적인 압박이 나쁘다는 말이 아니다. 너무나도 진행 속도가 지지부진해 프로젝트의 구속력 자체가 사라진 상황보다는 중간 정도의 상황을 유지하는게 더 논리적이다. 모질라의 경우를 생각해보라.사용자들은 바로 지금 필요로 한다. 그리고 가장 먼저 그들을 만족시켜준다면 선택을 받을 수 있는 기회를 좀더 오랫동안 움켜잡을 수 있다는 것은 당연하다.개발 부담과 비용을 분산시켜라제품의 소스 코드를 공개하는 것은 개발비용을 분산시키는데 도움이 될 수 있다. 이것은 상당히 유용한 방법이다.회사는 더 이상 혼자서 유지관리에 책임을 질 순 없다. 이들은 자체적으로 관리할 수 있는 수보다 더 많은 개발자 투입을 이용하고 있다. GPL 형식의 라이선스로 출시되는 제품들은 그 미래가 단일 업체의 재정적인 탄탄함에 의존하지 않는다는 것을 담보해준다. GPL 형식의 라이선스는 코드에 더해지는 어떤 것도 항상 공적인 범위 내에서 존재한다는 것을 보증하고 있다.개발 책임을 분산시키는 것은 매우 유용하다. 비록 이론상으로는 한계가 있다 해도 말이다. 공동의 노력으로 야기되는 이득은 모든 제품 개발이 공동으로 이뤄져야 한다는 것을 의미하진 않는다.국가적이거나, 아니면 전세계적인 규모의 자동차 업체를 하나 만들어 모든 ‘비경제적인’ 유사 제품 동시 개발과 공통된 자원을 제거하는게 합리적이라고 생각하나? 절대 그렇지 않다. 왜냐면 유사한 실험이 동시에 진행되는 것이 사라지게 되면 자원 최적화로 인해 인간성이 박탈될 것이며 여기서 유발되는 혁신 또한 사라질 것이기 때문이다.통찰은 공동의 노력으로 인해 만들어진다는 게 가장 합리적이긴 하다. 그러나 쉽게 이해되지 않는 기술 분야는 공동의 노력에 있어 가장 유력한 후보자는 아니다. @필자소개존 캐롤은 아일랜드에 살고 있는 소프트웨어 엔지니어로, 자바와 닷넷을 이용한 분산 시스템의 설계와 개발 분야를 전문적으로 하고 있다. 그는 터틀넥 소프트웨어의 설립자이기도 하다.










