본문 바로가기

Programming/etc

open source와 open API 에 대한 간략한 정리.


open source
소스란 것은 프로그램 자체를 말합니다.
우리가 일상적으로 사용하는 프로그램들은 소스를 통해 input을 받아 output이 이루어지는 것으로
단순히 디스플레이정도로 이해하시면 되겠습니다.
이런 프로그램이 어떻게 input을 받아 output이 이루어지고,
혹은 단순 시연만 되던가, 컴퓨터자원을 어떻게 처리할지는 작성된 소스에 따라 반영됩니다.

결국 프로그램의 소스를 open을 해버리게 되면 예상할 수 있는 일은?
스타크래프트 란 게임의 소스를 임의적으로 변형하여 배틀넷 기능을 없애거나, 종족을 추가하거나 할 수도 있는 것입니다.

즉, 프로그램의 소스를 오픈하면 처음 제작자의 의도와는 다른 프로그램으로 개발이 될 수도 있습니다.
이것이 악의적으로 쓰인다면 오픈소스의 폐단이요, 선의적으로 쓰인다면 오픈소스의 강점이겠습니다.

사용자가 참여하여 만들어나가는 백과사전이 그 어떤 백과사전보다 인정받는 수준에 이르른 것을 보면
사람은 일반적으로 선하다고 생각합니다 ^^;


open API
api는 application programming interface 의 약자입니다.
open API는 open source와는 달리 자신의 프로그램 소스를 공개하진 않습니다.
다만 open API를 제공하는 측에서 가지고 있는 자원에 대한 제어권을 open 한다는 것입니다.

현재 전세계에서 가장 많이 인용되고 있는 API는 구글의 검색과 맵, 이베이의 거래 등입니다.
처음 open API의 시작은 해킹이었습니다 ^^;
구글에서 구글맵에 대한 데이터트래픽(사용량)이 이상하리만큼 증가함에 따라 조사하였더니
미국의 한 부동산 사업자가 구글맵을 해킹하여 부동산사업을 하고 있던 것입니다.
이 때 세계를 변화하는 발표를 구글에서 내놓습니다.
우리의 자원들에 대한 제어권을 반영하는 open API를 내놓겠다고 말입니다.
(부동산 사업자와 구글의 winwin전략은 세상을 바꾸게되는 초석을 닦은 것이죠.)

이로서 우리는 열심히 데이터를 긁어모아 컨텐츠를 만들어낼 필요없이(즉 소스원천이 필요하지 않게 된 것입니다.)
단지 구글이 제공하는 open api를 이용하여 네비게이션도 만들 수 있고, 검색엔진도 개인 홈페이지에 탑재할 수 있게 된 것입니다.

위에 예를 든 것중 이베이가 있는데 이베이의 경우엔 오픈마켓이 가지고 있는 절대적 주요 핵심 데이터인
상거래 데이터에 대한 접근권을 개방해버렸습니다.
놀라운 것은 이로서 이베이의 데이터 트래픽이 줄어들 줄 알았으나 거래량과 함께 그 전에 비하여 매우 증가하였습니다.

open API를 제공하는 사업자측에선 open API를 이용하여 개발을 하고 사업하는 이들을 서드파티라고 합니다.
즉, 이들을 종속적인 관계의 을입장으로 보는 것이 아닌 수평적 관계를 가진 전략적 제휴사로 보는 것입니다.



저역시 처음 접했을 때 구분을 잘 하지 못했던 개념들입니다 ^^;
open source는 워낙 오래전부터 꾸준히 있어왔던 개념이나 open API는 웹2.0의 태동에 관여하고 있는 것으로
오래토록 쌓여오며 다져진 개념은 아니기 때문입니다.
이때문에 국내 포털사이트들이 open한 api들에 대해 인정해야하는가 하는 말들도 있으니까요 ^^;
나름 쉽게 이해할 수 있도록 적는다고 적었는데 도움이 되셨는지 모르겠습니다.



추가로 mash up에 대한 간략한 설명
mash up이란 open API 들을 잘 mix하여 만들어낸 서비스를 가리키는 용어입니다.
가장 대표적인 사례는 위에서 설명한 부동산사업을 들 수 있습니다.
예를들어, 부동산 사업자인 A는 자신이 보유한 부동산 컨텐츠가 있는데 마땅히 괜찮은 맵이 없습니다.
때문에 텍스트로만 거래하려는 건물에 대해 설명하기엔 부족함을 느끼는 것입니다.
그렇다하여 괜찮은 맵을 만들어내기에는 개인 역량이나 시간적인 부분에서 가치를 느끼지 못하는 것입니다.
그 리하여 A는 온라인상에서 자신이 생각하는 가장 이상적인 맵인 구글맵을 가지고와서 자신의 컨텐츠와 융합하게 됩니다.
이로서 부동산(자신이 가지고 있는 컨텐츠)+지도(구글이 가지고 있는 컨텐츠) 라는 컨텐츠가 융합이 된 것입니다.
이것이 바로 mash up입니다.


'Programming > etc' 카테고리의 다른 글

TP monitor  (0) 2011.02.14
구글 차트api  (0) 2011.01.18
RPC와 XML-RPC에 대해.  (0) 2010.12.06
오늘 저녁에 서현역에서 안드로이드 개발관련 책자들을 훑어봤습니다.  (0) 2010.03.17
Open API List  (0) 2010.03.10