
Open Source Values & the Peanut Gallery
Wednesday, July 5, 2006
"
BSD와 GPL, 그리고 애플"에서 필 자는 오픈소스 개발 방식 두 가지의 차이점에 대해 논하였다. 여기에서는 오픈소스 전략 선택과 관련된 가치 제안에 대해 조사하고, 자유 소프트웨어 운동을 배신하고 납치하려 하는 저열한 무리들(peanut gallery)에 대해 알아보겠다.
The Open Source Value Proposition
엔지니어링을 시작하려면 그것의 가치를 비교해 보아야한다. 애플의 오픈소스 전략은 코드를 개발자들에게 공개하고 버그를 그대로 보여주며 기술을 공유하고 홍보의 효과도 노리며 애플 기술의 채택을 가속화시키는 목적을 갖고 있다.

그러나 애플은 자선사업가가 아니다. 따라서 애플이
QuickTime이나
Quartz,
Cocoa를 오픈소스로 공개하리라고 기대해서는 아니된다. 이 코드들은 관심을 모아야 한다는 명분이 차고 넘칠 때나 되어야 오픈소스가 될 것이다.
예를 들어서, 애플이
QuickTime Streaming Server를 공개한 이유는 마이크로소프트와 리얼에 비해 퀵타임 스트리밍이 뒤떨어진 삼등에 위치하고 있었기 때문이다. 인터넷 방송에 있어서 매우 낮은 가격으로 포함한 것도 전략의 일부랄 수 있다. 마이크로소프트와 리얼에 비해 퀵타임을 매우 매력적인 대안으로 만들기 위해서이다. 마이크로소프트와 리얼은 스트리밍 서버와 스트리밍 클라이언트 라이센싱에 매우 높은 가격을 책정하고 있다.
애플은 퀵타임 기술 채택의 강화를 위해 매우 공격적인 가격 정책을 펼치고 있으며, QTSS의 코드도 공개하였다. 애플이 만약 QTSS를 공개하지 않았더라면
QTSS의 가치는 거의 전무해졌을 것이다.

Open up or else!
시장이 죽어갈 위협에 처해 있을 때 비슷한 공개 전략을 취한 상용 소프트웨어 제품은 그 외에도 많다. 썬은 리눅스에 대비하여
Solaris를 공개하였으며,
Netscape도 자신의
Mozilla를 공개한 것으로 유명하다. 하지만 넷스케이프는 마이크로소프트에게 시장을 완전히 정복당한 이후에야 브라우저 코드를 공개하였다.

하지만
Novell은 일반 전략으로서 오픈소스로의 이주를 단행하면서도, NDS 기술은 주의깊게 지니고 있다.
무릇 왕관은 국왕이 자살하지 않는 다음에야 먼저 나서서 버려지지 않는 법이다.
그러니까, 마지막 수단으로 공개를 택하는 기술이 많다. 그점을 기억해 두어야 한다. 상용 개발사가 멋대로 코드를 공개하진 않는다. 상용으로 개발가능한 코드의 공개는 매출액을 잃을 뿐만 아니라, 시장 통제력도 잃게 되기 때문이다. 포기한 코드의 공개도 개발 초점의 일부에 위험을 안겨다 줄 수 있으며, 라이센스 문제 또한 포함될 수 있다. 이 문제는 무료 배포본과의 호환성 문제와도 연결된다.
그러한 이유가 코드 공개를 막게된다. 소스를 공개할 마땅한 이유가 없다면, 지구 궤도가 완벽히 일치한다거나, 코드 공개의 위험도가 우연히도 상용 가능성이 없어졌을 때와 일치하지 않는다면야 공개를 하지 않는 법이다.
Managing Complex Projects
오픈소스를 할 수 없는 또다른 이유가 있다. 복잡성과 방향성의 위험이다. 코드를 공개하는 사업자는 커뮤니티의 기여라는 변수와 복잡성을 키우지 않게 하는 기여의 변수, 프로젝트의 목표와 전략에 대한 통제력 약화의 잠재성 간의 균형을 맞추어야 한다.
한 가지 방향으로의 공유를 꾀하는
BSD처럼, 한 가지 방향으로 공개를 하되 약간 수정을 가한 오픈소스 프로젝트가 있다. 가령 외부 개발자들이 코드에 접근할 수 있지만, 기여의 여지가 거의 없는 프로젝트가 있기도 하다. 그러한 기여를 관리하기가 별로 실용적이지 못해서 그러하다.
애플의 Darwin도 그런 측면을 갖고 있다. 코어 OS를 공개하여 개발자들이 다윈을 쳐다볼 수는 있게 되었지만, 개발자들이 제공할 수 있는 모든 외부 기여를 포함시켜서 완벽한 코드 공유 인프라스트럭쳐를 구축해 놓을 만한 리소스를 공여하지는 않고 있다.
최근 KHTML에 대한 애플의 기여가 KHTML 개발자들에게 이상적인 형태로 잘 문서화되지 않았다거나, 조직화가 안 되어 있다는 말이 나온 이후, 애플은 별 관계 없는 이들의 날카로운 비판의 대상이 된 적이 있다. 오픈소스에 대한 기여는 쉽지 않다. 자기들이 오픈소스를 대표한다고 주장하는 식객들 커뮤니티로부터 평가를 받기 때문이다. 도대체 누가 이런 저열한 무리들을 양산했는가?
The Open Source Peanut Gallery

오픈소스 커뮤니티 여론은 점차 자유 소프트웨어 운동을 납치해버린 주변부 작자들의 울부짖음으로 휩싸여가고 있다. 이들은 오픈소스에 기여하는 것은 전혀 없으면서, 상용 개발사들이 자기들에게
모든 것을 공짜로 제공해야 한다고 주장한다.
무료로 제공받는 오락의 소스를 계속 받고 싶다는 그런 이유 뿐이다.
스톨만이 그리던 세상은 소프트웨어로 사상을 자유로이 전파하고 공유하는 세상이었다. 하지만 그런 세상은 이제 요구만 하게되는 정치적인 세상으로 비틀어지고 말았다.
오픈소스의
저열한 무리들은 공유된 기술을 조달하고 기여하려는 노력보다, 마치 GNU-bot라도 되는 양, 욕설 분출구로 삼을 곳만 골라 찾아다닌다. 그러면서 이들은 오픈소스의 이상을 배신하게 된다. 땅은 한 마지기도 안 패면서 유기농을 빨아들이려는 해충과 같다.


최근 그러한 행태를 보인 유력 인사로서, 톰 얘거(Tom Yager)가 있다. 그는 애플의 다윈 소프트웨어 공개 일정에 대해
통렬한 비판을 가하였다. 그런데 그의 글은 제휴사를 통해 IDG의 여러 웹 사이트들과 Computerworld, Macworld, InfoWorld, Network World 등 거의 200여 가지 매체에 실려나갔다. 그는 일정 기간동안 인텔 맥용 커널 소스를 공개하지 않는 이유가 인텔 맥의 데뷔와 맥 오에스 텐 10.5 Leopard 출하까지의 시간을 벌기 위해서라 하였다.
그 의 항변은 단순하다. 공개하지 않은 애플의 커널 코드는 전세계 개발자 커뮤니티를 고통에 빠뜨리고 있다는 내용이다. 그렇게 함으로써, 그는 오픈소스를 단순한 하나의 목적에 하나의 동기를 가진 한 가지 행위만으로 잘못 규정하고 있다.
Open Source as an Appropriate Tool
그러나 소스코드 접근권 개방에는 여러가지 동기가 있다. 소프트웨어 공개에는 여러가지 별다른 수요와 목표가 필요하다. 애플의 프로젝트를 보면 명확하다.
Darwin을 공개하는 동기와
Darwin Streaming Server, 혹은
Bonjour를 공개하는 동기는 그 기술만큼이나 다르다.
애플의 Darwin 프로젝트는 전세계 커뮤니티보고 광범위하게 개발하라고 공개한 프로젝트가 아니다. 물론 얘거나 다른 극단주의자들은 그때문에 공개했다고 주장하고 싶어한다. 전혀 그렇지가 않다. 누구도 애플 커널을 자기들용으로 개발하고 있지 않다. 실질적으로 애플은 커널 수준의 작업을 하려는 개발자들의
의욕을 꺾고 있다. 개발자들에게 깔끔하고 안정적인 API를 허용하기 위해 애플은 객체 지향 IO Kit을 구축하였고, 그때문에 애플은 외부의 여러가지 해킹과의 호환성을 유지할 필요 없이 커널 작업을 할 수 있게 되었다.
애플은 마이크로소프트가 윈도우즈 개발에 있어서 해야했던 재앙적인 혼란을 만들지 않기 위해서, 프로젝트별로 강력한 통제를 유지하고 있다. 유동적인 오픈소스 커뮤니티에 자신의 개발 모델을 공개해서 얻을 이득이 없다. 공개는 이미 고도로 빠르게 복잡해지고 있는 프로젝트 관리를 복잡하게 만들 뿐이다.
Apple's Open Opportunities
다른 상용 개발사들과 마찬가지로, 애플은 여러가지 다른 오픈소스 전략이 제공할 수 있는 가치에 대해 신중하게 고려해야 한다. 다음 글에서는 애플이 무엇을 공개할 수 있는지, 애플이 받아들일 도전은 무엇일지에 대해 알아보겠다. 기대하시라!
What do you think? I really like to hear from readers. Leave a comment or email me with your ideas.
Open Source Values & the Peanut Gallery