[단독] 올챙이 오픈소스 프로젝트 중단..."카카오 횡포 때문"

입력 2018.03.13 22:57 | 수정 2018.03.14 06:00

8일 웹 기반 데이터베이스 협업 도구인 이른바 '올챙이' 프로젝트의 오픈소스의 배포가 중단됐다. 이 프로젝트를 주도적으로 개발한 회사 측은 대기업인 카카오의 횡포 때문에 어쩔 수 없이 소스 코드의 배포를 중단할 수 밖에 없었다고 주장해 논란이 커지고 있다. 오픈소스 소프트웨어(SW) 업계도 활용성과 범용성, 잠재가치 등이 높은 오픈소스 프로젝트가 문을 닫게 돼 아쉬움이 크다는 반응이다.
깃허브 페이지를 닫은 테드폴DB허브. / 테드폴허브 깃허브 갈무리

14일 오픈소스 소프트웨어 업계 및 개발자 등에 따르면, 테드폴허브는 지난 8일부터 깃허브에서 올챙이 프로젝트의 오픈소스 배포를 깃허브에서 중단했다. 테드폴허브 측은 "카카오의 횡포가 중단될 때까지 소스 코드 배포를 중단한다"고 밝혔다. 조현종 대표는 카카오 행태를 알리고자 '올챙이를 보호해주세요'라는 페이스북 그룹(www.facebook.com/groups/192617388152575)을 개설했다.

깃허브는 소프트웨어 배포 및 유지보수 관리 기능을 제공하는 협업용 서비스이자 오픈소스 배포를 위한 창구로 이용된다. 구글, MS, 어도비, 넷플릭스 등 많은 기업들이 깃허브를 통해 오픈소스 프로젝트를 진행하고 있다.

올챙이는 테드폴허브가 주도적으로 기여하는 테드폴DB허브(Tadpole DB Hub)를 부르는 개발자 사이 애칭이다. 테드폴DB허브는 여러 종류의 데이터베이스(DB)를 하나로 모아 모니터링하거나 관리할 수 있는 시스템이다. 웹 환경에서 쓸 수 있어 윈도나 맥 등 운영체제(OS)에 종속되지 않는다. 윈도 애플리케이션으로만 제공되는 상용 소프트웨어인 오라클(Oracle)의 '토드(Toad)' 대체재로 평가된다.

조 대표는 "오픈소스 프로젝트로 생계를 유지하는 입장에서 카카오와 같은 선례가 남으면 다른 기업도 똑같이 소스코드를 가져갈 수 있다고 판단했다"며 "이 같은 위협을 줄이기 위해 소스코드 노출 범위를 최소화하려고 3월 8일부터 깃허브를 통한 배포를 중단했다"고 설명했다. 테드폴DB허브와 카카오 사이에서는 무슨 일이 있었을까.

◆ 테드폴DB허브 - 카카오 왜 갈등하나

테드폴DB허브의 라이선스는 오픈소스 버전과 엔터프라이즈 버전이 있다. 엔터프라이즈 버전에는 오픈소스 버전 기본 기능 이외에 추가적으로 데이터베이스 접근제어 감사 기능이 탑재됐다. 기업은 이 기능을 활용해 서버 시스템 접근 및 사용 이력을 실시간으로 감사할 수 있어, 정보보안 프로세스 개선에 활용한다.

카카오는 2016년 10월 26일 테드폴허브에 연락해 테드폴DB허브 사용 의향을 밝혔다. 당시 카카오 데이터팀 파트장은 조 대표에게 연락해 "카카오가 기존에 사용하던 KSQL은 오라클과 포스트그리SQL(PostgreSQL)의 트랜잭션(Transaction) 기능을 지원하지 않는다"며 "테드폴DB허브가 다양한 데이터베이스와 트랜잭션 기능을 지원해 2014년 1.4.2 버전부터 도입해 사내 환경에 맞춰 커스텀(Custom) 작업을 했다"고 기업용 솔루션 기능의 추가 작업을 요청했다.

조 대표는 당시 이 말의 의미를 카카오가 무료인 오픈소스 버전이 아닌, 유료인 엔터프라이즈 버전을 사용하겠다는 의미로 받아들여 2016년 11월 4일 카카오 본사로 방문했다. 당시 카카오는 테드폴DB허브를 '프로그(Frog·개구리)'로 명칭을 바꿔 사용하고 있었다. 또한 카카오는 테드폴DB의 엔터프라이즈 버전를 수정하며 발생한 버그를 고쳐줄 것을 요청했다.

‘Frog’로 명칭이 바뀐채 개발되고 있는 화면. / 조현종 테드폴허브 대표 제공
이날 조 대표는 "카카오에 엔터프라이즈 버전에 대한 계약을 맺어야 진행할 수 있다"면서 "소프트웨어 이름도 테드폴DB허브의 원래 명칭인 '테드폴DB허브(TadpoleDBhub)'로 사용해달라"고 요청했다. 하지만 카카오는 이에 대해 아무런 답변을 하지 않았다. 양 측은 이후에도 서로 연락을 주고받지 않았다.
양측의 갈등은 1년 후에 불거졌다. 2017년 하반기 조 대표는 카카오 사내 개발 발표회 포스터를 발견했다. 이 포스터에는 카카오가 2017년 11월 1일 '인프라데이'라는 사내 개발 발표회를 개최하고 프로그를 사내 개발도구로 사용한다고 발표하는 내용이 포함됐다.

카카오 인프라데이에서 ‘Frog’로 발표. / 조현종 테드폴허브 대표 제공
2017년 11월 17일 조 대표는 오픈소스소프트웨어재단(OSSF)의 도움을 받아 카카오에 라이선스 준수여부를 확인해 달라는 1차 내용증명을 카카오 측에 발송했다.

조 대표는 카카오에서 오픈소스의 명칭을 바꿔 사용하는 것과 개인이 만든 엔터프라이즈 기능을 기초로 만들어 사용하면서도 비용을 제대로 내지 않는 것을 문제로 지적하고 있다. 그는 또한 카카오 측의 공식 사과를 요청하고 있다.

◆ "카카오 주장 말 안돼" vs "도의적 문제"

카카오 법무팀은 2017년 12월 8일 재단으로 답신을 보냈다. 카카오 법무팀은 "LGPL 2.1 라이선스로 오픈된 테드폴DB허브에 필요한 기능만 추가해 내부적으로 사용하고 있다"며 "웹서비스 형태로 내부에서만 사용할 뿐 외부로 배포(공표)하지 않았다"고 밝혔다. 저작권을 지키고 있다는 의미였다.

카카오 법무팀은 또한 "라이선스를 유지한 상태로 필요한 기능만을 추가해 카카오 소프트웨어로 개발했기 때문에 '쿼리 익스큐터(Query Executor(Frog·개구리))'는 오픈 소스 소프트웨어를 개작한 소프트웨어로 올챙이와 별개의 소프트웨어"라고 주장했다. 특히 카카오는 '당사 소프트웨어'라는 표현을 사용하면서 카카오 소프트웨어임을 강조했다.

LGPL은 라이브러리는 공유하되 개발된 제품에 대해서는 소스를 공개하지 않고 상용 SW 판매가 가능한 라이선스를 말한다. 이 라이선스에 따르면 원본저작물 및 파생저작물에 대한 소스코드를 제공하거나, 요청시 제공하겠다는 약정서를 제공해야 한다. 또 응용프로그램을 배포할 경우, LGPL 라이브러리를 사용하고 있다는 사실을 명시해야 한다. 사용자가 라이브러리를 수정해도 응용프로그램을 사용할 수 있도록 (예를 들어 오브젝트코드를 제공하거나 공유라이브러리 방식 등을 이용하여) 허용해야 한다.

양측의 갈등에 대해 소프트웨어 개발자 사이에서는 의견이 분분하다. 우선 카카오의 주장이 말도 안되는 소리라는 의견이 나온다. 카카오 측에서 주장하는 개작한 별개의 소프트웨어라는 말은 오픈소스 생태계에서 절대 있을 수 없는 말이라는 것이다.

오픈소스 프로젝트 PMC(Project Management Committee)를 역임한 한 개발자는 "오픈소스 개작은 있을 수 없다"며 "코드를 단 한 줄이라도 썼으면 해당 오픈소스에 귀속된다"고 말했다.

또 처음 조 대표가 문제점을 발견했을 때 확실히 짚고 넘어갔어야 했다는 안타까운 목소리도 나온다. 조 대표는 이에 대해 "당시 제대로 대응하지 못했던 점은 내 과실이었던 것 같다"며 "지금이라도 잘못된 점은 개선되어야 한다고 생각한다"고 밝혔다.

일각에서는 LGPL로 라이선스를 명시한 상태이기 때문에 '프로그(Frog)'로 명칭을 바꾼 것이 라이선스 위반이 아니라 도의적인 책임이라는 평가가 나왔다.

글로벌 오픈소스 소프트웨어 업체 한 직원은 "이번 문제는 법적인 것을 떠나 카카오가 원저작자를 무시한 도의적인 책임이 있다"고 말했다. 또 다른 개발자는 "척박한 토양에서 고생하며 일궈낸 오픈소스 열매를 시들게 만들었다"며 아쉬움을 토로했다.

카카오 측은 14일 오후 테드폴허브 측과의 문제와 관련해 "카카오는 '올챙이' 관련 오픈소스 라이선스와 저작권을 준수하고 있다"며, "내부적으로만 사용한 것이므로 라이선스 의무사항에도 해당하지 않는다"고 답했다.

◆ 테드폴DB허브, 다시 돌아올까…오픈소스 기여는 계속 이어져

테드폴DB허브가 깃허브에서 닫혔음에도 불구하고 개발자 기여는 계속 이어지고 있다. 오픈소스 정신을 유지하고자 하는 개발자들의 마음과 테드폴DB허브를 더 이상 볼 수 없다는 안타까움이 더해졌기 때문이다.

이메일로 직접 전달되는 오픈소스 기여 코드. / 조현종 테드폴허브 대표 제공
일례로 코드 수정 내역을 등록할 수 있는 기능은 깃허브에서 제공하지만 깃허브를 사용하지 못하기 때문에 개발자들은 이메일로 직접 소스코드 파일을 첨부해 전달하고 있는 등 노력이 이어진다.

조현종 테드폴허브 대표 역시 개발자들의 마음을 이해하고 있다. 하지만 대기업의 잘못된 활용방법으로 인해 나쁜 선례를 남길 수 있어 대비책을 준비하고 테드폴DB허브를 다시 오픈한다는 방침이다. 그는 차후 라이선스를 보호받을 수 있는 준비를 완료하고 엔터프라이즈 버전 기능을 업데이트해 테드폴DB허브를 다시 오픈할 예정이다.

조 대표는 "선의로 시작한 오픈소스 프로젝트가 대기업의 잘못된 활용 방법으로 기본 취지가 흔들린 것이 아쉽다"며 "국내 오픈소스 생태계가 확장하거나 발전하지 못하는 나쁜 선례가 될까 두렵다"고 밝혔다.

한편, 카카오뱅크와 로엔엔터테인먼트는 이 기능을 활용하기 위해 2016년부터 엔터프라이즈 버전을 사용 중이다.

◆ 테드폴허브 - 카카오 분쟁일지


키워드