1.     들어가며

 

CUBRID2006 5월까지 Oracle, MS-SQL과 같은 상용 라이선스 정책을 유지했습니다. 인터넷 서비스 환경에서는 서버 시스템의 CPU 개수에 따라 라이선스를 판매했었고, 클라이언트/서버 또는 인트라넷 환경에서는 명목 사용자(Named User)를 산정하여 유저당 라이선스를 판매하였습니다(Oracle과 같은 멀티코어 라이선스 정책은 없었음).

 

20065, “개발자 확산이 국산 DBMS 성공의 핵심 키워드라는 인식하에 기존 상용 라이선스 정책을 과감히 버리고 무료 라이선스 정책을 선언하였으며, 2006 6월부터 무료 다운로드가 개시되었습니다.

 

01_다운로드 현황.gif
[
그림 1. CUBRID 다운로드 현황]

 

2 4개월 동안 총 30,389건의 제품 다운로드가 진행되었으며, 월 평균으로 계산하면 1,085건입니다. 특히, 2008년의 경우 오픈소스화 준비로 인해 개발자 확산을 위한 활동이 전혀 없었음에도 불구하고 월 평균 1,170건의 다운로드를 기록하였습니다.

 

2008 11 22… CUBRID 2008 신제품이 출시되는 날입니다. 또한, 오픈소스 소프트웨어(OSS: Open Source Software)로 재 탄생하는 날입니다. 개발자 확산을 통한 국산 DBMS 성공이라는 비전과 목표를 달성하기 위해 제품의 오픈소스화가 최선의 방안이라 판단했고, 이를 통해 국내 개발자들에게 한발 더 다가가고자 합니다. 사실, 국내에서 대규모 시스템 소프트웨어가 오픈소스로 공개되는 것은 이번이 처음입니다. 국내 개발자들에게개방하여참여를 유도하고, 그 결과물을 다시 국내 사용자들과공유하는 선순환 구조를 만들어 나가고자 합니다.

 

그러면, 이제부터 오픈소스 소프트웨어의 라이선스를 비교하고 CUBRID 2008은 어떤 라이선스 모델을 채택하고 있는지 살펴보겠습니다.


 

2.     오픈소스 소프트웨어 라이선스

 

오픈소스 소프트웨어 라이선스의 준수사항, 주요 쟁점, 사례, 관리/활용방안에 대한 자세한 내용은 KLDP.org 사이트의 오픈소스 소프트웨어 라이선스 가이드 문서에 자세하게 기술되어 있습니다. 특히, 3.2 라이선스별 준수사항에는 GPL 2.0, LGPL 2.1, BSD License 등 총 5개의 라이선스에 대해 자세하게 설명되어 있습니다.

 

아래 표는 컴퓨터프로그램보호위원회 사이트에서 발췌한 자료인데, 좀 더 직관적으로 정리된 것 같습니다.

 

주요 OSS 라이선스 비교.jpg

[출처: 컴퓨터프로그램보호위원회]

 

5개 라이선스 공히 무료 이용가능, 배포 허용가능, 소스코드 취득가능, 소소코드 수정가능 항목은 동일하나, 2차적 저작물 재공개 의무, 독점SW와 결함가능 항목에서는 차이가 있습니다.

 

GPL MySQL이 채택하고 있는 라이선스 모델로서, MySQL은 듀얼 라이선스 정책을 가지고 있습니다. GPL 라이선스가 적용된 커뮤니티 에디션(Community Edition)과 상용 라이선스인 엔터프라이즈 에디션(Enterprise Edition)이 있으며, 커뮤니티 에디션을 사용할 경우에는 GPL 라이선스에서 정한 대로 따라 사용해야 합니다.

 

BSD는 한마디로 아무런 제약조건이 없는 라이선스입니다. 국내에서 일부 매니아를 중심으로 사용하고 있는 PostgreSQL BSD 라이선스를 채택하고 있는데, 최근 다우기술과 총판계약을 체결한 EnterpriseDB사가 PostgreSQL 제품 기반의 사업을 전개하고 있는 회사입니다. 그런데 EnterpriseDB사의 라이선스 정책이 조금 특이합니다. 전통적인 오프소스 수익 모델인 subscription 방식을 채택하고 있는데, per socket” 방식으로 가격이 책정되어 있습니다(EnterpriseDB Database Subscription Pricing 참조).


 

3.     CUBRID 2008 오픈소스 라이선스

 

3.1 CUBRID 2008 라이선스 모델 개요

 

02_CUBRID 2008 라이선스 모델.jpg
[
그림 2. CUBRID 2008 라이선스 모델]

 

그림 2에서 보시는 바와 같이 CUBRID 2008은 서버 엔진과 인터페이스의 라이선스가 분리되어 있습니다. 서버 엔진은 GPL v2 or higher 라이선스이고, 인터페이스는 BSD 라이선스가 적용되어 있는데, BSD 라이선스를 채택한 핵심 배경은 국내 독립 소프트웨어 벤더(ISV: Independent Software Vendor) CUBRID 2008 제품 기반의 다양한 응용 프로그램을 개발하여 배포 또는 판매하는데 아무런 제약조건을 주지 않기 위함입니다. 이는 MySQL 라이선스 정책과 차별화 되는 핵심 포인트입니다. , MySQL은 응용 애플리케이션을 개발하여 배포/판매하기 위해서는 응용 프로그램 소스코드를 오픈하거나 상용 라이선스를 구매해야 합니다.

 

3.2 CUBRID 2008 라이선스 모델 장점

 

3.2.1 라이브러리 링크

 

l       제로보드보다 더 좋은 설치형 게시판을 만들고 싶어요. DBMS 인터페이스는 JDBC를 이용합니다. 제가 만든 게시판을 다른 사람들도 마음껏 사용할 수 있도록 나눠 주고 싶은데, 이런 경우에 제 소스를 공개해야 하나요?

l       중소기업을 위한 전자결재시스템을 개발해서 판매하고 싶어요. DBMS CUBRID를 사용하고 싶은데 저희 제품의 소스를 공개하거나 상용 라이선스를 구매해야 하나요?


위 두 가지 예는 DBMS를 사용하는 여러 가지 방식 중에서 DBMS가 제공하는 각종 라이브러리나 드라이버를 응용 프로그램에서 링크하여 사용하는 경우입니다. JAVA 응용의 경우에는 JDBC 드라이버를, PHP 응용인 경우에는 PHP 인터페이스를 응용 프로그램과 링크해야 DBMS의 기능을 사용할 수 있습니다.


이런 경우에 GPL 라이선스 모델의 DBMS를 사용하시면 연결된 응용 프로그램의 소스를 모두 공개해야 합니다. 만약, DBMS 벤더가 듀얼 라이선스 정책으로 상용 라이선스를 판매하는 경우에는 상용 라이선스를 구매함으로써 소스를 공개하지 않을 수 있습니다. 바로 MySQL이 이러한 라이선스 모델을 채택하고 있습니다.


CUBRID 2008은 응용과 연계되는 모든 인터페이스에 BSD 라이선스를 적용하였기 때문에 응용 프로그램의 소스를 공개할 필요가 없습니다.

03_라이브러리 링크.gif
[
그림 3. 라이브러리 링크]


          - CUBRID 2008: 공개 의무 없음
          - GPL 기반 DBMS: 신규 응용 소스 공개 또는 상용 라이선스 구매 (듀얼 라이선스 경우)

 

3.2.2 단순 호출

 

l       DBMS 백업 관리시스템을 만들어 사용해 보고 쓸만하면 제품으로 패키지해서 판매하고 싶은데요. 백업 관리시스템이기 때문에 DBMS 백업 파일을 다루거나 Utility를 호출하는 방식으로 동작할 것이고 DBMS의 인터페이스나 라이브러리를 링크할 필요는 없어요. 이런 경우에도 라이선스가 문제가 될까요?


이번 예는 라이브러리나 드라이버를 응용 프로그램과 직접 연결하지 않고 제공하는 기능을 단순하게 호출하는 경우입니다. 이러한 경우에도 라이브러리 링크 방식과 동일하게 GPL 기반 DBMS를 사용하는 경우 응용 프로그램의 소스를 모두 공개하여야 합니다.

04_단순호출.gif
[
그림 4. 단순호출]


          - CUBRID 2008: 공개 의무 없음
          - GPL 기반 DBMS: 신규 응용 소스 공개 또는 상용 라이선스 구매 (듀얼 라이선스 경우)
 


3.2.3
법인 간 배포

 

l       저희는 한국에 본사가 있고 일본, 중국, 미국에 지사가 있어요. 본사에서 만든 게임으로 해외 법인에서도 서비스해도 될까요?


GPL 라이선스를 채택한 DBMS로 만든 응용 프로그램을 서로 다른 법인 간에 배포하는 경우에는 응용 프로그램의 소스를 모두 공개하거나 상용 라이선스를 구매해야 합니다. 따라서, 앞으로 글로벌 진출을 계획하고 있는 일반 기업이나 솔루션 벤더사에게 CUBRID 2008은 가장 경쟁력 있는 라이선스 모델을 제공하고 있습니다.


05_법인간 배포.gif
[
그림 5. 법인 간 배표]


          - CUBRID 2008: 공개 의무 없음
          - GPL 기반 DBMS: 신규 응용 소스 공개 또는 상용 라이선스 구매 (듀얼 라이선스 경우)
 


3.2.4
인터페이스 수정

 

l       DBMS가 제공하는 PHP 인터페이스에 Dynamic SQL 기능이 없어서 불편해요. PHP 인터페이스를 수정해서 사용하면 수정된 인터페이스나 연결된 응용을 모두 공개해야 하나요?


GPL 라이선스의 경우에는 소스에 수정을 가한 경우 해당 소스를 모두 공개하여 개선된 기능을 다른 사용자들과 공유하는 것이 원칙입니다. 그러나, BSD 라이선스는 수정한 내용을 개인적으로, 또는 수익을 위한 상용으로 사용하는 경우에도 수정된 소스를 공개할 필요가 없습니다.

06_인터페이스 수정.gif
[
그림 6. 인터페이스 수정]


          - CUBRID 2008: 공개 의무 없음
          - GPL 기반 DBMS: 수정된 전체 소스와 연계된 응용 공개
 


지금까지 4가지 경우에 대한 사례를 통해 CUBRID 2008의 라이선스 모델 장점에 대해서 살펴 보았습니다. 이를 통해 시장 참여자인 개발자, 독립 소프트웨어 벤더, 일반 기업 관점에서 어떤 이득이 있는지 간략하게 정리하면 아래와 같습니다.

 

l       개발자: 제한 없이 인터페이스 수정 및 배포가 가능하며, 상용 응용 프로그램 개발 시 라이선스 비용을 절감할 수 있습니다.

l       독립 소프트웨어 벤더: 솔루션 전체 비용(솔루션 + DBMS)을 절감할 수 있으며, 소스코드 공개에 대한 의무 없이 자유롭게 배포 및 판매가 가능합니다.

l       일반 기업: 총소유비용(TCO: Total Cost of Ownership)을 획기적으로 절감할 수 있으며, 자사 특성에 맞게 customization이 가능합니다.

 

3.3 CUBRID 라이선스 모델의 제약

 

l       저희 사내 시스템에서는 모든 페이지에조직도를 보여 주어야 해요. 조직 구성은 매달 변경이 많아서 Recursive Query가 꼭 필요한데 DBMS 엔진에 이 기능을 넣으면 수정된 DBMS 코드와 저희 사내 시스템을 모두 소스 공개해야 하나요?


DBMS 엔진은 소프트웨어 개발의 핵심 인프라이므로 개선된 기능을 많은 사용자들과 공유하는 것이 바람직하다고 생각합니다. CUBRID 2008 서버 엔진의 개선 사항을 좀 더 많은 사용자들과 함께 사용하기 위해 DB 서버는 GPL 라이선스를 채택하였습니다. 따라서, DB 서버 엔진을 수정하는 경우에는 그 수정 내역이 일반 사용자들에게도 오픈될 수 있기를 바랍니다.

07_서버 수정.gif
[
그림 7. 서버 수정]


          - CUBRID 2008: 수정된 DBMS 소스 공개
          - GPL 기반 DBMS: 수정된 DBMS 소스 공개
 


 

4.     맺음말

 

지금까지 CUBRID 2008 오픈소스화 배경 및 차별화된 오픈소스 라이선스 정책을 살펴 보았습니다. 큐브리드는 오픈소스 정책이 국내 개발자 확산과 적용 확산이라는 목표를 달성하는데 큰 모멘템이 될 것으로 기대하며 이를 통해 국산 시스템 소프트웨어의 경쟁력을 확보하고, 특정 다국적기업에 종속적인 국내 소프트웨어 시장의 생태계에 변화를 주고자 합니다