Thoughts2011.11.07 10:35
IETF (Internet Engineering Task Force)는 인터넷과 관련된 표준화를 담당하는 표준화 기구입니다. ITU-T에 계시는 분들은 IETF에서 제정된 RFC가 진정한 의미에서의 표준은 아니라고 낮추어 보기도 합니다만, 제 소건으로는 ITU-T와 IETF는 표준화 하는 영역에 조금 차이가 있을 뿐, 결국 거기서 거기입니다. 하다 보면 결국 두 기구가 특정한 기술을 표준화 하는 데 있어서 협력을 하기도 하고요.

그런데 오늘 하려고 하는 이야기는 사실 그건 아닙니다. 오늘 하려고 하는 이야기는 Open Source의 개발 모델과 IETF의 표준화 모델 사이의 유사성입니다.

IETF

IETF는 표면적으로는 열려 있는 표준화 기구이고 아무나 참석하여 표준화에 기여할 수 있도록 되어 있습니다만, 좀 더 깊이 들어가보면 사실 꼭 그렇지는 않습니다. Cisco, Juniper, Huawei 등 네트워크 분야의 주도권을 쥐고자 하는 많은 업체들이 싸우는 전쟁터이기도 합니다. 각 업체 입장에서 보면, 표준이 제정될 때 어떻게든 자사 기술이 표준으로 채택되도록 만들 필요가 있습니다.

보통 표준화가 진행되기 전에 각 업체는 자사 기술에 대한 많은 특허를 내놓습니다. 그러나 자사 기술이 공통 표준에 많이 반영되면 될수록 표준 = 자사 기술의 등식이 성립하게 되고, 이렇게 되면 유리합니다. 자사 특허를 침해하지 않고 표준안 대로 기술을 구현할 수 있는 가능성이 적어지게 되니까요.



그렇게 되면 궁극적으로는 자사의 기술을 택한 장비가 시장에 퍼지게 되던지, 아니면 특허에 대한 기술료라도 받아 챙길수 있는 구조가 됩니다. 간단히 말하자면 그렇습니다. 이것이 IETF를 통한 표준화에 네트워크 장비 생산업체들이 그렇게 열심인 이유입니다.

Open Source

오픈소스 또한 모든 개발자에게 열려 있는 구조입니다. 아무나 참여해서 필요한 기능을 추가하고, 확장해 나갈 수가 있습니다. 그런데 최근의 오픈소스 개발 모델을 보면, 어느 정도는 IETF와 비슷해지고 있습니다.

페이스북이 Message 시스템을 새롭게 개편할 때 (https://www.facebook.com/note.php?note_id=454991608919) 페이스북은 Cassandra, MySQL, HBase 등의 시스템을 놓고 저울질을 했습니다. Cassandra와 MySQL은 이미 페이스북에서 널리 사용되고 있는 기술이었습니다. 

결국 Message 시스템의 구현에 필요한 Consistency 측면과, 다량 메시지에 대한 Indexing 요구사항을 처리할 수 있는 데이터베이스 기술로 최종 채택된 것은 HBase 였습니다. [각주:1] 그리고 HBase를 페이스북의 Message 데이터베이스로 이용하기 위해, HBase에 페이스북은 꽤 많은 기여를 했습니다. 그 덕에, 전 세계의 좀 더 많은 개발자들은 좀 더 향상된 기능의 HBase를 사용할 수 있게 되었죠. (여전히 HBase는 오픈소스입니다) 



그렇다면, 오픈소스 세계에서 최종적으로 살아남게 되는 기술은 어떤 기술일까요? 최종적으로는, 페이스북과 같은 대형 업체에서 사용되는 오픈소스가 살아남을 가능성이 높습니다. 개발자들은 본능적으로 그런 기술에 이끌리게 되어 있죠. 

결국, 페이스북이나 구글과 같은 대형 업체들이 잠식하고 있는 것은 플랫폼 시장 만은 아닌 셈입니다. 이미 그런 대형 IT 업체들은 Open Source 프로젝트 또한 좌지우지 할 정도의 영향력을 행사하게 되었고, 그 과정을 통해서 성장한 Open Source 기술들은 대형 플랫폼 업체들이 자사 기술의 영향력을 확대시키는 수단으로서도 기능하게 되었습니다.

오픈 소스 시스템을 상업적으로 이용하려면 우리는 그에 대한 대가를 지불해야 합니다. 오픈 소스는 오픈되어 있기는 하지만, 공짜는 아니기 때문이죠. 오픈 소스 시스템을 확장했다면 (확장을 어떻게 했느냐에 따라서는) 확장하는 데 사용된 소스를 공개해야 합니다. MySQL처럼 '상업적으로 사용하려면 돈을 내라'고 하는 곳도 있습니다. 거기다 오픈 소스 구현에 사용된 기술 중 상당수는 이미 특허가 제출된 것들입니다.

'공개'의 함정

그러니 우리는 뭔가가 '공개'되었다고 하면 거기에 대해서 다시 한 번 생각해 봐야 해요. 오픈소스 프로젝트가 처음 태동되었을 때만 해도 '공개'의 의도는 순수했습니다. 그런데 지금도 정말 그럴까요? 누가, 무엇을, 왜 공개했는지 좀 더 심도있게 고민해야 할 시점이 된 것 같네요.

 
  1. MySQL은 RDBMS라서 데이터가 많아지면 인덱싱하는 데 드는 시간이 성능 요구사항을 만족할 수 없을 정도로 커졌고, Cassandra의 Eventual-consistency 모델은 '결국에는 consistency가 맞는다'는 낙관적인 형태의 모델이어서, 언제나 consistency가 보장되어야 하는 messaging 시스템 구현에는 쓰이기 곤란했습니다. HBase는 간단한 형태의 consistency 모델을 제공하고 있었고, 성능도 괜찮았습니다. [본문으로]
신고
Posted by 이병준

소중한 의견, 감사합니다. ^^

  1. 오픈소스의 함정
    최근들어 와닿는 이야기입니다''
    순수 오픈을위한 경우가 얼마나될까요

    2011.11.08 00:31 신고 [ ADDR : EDIT/ DEL : REPLY ]