소프트웨어

척박한 생태계에서 생존한 공개SW...“올챙이가 대왕 개구리되는 그날까지”

백지영

[디지털데일리 백지영기자] 시높시스와 가트너 등 시장조사기관의 조사에 따르면 상용 소프트웨어(SW) 코드의 60~90%는 오픈소스로 이뤄져 있다. 수십억 개에 달하는 사물인터넷(IoT) 기기 역시 평균 77%의 오픈소스(공개)SW가 내장돼 있다. 이처럼 우리가 사용하는 거의 대부분의 SW는 오픈소스에 의해 만들어진다.

하지만 공개SW의 중요성은 높아지고 있는 것과 비교해 공개SW 개발자의 삶은 녹록지 않다. 공개SW는 아직도 ‘무료’라는 인식이 팽배하고, 그렇다 보니 이를 활용하는 사용자 혹은 기업의 태도도 여전히 미성숙하기 때문이다.

‘올챙이’는 척박한 오픈소스 생태계에서 살아남은 국내 대표적인 공개SW 프로젝트 중 하나다. 정식 명칭은 ‘테드폴DB허브(Tadpole DB Hub)’다. 테드폴(Tadpole)은 ‘올챙이’라는 뜻이다.

KT이노츠에서 클라우드 플랫폼(PaaS)을 개발하던 조현종 씨가 2011년 한국자바개발자컨퍼런스(JCO)에서 발표 준비를 하면서 파일럿(데모)으로 만든 것이 지금의 ‘테드폴DB허브’로 발전했다. ‘올챙이’는 2012년 공개SW개발자대회에서 대상을 받았다.

조 대표는 “2011년 당시 파일럿으로 만들다 보니 ‘올챙이’라는 이름을 지은 것도 있고, 대왕 개구리가 되길 바라는 마음도 있었다”라며 “DB 관리 툴로 유명한 ‘토드(Toad)’, 즉 두꺼비도 있다”라고 웃음 지었다.

웹 브라우저에서 11가지 DB 관리

‘테드폴DB허브’는 오픈소스 웹 기반 데이터베이스(DB) 협업 툴이다. 최근 데이터가 중요해지면서 기업에서도 이기종의 DB를 활용하고 있다. 오라클이나 마이SQL과 같은 관계형 DB뿐만 아니라 레디스나 엘라스틱캐시 등도 DB 인기 순위권에 오른다. 뿐만 아니라 DB는 기업 내부에 구축된 온-프레미스(On-premise) 시스템이나 퍼블릭 클라우드 서비스 환경 등에서도 활용된다.

예전에 비해 DB를 보는 사람도 많아졌다. 과거 DB는 엔지니어만 손댈 수 있는 시스템이었다면 이제는 DB 관리자나 데이터 분석가, 심지어 마케팅을 하는 사람까지 데이터, 즉 DB를 다뤄야 하는 시기다. 때문에 DB를 어떻게 관리하는가는 주요 화두가 되고 있다. DB마다 적합한 관리 툴을 선정하는 것부터 누가 DB를 어떻게 사용하고 있는지, DB의 리소소는 어떻게 관리되는지, 또 누가 어떻게 접속하고 있는지에 대한 관리자의 고민이 커졌다.

테드폴DB허브는 어떤 웹 브라우저에서든 다양한 DB를 관리할 수 있는 플랫폼이다. 자바스크립트 기반 웹 애플리케이션을 만들 수 있게 해 주는 이클립스 하위 프로젝트 ‘이클립스RAP’ 기반으로 개발됐다. 도커(Docker)와 워(WAR), 각 OS 바이너리로 제공된다.

현재 오라클 DB과 마이크로소프트 SQL 서버를 비롯해 마이SQL, 몽고DB, 마리아DB, 포스트그레SQL와 같은 오픈소스 DB, 큐브리드, 알티베이스, 티베로(티맥스) 등 국산 DB 제품까지 모두 지원한다. 아마존웹서비스(AWS)와 같은 클라우드 DB도 포함된다.

조 대표는 “현재 약 11가지의 DB를 지원하며, 사용자가 DB 보안 표준을 준수할 수 있도록 사용 환경을 제공하고 있다”라며 “회사 입장에선 정보보호관리체계(ISMS) 등을 준수하는데 적합한 제품”이라고 설명했다. 실제 많은 기업이 ISMS 준수를 위해 테드폴DB허브를 사용 중이다.

예를 들어, 특정 사용자가 DB에 접근할 수 있는 권한을 준다거나 로그인 시 추가인증을 지원하는 식이다. 만약 특정 사용자가 A라는 DB에 접속할 경우, 서버 관리자의 권한 하에서 특정 업무만 가능하다. 사용자별 로그인 IP 관리나 이력 관리 등도 가능해 추후 감사에도 편리하다.

비정상 사용자나 권한 이상 탐지나 사용자에게 보이는 DB 정보 숨김 기능도 제공한다. 누가 언제 어떻게 어떤 쿼리를 남겼는지 등도 파악할 수 있다. 실시간 모니터링을 통해 사용자 차단도 가능하다. 스키마 비교 기능도 제공한다.

오픈소스 vs 엔터프라이즈 버전 차이점 : 보안
오픈소스 vs 엔터프라이즈 버전 차이점 : 보안

오픈소스-엔터프라이즈 버전 차이점은

조현종 대표는 KT이노츠 퇴사 이후 2012년부터 본격적으로 ‘올챙이’를 위한 오픈소스 전업(Full-time) 개발자 생활을 시작했다. 4년 후인 2016년 ‘테드폴허브’라는 법인을 설립했고, 이후 카카오뱅크와 로엔엔터테인먼트, 동아닷컴 등 다수의 고객을 확보하면서 본격적으로 활동하기 시작했다. 특히 카카오뱅크가 올챙이의 엔터프라이즈 버전을 도입하면서 관련 업계의 주목을 받았다.

현재 올챙이는 오픈소스와 엔터프라이즈 버전을 별도로 관리하고 있다. 오픈소스는 사용자 5명 미만의 소규모 조직에서 사용하는 용도로, 엔터프라이즈 버전은 일정 규모 이상 기업에 최적화 됐다. 앞으로도 2개의 버전을 개별적으로 가져갈 예정이다. 오픈소스 버전의 경우, 판매나 기술지원을 일체하지 않으며 약 3~6개월 단위의 버전을 내놓을 계획이다. 라이선스는 LGPLv2다.

반면 엔터프라이즈 버전은 아예 상용 제품처럼 활용되도록 했다. 고객이 원하면 최신 버전을 설치할 수 있고 버그 패치나 신규 기능도 지원한다. 월간 시스템 로그 분석 및 리포팅과 같은 사용자 로그 분석도 제공한다. 서버 이중화나 엔진 DB 백업, 사용자별 IP 관리나 이중 로그인 미허용, 접근제어, 쿼리 기록 및 실시간 조회, 휴면계정 정리, 쿼리 결과 등의 리소스 다운로드 등 다양한 보안 기능을 지원한다. 이 밖에 LDAP 로그인 지원이나 DB 보안시스템 연동, OTP, 테드폴API허브를 통한 사용자 추가·삭제 및 내부시스템 연동이 가능하다.

오픈소스 vs 엔터프라이즈 버전 차이점 : 엔진
오픈소스 vs 엔터프라이즈 버전 차이점 : 엔진

오픈소스 vs 엔터프라이즈 버전 차이점 : 설치 및 유지보수
오픈소스 vs 엔터프라이즈 버전 차이점 : 설치 및 유지보수
그가 오픈소스와 엔터프라이즈 버전을 완전히 분리시킨 데는 여러 이유가 있었다. 주된 이유는 단순히 라이선스 자체의 문제보다는 공개SW에 대한 세간의 인식을 환기시키고자 한 목적이 컸다. 공개SW를 만드는 것은 ‘자원봉사’와 같이 일종의 희생이 따르는 일이다. 공개SW이니 '당연히 공짜로 사용할 수 있다'가 아닌 최소한 이에 대한 감사함과 존중이 필요하다는 것을 보여주고 싶었다.

한편 올챙이의 최신 버전은 1.8.6이다. 내년 초 2.0버전을 출시할 예정이다. 현재 도커 버전은 11월 20일 기준 5100번, 바이너리 다운로드는 2만 520건에 달한다.

그는 “엔터프라이즈 버전의 경우 서브스크립션(구독) 방식으로 사용자당 과금을 받고 있다”라며 “이를 통해 고객과 비슷한 호흡으로 제품을 만들어 갈 수 있다는 것이 장점이다. 결국, 고객 시스템이 발전하면 우리도 함께 발전하는 구조”라고 말했다.

왜 나는 오픈소스를 하는가

조현종 대표가 공개SW를 하는 이유는 단순하다. 그동안 오픈소스로 도움을 받았고, 이를 돌려주었으면 좋겠다고 생각했기 때문이다. 이것으로 먹고 살 수 있으면 금상첨화라고 생각했다.

그는 “자원봉사를 해보지 않은 사람은 이것이 얼마나 힘든지 모르고 당연하게 생각한다”라며 “괜찮은 아이디어를 갖고 구현한 공개SW라면 사회에 좋은 영향을 끼치고 이에 합당한 대가를 받는 게 당연한데, 당연하지 않았다”라고 말했다. 아무리 좋은 결과물이 나와도 일정 궤도에 오르기까지 힘든 것이 현실이다.

특히 구글과 같은 큰 기업들과는 달리 개인이나 소규모 조직이 하는 공개SW가 세상이 나오기까지는 이들의 희생이 따른다. 조 대표는 “오픈소스니깐 공짜로 쓰는 것은 당연한 데다가 감사한 마음 없이 사용하는 것을 보면 힘이 빠진다”라고 토로했다.

그는 공개SW가 발전하기 위해선 이를 만드는 개발자가 활약할 수 있는 토대가 마련돼야 한다고 조언했다. 단순히 개발공간을 제공하거나 시스템통합(SI) 성격의 정부 프로젝트를 주는 것이 아니라, 공개SW로 구현한 아이디어를 잘 다듬어 발전시킬 수 있도록 해야 한다는 것이다.

조 대표는 “결과물이 누구에게 의미가 있으면 먹고 살 수 있어야 하는데, 상황이 그렇지 않다 보니 만드는 사람도 없고, 만들어도 먹고 살 길이 없다”라며 “결국 공개SW가 발전하려면 커뮤니티나 사용자의 역할이 필요하며, 오픈소스 개발자들이 IT산업에 좋은 영향을 끼치면서 잘 먹고 잘 사는 모습을 보여야 한다”고 강조했다.

그는 이어 “국내에서 공개SW를 한다는 것은 단점이지 결코 장점이 아닌 것 같다”라며 “가격도 싸고 제품도 좋고 소스가 공개돼 있으니 발전 가능성이 높다는 점보다는 ‘오픈소스=공짜’라고 생각하고 오히려 비용은 깎으려고 하면서 요구사항은 많은 것이 현실”이라고 지적했다.

그럼에도 불구하고 그는 공개SW로 성공한 개발자로 이름을 남기고 싶다. 그는 “우리가 사용하는 거의 대부분의 SW는 오픈소스 없이는 힘들다”며 “내가 도움을 받은 만큼, 누군가에게도 도움이 되고, 지속적인 기술 발전이 이뤄졌으면 한다”고 말했다.

조현종 테드폴허브 대표
조현종 테드폴허브 대표
“‘DB의 허브’가 되는 것이 목표”
[미니 인터뷰] 조현종 테드폴허브 대표

Q. 제품 업그레이드 계획은?
A. 우선 내년에 오픈소스 버전도 같이 업그레이드(v2.0)를 할 예정이다. 웹 브라우저가 크게 버전 업그레이드되면 유지보수가 함께 필요하다. 오픈소스 버전도 오픈소스대로 앞으로 유지보수는 할 예정이다. 오픈소스와 엔터프라이즈 버전을 따로 관리하다 보니 일이 2배로 드는 것이 사실이다. 엔터프라이즈의 경우 2.0 버전에선 컬럼 마스킹 기능을 제공할 예정이다. 개인정보보호 때문에 특정 정보를 안 보이게 처리하는 것이다. 결재기능도 추가할 예정이다. 분업화되고 협업이 많아지면서 특정 기능을 수행할 경우, 책임을 같이 지자는 의미다. AWS나 네이버비즈니플랫폼(NBP)에도 제품을 등록해 클라우드 서비스로도 제공하고 있다. NBP의 경우 DB 툴이 아니라 보안 툴 영역에 올라가 있다.

Q. 공개SW 발전을 위한 제언이 있다면?
A. 한 마을에 예쁜 아이가 태어났는데, 마을 사람들은 아이가 예쁘다고만 한다. 아이가 예쁘게 잘 크기 위해선 마을 사람들의 도움이 필요하다. 아이를 낳은 부모 뿐만 아니라 마을 사람들이 함께 잘 먹이고 잘 씻기고 잘 교육해야 아이가 잘 클 수 있다. 나중에는 이 예쁜 아이가 내 아이라고 자랑까지 한다. 현재 공개SW를 대하는 사용자 혹은 기업의 태도가 딱 이렇다. 공개SW로 사업에 참여해 먹거리가 우선 해결되는 것이 급선무다. SI 성격의 정부 사업이 아닌 오픈소스가 상용SW와 동일하게 사업에 쉽게 참여할 수 있도록 판을 만들어주는 것이 중요하다. 인증이나 나라장터 등록 등이 더 쉬웠으면 한다. 공개SW나 상용SW의 구별 없이 좋은 SW가 잘 사용되도록 참여기회를 동등하게 해야 한다.

<백지영 기자>jyp@ddaily.co.kr

※ 본 공개SW 활용 성공사례는 디지털데일리와 정보통신산업진흥원(NIPA) 공개SW역량프라자가 공동 발굴한 기사입니다.

백지영
jyp@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널