본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

[공개SW 활용 성공사례 19] 포도

OSS 게시글 작성 시각 2012-01-25 10:03:15 게시글 조회수 1233

포도(PODO)는 기존 윈CE, 윈도, VxWorks 등의 OS기반에서 동작되는 NVR/DVR 솔루션을 Qt(GUI 프로그램 개발을 위한 크로스 플랫폼 위젯 툴킷)를 기반으로 리눅스에서도 구동 가능토록 했다. 이를 통해 비용을 대폭 절감했고 높은 품질의 제품을 개발할 수 있었다.


 

- 기     관 포도
- 수행년도 2010년
- 솔 루 션 Qt
- 도입효과 : 비용 절감 및 GUI 품질 및 완성도 개선

 

 
포도는 지난 2010년 11월 설립된 회사로, 오픈소스 솔루션인 Qt를 이용한 소프트웨어 개발 및 컨설팅 서비스를 제공하고 있다.

임베디드 리눅스(Embedded Linux, 특정한 기능을 수행하도록 프로그램이 내장돼 있는 시스템에 사용되는 OS) 기반 제품과 윈도, 맥, 리눅스를 동시에 지원하는 크로스 플랫폼 소프트웨어(Cross Platform Software, 둘 이상의 플랫폼에서 실행할 수 있는 응용 프로그램) 개발이 주류를 이룬다.

가장 주목할 만한 점은 포도가 Qt를 사용해 기존 윈CE, 윈도, 윈드리버의 VxWorks 등 시중에 소개된 핵심 운영체계에서 동작되는 GUI 중심의 카메라 영상 저장장치인 NVR/DVR 솔루션을 리눅스 기반에서도 구동 가능하도록 만들었다는 것이다.

일반적으로 NVR/DVR은 비디오 리코더로, NVR은 인터넷 등 네트워크로 연결되는 카메라이며 DVR은 전통적인 CCTV 카메라로 영상케이블을 통해 카메라와 연결된다. 이에 따라 데스크탑PC 환경에서 아날로그 카메라 입력을 녹화할 수 있는 캡처카드가 장착되거나 IP카메라 영상이 네트워크로 연결되어 녹화할 수 있다.

이 경우 대부분 NVR/DVR 솔루션이 마이크로소프트의 윈도 OS 기반으로 개발돼는 탓에 라이선스 가격으로 약 10만원 이상을 지불해야 하는 비용상의 어려움이 있다.

조 대표는 “높은 OS 라이선스 비용을 줄이기 위해 리눅스 버전의 제품을 개발하기로 결정하고, 개발 툴로 공개소프트웨어인 Qt를 채택했다”고 설명했다.


안정적인 오픈소스 Qt 도입


조 대표는 공개SW 도입하는데 있어 ‘안정성’을 최우선으로 고려했다고 밝혔다.

일반적으로 리눅스는 공개된 오픈소스들을 충분히 잘 활용하면, 기존 윈도 OS에서 개발된 라이브러리 등을 빠르게 대체할 수 있고 제품을 신속히 개발해나갈 수 있는 장점이 있다.

하지만 현실적으로 오픈소스는 상용솔루션에 비해 문서화 및 개발에 필요한 자료 등을 얻기가 쉽지 않아 개발하는데 많은 어려움이 발생한다. 이 때문에 많은 회사들이 기술 검토를 하다가 또는 개발도중 발생되는 문제점을 해결하지 못해 포기하는 경우도 많다.

이러한 이유로 안정성에 주안점을 두고 여러 오픈소스를 검토하던 조 대표의 눈에 들어온 것이 바로 Qt. Qt는 과거부터 오랫동안 개발 사용돼 안정적이고 개발에 필요한 각종 자료들이 풍부하다. 특히 크로스 플랫폼을 지원해 제품 개발에 있어 많은 이점이 있다.

조 대표는 “Qt의 크로스 플랫폼은 한번 코드를 작성할 경우, 이 코드를 여러 OS에서 재 컴파일만 하면 호환이 된다. 리눅스, 윈도, 맥 등을 동시 지원해야 하는 제품을 고려했기 때문에 가장 적절한 오픈소스 솔루션이라고 판단했다”고 설명했다.

그는 이어 “NVR/DVR의 경우 리눅스로 제품을 만들고 난 후 원격으로 네트워크를 통해 영상을 볼 수 있는 프로그램을 따로 제공해야 하는데, Qt를 활용하면 리눅스 환경에서의 Qt코드를 윈도 등에서 재활용해 지원할 수 있다. Qt는 문서화 및 관련 자료들이 풍부한 편이라서 쉽게 접근할 수 있는 이점이 있어 선택하게 됐다”고 덧붙였다.


오픈 소스 활용으로 비용 절감, 시장 확대


NVR/DVR에서의 QT 적용의 성공을 발판으로, 포도는 윈도 OS기반의 제품을 속속 리눅스로 전환시켜 비용절감 효과를 거뒀다.

지속적이고 신속한 제품 수정 및 업그레이드가 가능해져 클라이언트의 요구에 맞게 UI의 품질 및 완성도를 개선, VoIP폰, 디지털 사이니지(Digital Signage 기업들의 마케팅, 광고 및 고객 경험을 유도하는 커뮤니케이션 툴) 등의 제품 개발을 성공적으로 끝낼 수 있었던 것이다.

   
▲ 포도는 Qt를 활용해 GUI의 품질 및 완성도를 개선한 제품을 개발했다. 사진은 포도의 NVR/DVR 솔루션 실행화면.

 

조 대표는 “Qt를 이용, 자바보다 빨리 그리고 소스코드 수준으로 쉽게 이식을 할 수 있었다”며 “오랜 시간 충분히 검증받은 데다 개발하기 편리한 장점 덕분에 임베디드와 데스크톱 제품 개발을 빠르게 끝낼 수 있었고 안정적으로 개발을 할 수 있었다”고 말했다.

조 대표는 “하나의 클라우드 클라이언트를 이용해 맥과 윈도용을 모두 개발할 수 있다”며 “하나의 툴로 두 개의 시장을 가질 수 있었던 것이 장점”이라고 덧붙였다.


오픈소스 활용 위해선 프로그램 이해 필수


조 대표는 오픈소스를 활용해본 결과 오픈 소스에 대한 깊은 이해와 프로그램에 대한 조사가 반드시 선행돼야 한다고 설명했다.

조 대표는 “프로그램에 대한 조사가 제품 개발에 있어 많은 도움이 됐다. 예를 들면 그래프를 그리기 위한 오픈소스 솔루션인 qwt(Qt를 위해 플롯 등 추가적인 위젯을 제공하는 오픈소스 서드파티 클래스 라이브러리), JSON을 위한 QJon등을 미리 파악해 뒀고, 추후 필요할 때 이를 빠른 시간 내 적용할 수 있었다”고 말했다.

또한 오픈소스 솔루션을 도입할 때는 기술지원의 유무와 관련 인력의 확보를 고려해야 한다는 것이 그의 지적.

조 대표는 “국내 시장은 기술지원과 인력이 충분치 않아 많은 사람들이 오픈소스 솔루션 도입에 주저하고 있다”며 “이를 해결하기 위해서는 관련 커뮤니티에서 충분한 교류를 통해 문제점을 먼저 확인하고 지원과 인력에 대한 정보를 얻어두는 것이 무엇보다 중요하다”고 밝혔다.


[인터뷰] 조병완 포도 대표
"오픈소스 도입, 시행착오 각오해야"

   
조병완 포도 대표

오픈소스 중 QT를 선택하게 된 계기는
“회사를 만들기에 앞서, 지난 2004년 임베디드 리눅스 기반 DVR을 만들면서 GTK, 마이크로윈도우즈, Qt 등 여러 가지 GUI솔루션을 검토했고, 개발생산성과 안정성의 이유로 Qt를 채택해 개발을 한 바 있다. 다른 오픈소스툴이 그러하듯 개발과정에서 발생하는 문제해결에 대한 자료들이 부족함에 따라 어려움을 겪어 Qt개발자 커뮤니티 사이트(korone.net)를 만들고 운영했다. 이 개발자 커뮤니티를 운영하는 과정에서 많은 기업들이 관련 기술지원에 대한 어려움을 호소하는 것을 보고 다니던 직장을 그만두고 지난 2010년 Qt관련 전문회사 포도(PODO)를 설립했다.”

오픈 소스를 도입하는데 가장 어려웠던 점은 
“관련 기술자료에 대한 국내소개가 거의 없고, 있어도 최신 버전에 대한 설명이 아닌 오래된 버전에 대한 자료밖에 없다는 점이 어려웠다. 해당 오픈소스를 도입함에 있어 이를 다뤄본 개발자들을 찾기란 여간 어려운 일이 아니다. 한때 임베디드 리눅스의 인기에 개발자들이 잠깐 늘어났지만 최근에는 대부분의 개발자들이 안드로이드로 전향해 더욱 더 인력난이 가중된 상태다. 제품 또는 서비스를 개발할 때 무엇보다 중요한 것이 사람과 이를 도입하여 운영했을 때 생길 수 있는 문제의 해결이다. 이에 따라 오픈소스를 도입하려면 많은 시행착오를 각오하고 도입해야한다.”

다른 개발사나 기업에게 도입을 추천한다면 그 이유는
“비용적인 측면이 크다. 물론 기업입장에서 라이선스를 주의해야하는 번거로움이 있지만, 전 세계 많은 개발자들이 참여해 충분히 검증된 솔루션들이 많이 있다. 검증된 솔루션을 도입하기만 한다면 좋은 제품을 개발하는데 있어 많은 시간적 비용을 절감할 수 있다.”

 

 


- 아이티투데이 2012.1.19  이근 기자 btn_sendmail.gif eggn@ittoday.co.kr

- 공개SW 역량프라자

맨 위로
맨 위로