본문 바로가기

문화생활.취미/글쓰기

Open Source보다는 Open Service!

반응형

안녕하세요.
  찬 입니다.

다시 오랜만에 글을 적습니다.
흠 -_- 새벽인데 아직 안 자고 있고 해서..
글을 적게 되는군요. ^_^



오픈 소스는 뭔지 다 알고 계시나요?
말 그대로 오픈 소스는 프로그램의 소스코드를 공개해 두는것입니다.
주로 GPL이라는 라이센스를 따르게 되어 있죠..

GPL 라이센스는 쉽게 이야기 하면..
소스는 공개가 되어 있으나, 이것을 변경 수정하였을 경우에는,
변경 수정된 소스 역시 공개 되어져야만 한다.

라는 라이센스 입니다.

이렇게 함으로써, 오픈 소스 라는게 유지가 되죠~
( 소스를 수정하게 되어도 수정된 소소를 공개해야 하기 때문에 )



아파치 자카르타 관련된 것들도 전부다 그와 유사한 라이센스를
따르고 있기 때문에 항상 소스가 공개 되어져 있습니다.

이렇게 공개된 소스들이 많아 지게 되면,
누구나 쉽게 라이브러리를 가져다 쓰고,
문제가 생기면 약간의 수정을 해서 다시 사용해도 제약이 없게 됩니다.
( 물론 수정한 부분의 소스를 웹등의 공개된 장소에 올려 놓아야 한다는것을 지킨다면요. )

이러한 오픈 소스 덕분에.
우리는 쉽게 프로그래밍을 할 수 있습니다.

필요한 라이브러리는 공개된 라이브러리를 그냥 가져다 사용하게 되므로,
굳이 어려운 라이브러리를 직접 개발할 필요가 없어집니다.

그리고 소스가 오픈되어 있기 때문에,
문제점이 발견했을때, 언제든지 내가 수정할 수도 있고,
내 입맛에 맞추어서 변경할 수도 있죠.

물론, 공개되어 있는 소스이기 때문에, 여러 사용자가 참여하여,
잘못된 내용을 보완하기도하고, 새로운 기능을 넣기도 하면서,
계속적인 소스의 업데이트가 가능하기도 합니다.

문제가 발생하면, 누군가가 고쳐서 올려 놓고 사용하게 되므로,
문제에 대처하는 시간도 빠르죠.




하지만, 우리가 일반적으로 "라이브러리를 가져다 쓴다" 고 표현한다는 점에 유의해 봅시다.

말 그대로 필요하면 가져다 쓰는 라이브러리를 굳이 소스를 수정하면서
쓸일이 과연 얼마나 될까요?

저 같은 경우도 있는 라이브러리를 그냥 가져다 쓰는 축에 속합니다.
이미 만들어져 있고, 무료로 공개로 사용할 수 있는데,
굳이 이것의 소스를 봐 가면서 작업하지는 않습니다.
( 부득이하게 문제가 발생할경우에는 소스 레벨까지 보기도 합니다. )


우리들은 주로 이미 만들어진 라이브러리를 공짜로 가져다 쓰는것에 초점이 맞추어져 있지,
소스가 공개되어 있는지, 혹은 공개되어 있지 않은지에 대해서는 그리 신경을 쓰지 않습니다.


오픈소스는 개발자에게 자유를 주지만,
그 자유를 100% 누리는 개발자는 정작 1% 도 되지 않을것입니다.




그래서 저는 생각 했습니다.


과연 나에게 오픈 소스가 필요한가?
아니면 오픈 라이브러리가 필요한가? 를 말이죠..


저의 결론은.
오픈 소스까지 필요한 일은 거의 없다는 생각입니다.


즉, 소스 레벨의 코드를 원하는것이 아니라,
잘 동작하느냐를 바란다는것입니다.


그점에서는 Open Service 가 더 맞다고 생각합니다.
Open Service 는 소스레벨의 코드를 제공해 주지 않고,
단지 사용법만 알려 주며, 그것을 사용하여 개발하도록 하게 되어 있습니다.

잘 알려진 Open Service로는
외국으로는 google api, flickr api, delicious api,
국내에서는 naver open api, daum blog-api, thinkfree icdocs 등이 있죠.
( 물론 thinkfree icdocs 같은 경우에는 외국으로 넣을 수도 있긴 하겠죠. )


이들은 모두 서비스를 제공해 줍니다.
google의 경우에는 검색 뿐만 아니라 지도 등등도 지원해 주고,
flickr 에서는 사진 검색 및 업로드 등을 지원해 주며,
naver 에서는 네이버 검색을, daum 에서는 블로그 글쓰기를,
thinkfree 에서는 오피스 문서 보기를 지원해 줍니다.
지금 생각해 보니 전 세계의 날씨 정보를 알려주는 weather.com 사이트도 있군요.

이렇게 각 회사에서 지원하는 Open Serveice 는 이미 회사에서
어느 정도 검증을 마친 상태로 제공이 됩니다.

우선 개인이 개발하는것 보다 완성도가 높다고 볼 수 있습니다.
그리고 회사에서 제공하는 정보 ( 예를들면 검색 결과 ) 를 사용자가 그대로 사용할 수 있습니다.
사용자는 그냥 호출만 하면 결과가 나오는것이죠.





만약, 막강한 웹 검색엔진을 만들고 싶다면...
Open Source 가지고 웹 크롤링 서버를 구축해서,
수년동안 로봇이 돌아 다니면서 웹 페이지를 모으게 하시겠습니까?
아니면 google 에서 제공해 주는 막강한 google api 를 사용하여 웹 검색을 수행하시겠습니까?

웹상에서 오피스 문서 뷰어를 만들고 싶다면,
개발 IDE 를 가지고 active-x 로 직접 개발을 하시겠습니까?
thinkfree 의 icdocs를 이용하여 html tag 를 몇개 적어 넣어 주어서 처리하시겠습니까?

날씨 정보를 제공하고 싶으실때
각 기상청에 전화를 해서, 혹은 인터넷 사이트에 접속하여 일일이 정보를 넣을것입니까?
weather.com 에서 제공해주는 정보를 그냥 사용하실 겁니다.?
( 우리나라의 기상청에서도 xml 형태로 날씨 정보를 제공하지만 )
( 전국이 아닌 주요 도시의 날씨만 제공하고 있습니다. )
( 하지만 weather.com 에서는 작은 도시의 날씨 정보까지 제공해 주고 있죠 )


Open Service 를 제공하는
업체들은 주로 자기네 자원을 사용하여 사용자에게 서비스를 제공
합니다.
물론 그렇기 때문에 그에 대한 제약사항이 있을 수 있습니다.
google 및 naver의 검색 api 같은 경우는 검색 횟수 제한이 있습니다.
thinkfree office icdocs 같은 경우에는 문서의 view 만 됩니다. ( icdocs = i see docs 니깐 )
weather.com 사이트에서는 자신의 링크를 나타내 주기를 원합니다.


하지만, 이러한 제약들은 사용자들에게 크게 무리를 주지 않는 제약입니다.
그리고 보통 그러한 제약들은, 원래 사이트로 들어 가서 처리할 수 있습니다.
google 나 naver 같은 경우에는 직접 사이트에 들어가셔서 검색할 수도 있습니다.
thinkfree 의 icdocs 같은 경우에는 viewer 만 가능하나 http://thinkfree.com 사이트에 가시면
무료로 편집이 가능한 완벽한 Office 프로그램을 사용할 수 있습니다.


더 이상 오픈소스에 열광하지 않겠습니다.

아니,  정확하게 이야기 하면
소스가 거의 필요하지 않고 단지 라이브러리가 필요한 저 같은 사람은
열광한적도 없었다고 보아야 할것입니다.


하지만 이제부터 오픈 서비스에 열광해 볼라고 합니다.
여러분도 수 많은 오픈 서비스에 같이 미쳐 보시지 않겠습니까?

반응형