DBMS2009. 7. 16. 11:04
반응형

많은 이들이 알고 있는 것처럼 다양한 소프트웨어 영역에서 오픈소스의 존재감과 활용도가 커지고 있고, 본격적으로 오픈소스의 도입을 고려하는 기업도 빠르게 증가하고 있다. 이 글에서는 미묘한 라이선스 정책의 차이점을 비롯해 오픈소스 도입을 고려하는 이들에게 도움이 될 만한 내용을 정리했다. 오픈소스 소프트웨어 중에서도 특히 DBMS의 라이선스 현황과 그에 따른 기술 지원 서비스에 대한 내용을 중점적으로 살펴보기로 한다.

 

2009년 경기 침체가 진행되는 가운데 IT 분야에서 가장 화두로 떠오른 것은 아마 오픈소스 소프트웨어가 아닐까 싶다. 가트너에 따르면 오픈소스 소프트웨어의 시장점유율은 2005년 11%(42.6억 달러)에서 2010년에는 24%(161.5억 달러)로 28.5% 성장할 것이며, 2010년까지 적어도 상용 소프트웨어 제품의 80%가 오픈소스 코드를 포함하게 될 것이라고 한다. 소스 코드가 공개되어 있어 소프트웨어를 무료로 사용할 수 있으므로 비용 절감이라는 장점이 있기도 하지만, 소스를 직접 수정하거나 변경해 사용할 수도 있기 때문에, 오픈소스 소프트웨어에 대한 관심은 날로 증가하고 있다. 그렇지만 오픈소스라 하여 아무런 제약이 없는 것은 아니다. 개발된 소스를 공개하는 과정에서 사용 제한을 두거나 조건이 있는 경우가 있다.

 

라이선스를 통해 본 오픈소스 DBMS

 

1990년대 무료 라이선스로 인식되는 몇몇의 소프트웨어들과 IBM, 썬(SUN)과 같은 대형 글로벌 벤더들의 참여로 개발자들 사이에 ‘자유(Free)’라는 단어가 무료라고 인식되면서, 사용자들 사이에 라이선스 오해로 인해 분쟁이 생겨났고, GPL 기반의 엄격한 라이선스 준수사항들 때문에 소프트웨어 개발에 대한 참여도가 떨어지기 시작했다. 1998년 이러한 시장 상황을 반영해 오픈소스 소프트웨어에 대해 OSI(Open Source Initiative)라는 단체가 결성되어 라이선스 체계를 정립하고, OSI에서 인증한 소프트웨어에 대해 OSI 인증 마크를 부여하기 시작했다.

 

라이선스에 대한 기본 정책은 오픈소스 소프트웨어 개발자가 만들어놓은 사용법과 조건에 따라 해당 소프트웨어를 사용하여야 하며, 위반할 경우 라이선스 위반으로 간주되는 동시에 저작권 침해로 인해 처벌을 받을 수 있게 된다. OSI가 정의한 라이선스 정책은 기본적으로 사용자의 자유로운 사용, 수정, 배포가 가능한 GPL(General Public License), LGPL(Lesser General Public License), BSD(Berkeley Software Distribution), MPL(Mozilla Public License) 이외에도 Apache 라이선스가 있다. OSI에 등록된 오픈소스 소프트웨어 중 대다수는 GPL과 LGPL, BSD 라이선스를 채택하고 있다.


<표 1>은 4개 라이선스에 대해 기술한 것으로, 무료 이용 가능, 배포 허용 가능, 소스 코드 취득 가능, 소스 코드 수정 가능 항목은 동일하나 2차 저작물 재공개 의무, 독점 소프트웨어와 결합 가능 항목에서는 각 라이선스마다 약간의 차이를 보인다. GPL의 경우, 2차 저작물 공개를 원칙으로 하여 독점 소프트웨어와 결합할 수 없으며, BSD는 2차 저작물 공개에서도 자유로울 뿐 아니라 독점 소프트웨어와도 결합이 가능한 그야말로 자유로운 방식이다.

 

<표 1> 라이선스의 형태 이해(출처: 컴퓨터프로그램보호위원회)

 

GPL을 채택하고 있는 대표적인 DBMS는 MySQL이지만 듀얼 라이선스 정책을 취하고 있다. GPL 라이선스가 적용된 커뮤니티 에디션(Community Edition)과 상용 라이선스인 엔터프라이즈 에디션(Enterprise Edition)이 있다. 최근 다우기술에서 MySQL과 함께 저변 확대를 꾀하고 있는 PostgreSQL의 경우, BSD 라이선스를 채택하고 있다. PostgreSQL 제품 기반의 사업을 전개하고 있는 EnterpriseDB사의 라이선스 정책은 오프소스 수익 모델인 Subscription 방식을 채택하고 있으며 ‘per socket’ 방식으로 가격이 책정되어 있다.

 

최근 NHN에 인수된 국내 오픈소스 DBMS인 CUBRID는 GPL 기반의 서버 엔진과 BSD 기반의 인터페이스 라이선스 정책을 채택하고 있다. MySQL의 경우, 응용프로그램을 개발하여 배포/판매하기 위해서는 응용프로그램 소스 코드를 오픈하거나 상용 라이선스를 구매해야 하는 반면, CUBRID의 경우에는 인터페이스와 서버를 나누어 두 가지 라이선스를 채택함으로써, 국내 독립 소프트웨어 벤더(ISV, Independent Software Vendor)가 CUBRID 2008 제품 기반의 응용프로그램을 개발하여 배포 및 판매하는 데 아무런 제약조건을 주지 않는다.

 

<표 2> 오픈소스 DBMS 라이선스 비교

 

그럼 실제 개발자나 사업자가 오픈소스 소프트웨어를 채택할 경우, 실제로 라이선스 정책에 위반이 되는지를 알아보기 위해 사용자 측면에서 상황에 따른 의문사항들을 시나리오별로 살펴보기로 하자.

 

시나리오로 본 라이선스 모델

 

라이브러리 링크

Q DBMS 인터페이스는 JDBC를 이용하고 있고 설치형 게시판을 만들고 싶다.

손수 만든 게시판을 다른 사람들도 사용할 수 있도록 나눠 주고 싶은데, 이런 경우에 내 소스 코드를 공개해야 하나? / CUBRID 기반의 중소기업용 전자결재시스템을 개발해서 판매하고 싶다. 우리 제품의 소스 코드를 공개하거나 상용 라이선스를 구매해야 할까?

 

A 위와 같이 DBMS가 제공하는 각종 라이브러리나 드라이버를 응용프로그램에서 링크해 사용하는 경우, JAVA 응용의 경우에는 JDBC 드라이버를, PHP 응용인 경우에는 PHP 인터페이스를 응용프로그램과 링크시켜야 한다. 이러한 경우에 MySQL을 사용하면 연결된 응용프로그램의 소스를 모두 공개하거나, 상용 라이선스를 구매해 소스를 공개하지 않을 수 있다. CUBRID는 응용과 연계되는 모든 인터페이스에 BSD 라이선스를 적용했기 때문에 응용프로그램의 소스를 공개할 필요가 없게 된다.

 

단순 호출일 경우

Q DBMS 백업 관리시스템을 만들어 사용해보고 쓸 만하면 제품으로 패키지해서 판매하고 싶다.

백업 관리시스템이기 때문에 DBMS 백업 파일을 다루거나 유틸리티(Utility)를 호출하는 방식으로 동작할 것이고 DBMS의 인터페이스나 라이브러리를 링크할 필요는 없다. 이런 경우에도 라이선스가 문제가 될까?

 

A 라이브러리나 드라이버를 응용프로그램과 직접 연결하지 않고 제공하는 기능을 단순하게 호출하는 경우에도, 라이브러리 링크와 마찬가지로 GPL 기반 DBMS를 사용하는 My SQL의 경우에는 상용 라이선스를 구매해야 하지만, CUBRID의 경우에는 소스 공개의 의무가 없다.

 

법인 간 배포

Q 한국에 본사가 있고 일본, 중국, 미국에 지사가 있는 기업이다.

본사에서 만든 게임으로 해외 법인에서도 서비스하고자 하는 데 가능한가?

 

A GPL 라이선스를 채택한 DBMS로 만든 응용프로그램을 서로 다른 법인 간에 배포하는 경우에는 응용프로그램의 소스를 모두 공개하거나 상용 라이선스를 구매해야 한다. 물론 CUBRID는 소스를 공개할 필요가 없다.

 

인터페이스 수정

Q DBMS가 제공하는 PHP 인터페이스에 개발 편의성을 위해 몇 가지 기능을 추가해야 한다.

PHP 인터페이스를 수정해서 사용하면 수정된 인터페이스나 연결된 응용을 모두 공개해야 할까?

AGPL 라이선스의 경우에는 소스에 수정을 가한 경우 해당 소스를 모두 공개해 개선된 기능을 다른 사용자들과 공유하는 것이 원칙이다. 하지만 CUBRID 경우에는 BSD 라이선스 정책이기 때문에 수정된 소스를 공개하지 않아도 된다.

 

서버 수정

 

추가적으로 DBMS 서버 엔진을 수정하고자 할 경우에는 MySQL뿐 아니라 CUBRID 역시 GPL 라이선스에 따라 소스 코드를 모두 공개해야 한다. 서버는 핵심 인프라이므로 개선된 기능을 많은 사용자들과 공유하는 것이 바람직하다는 생각 때문이다.

 

<그림 1> 워드 프로세서의 객체 종류

 

서비스로서의 오픈소스 소프트웨어

 

지난 2월 한국 소프트웨어 아키텍트 연합에서 실시한 설문조사에 따르면 오픈소스 소프트웨어를 전체 아키텍처의 25.0% 이하로 적용한다는 응답이 59.4%를 차지했고, 사용하지 않는다는 응답도 12.5%에 달했다. 오픈소스를 사용하지 않는 이유로는 기술 지원(77.4%), 안정성(58.15%), 기능적 성숙도(22.6%) 등에 대한 우려를 꼽았다. 포레스트 리서치(Forrest Research)에 따르면 오픈소스를 사용하지 않는 이유 중 기술 지원 부족이 답변 가운데 36%를 차지했다. 오픈소스가 갖는 장점에도 불구하고 많은 기업이나 개발자들이 적용하는 과정에 있어서 제품의 기술 지원에 따른 부담감을 안고 있음을 나타내는 증거라 할 수 있다.

 

이러한 시장 상황에 따라 최근 오픈소스 개발사들은 제품을 팔기보다는 제품을 얼마나 효율적으로 관리, 사용할 수 있느냐 하는 문제에 초점을 맞춰, 서비스 형태의 기술 지원을 제공하는 추세이다. 특히 DBMS와 같이 기업의 근간이 되는 인프라 소프트웨어인 경우 무엇보다 제품의 유지보수와 관리가 중요한 포인트인데, 라이선스 비즈니스 형태의 밀착력 있는 유지보수 정책에 길들여진 고객들이라면, 이러한 서비스 위주의 오픈소스 소프트웨어에 대해 반기지 않을 수 없을 것이다.

 

이러한 오픈소스 소프트웨어 업체들의 서비스 중심의 기술 지원은 고객의 요구사항에 따라 유연성 있게 부응할 수 있을 뿐 아니라, 고객 입장에서는 기존의 라이선스 구매에 따른 유지보수 비용에 비해 TCO(총 소유비용)를 절감할 수 있어, 오픈소스 소프트웨어가 갖는 한계점을 극복할 수 있게 되었다. 오픈소스 소프트웨어가 제공하는 서비스는 건마다 제공하는 단발성 기술 지원도 있지만 대부분은 1년 단위 서비스 계약을 통해 진행되는 것이 일반적이다. 유지보수 내의 기술 지원 항목으로는 패치, 업그레이드, 튜닝, 기술자문, 개발자 지원, 모니터링, 긴급 장애지원, 예방 및 점검, 운영 지원 등이 있다. 오픈소스 소프트웨어에서 제공하는 서비스들을 살펴보면 <표 3>과 같다.

 

<표 3> 오픈소스 소프트웨어의 제공 서비스

 

이 밖에도 큐브리드의 경우에는 지정 기술 인력을 배치하는 기술 어카운트 담당 서비스나 고객 지원 상황을 알려주는 트래킹 서비스 등을 제공하기도 한다. 트래킹 서비스란 고객이 요청한 서비스에 대해 접수부터 확인, 분석 과정 및 해결을 위해 적용하는 과정에 대해 실시간으로 확인할 수 있도록 도와주며, 특히 제품의 개선과 연관되는 경우에는 제품 개선 진행 상황 또한 실시간으로 확인 가능한 서비스를 말한다. 또한 진행 상황을 확인하여 완료시점(제품 개선의 경우, 제품의 공급시점)을 예측할 수 있어 더 빠른 의사 결정이 가능하도록 지원해준다. 제품의 안정성과 기술 지원 문제로 인해 기존의 오픈소스 소프트웨어들은 기업의 중대한 프로젝트에서 제외되는 경우가 많았는데, 최근 오픈소스 소프트웨어 개발사들의 이러한 기술 지원 체계들은 향후 오픈소스 소프트웨어의 도입과 적용에 적지 않은 영향을 줄 것으로 생각된다.

 

오픈소스 DBMS 적용 가속화

 

우리나라는 선진국에 비해 오픈소스 소프트웨어에 대한 관심과 자발적인 참여가 현저히 낮은 편이다. 그만큼 오픈소스 소프트웨어에 대한 인지가 늦었고 중요성을 뒤늦게 알기 시작했기 때문이다. 사실 우리나라에서 공개 소프트웨어가 알려지고 확산되기 시작한 것은 ‘2003년 1.25 인터넷 대란’ 이후부터라는 견해가 지배적이다. 그 결과, 2009년인 지금 30% 이상의 공공기관 서버에서 리눅스를 사용 중에 있고, 운영체제인 리눅스 외에 DBMS, WAS, 개발도구뿐 아니라 기업의 그룹웨어나 BPM 같은 솔루션들까지 다양한 분야로 확대되고 있다. 이에 발맞춰 정부도 공개 소프트웨어에 대한 확산과 개발자 참여를 유도하기 위해, 지식경제부는 지난해 기업과 대학이 함께 공개 소프트웨어 커뮤니티를 개최 및 운영해 소프트웨어 개발에 참여할 수 있도록 11개 커뮤니티를 지원했으며, 2009년에는 30개까지 확대했다. 정부 차원의 오픈소스 소프트웨어의 장려는 경제 불황에 따른 비용 절감 차원 측면에서도 생각할 수 있지만, 국내 소프트웨어 업계의 발전이라는 관점에서 오픈소스 개발자들의 참여 유도가 무엇보다 중요하다는 인식 때문으로 판단된다.

 

또한, 국내 포털 업체인 NHN뿐 아니라 씨디네트웍스, 삼성SDS, 유엔진 솔루션즈, 토마토시스템 등 다양한 분야에서 오픈소스 소프트웨어가 출시되기 시작했다. 게다가 네이버와 다음 등 대형 포털 업체들의 오픈 API 활성화를 위해 서비스를 본격화하기 시작했고 이러한 성과는 올해를 필두로 가시적인 변화를 가져올 것으로 기대된다. 이와 같이 국내 오픈소스 소프트웨어의 움직임이 활성화되고 있는 가운데, 오픈소스 DBMS의 사용과 적용 또한 점차적으로 확산될 것으로 예상된다.

 

DBMS 플랫폼의 다변화 예상

 

기업 내의 중요하지 않은 응용프로그램 요소에 오픈소스 DBMS가 채택되는 데는 2년 정도의 시간이 걸리지만, 그것이 중대한 프로젝트들로 확산되는 데는 약 5년 정도 걸리는 것으로 알려져 있다. 이에 근거할 때 오는 2012년에는 많은 기업들이 DBMS 플랫폼의 다변화를 꾀하리라 생각된다. 이는 단순 비용 절감이라는 측면에 그치는 것이 아니라, 소프트웨어 개발 환경을 활성화하고 자생력 있는 소프트웨어를 확산한다는 측면에서 접근하는 것이 바람직해 보인다.


다음 호에서는 특정 응용(게시판)을 중심으로 CUBRID와 타 DBMS와의 기능적 차이 및 구현방법 등을 점검해보기로 한다.

참고자료
1. http://kldp.org/files/open%20source%20guide.pdf
2. http://www.cubrid.com/zbxe/bbs_oss_guide
3. http://www.dt.co.kr/contents.htm?article_no=2009021702010860600004

 

필자소개

 

유명희 mhyu@cubrid.com|DBMS 마케팅 분야에서 다년간의 경험을 쌓았으며, 현재는 큐브리드에서 마케팅 팀장으로서 일하고 있다. 최근에는 국내 오픈소스 소프트웨어 시장에서 국산 DBMS의 저변 확대와 활성화를 위해 열심히 뛰고 있다.

 

출처 : 한국 마이크로 소프트웨어 [2009년 5월호]

제공 : DB포탈사이트 DBguide.net

반응형
Posted by [PineTree]