클라우드서비스 씨앗

씨앗소식

씨앗 이슈리포트
[2019-05] CLOUD NEWS 02 오픈소스 라이선스와 클라우드 상세보기
[2019-05] CLOUD NEWS 02 오픈소스 라이선스와 클라우드 게시글 정보입니다.
2019.05.16 16:33
[2019-05] CLOUD NEWS 02 오픈소스 라이선스와 클라우드
02 오픈소스 라이선스와 클라우드

가장 유력한 오픈소스 데이터베이스 가운데 하나인 MongoDB의 공동창업자이자 CTO인 Eliot Horowitz는 2018년 10월, MongoDB가 앞으로 SSPL(Server Side Public License)1)을 사용할 것이라고 발표했다.2) SSPL은 클라우드 사업자가 MongoDB를 As-a-Service 형태로 제공할 때의 조건을 명확하게 한 것으로, 이전의 MongoDB 라이선스였던 AGPL(Affero General Public Licence)3)을 변경한 것이다4).

데이터베이스 평판도 순위 (ref, Statista 2019)

그림 1 데이터베이스 평판도 순위 (ref, Statista 2019)

MongoDB 측은 SSPL이 GPLv35)에 기반하고 있으며, SSPL이 이전의 AGPL과 같은 자유, 즉 소스코드의 열람, 사용, 수정, 재배포를 보장하므로 OSI(Open Source Initiative)6)의 오픈소스 정의에 부합한다고 주장하면서 OSI에 승인을 요청하였으나, Eliot Horowitz는 2019년 3월 8일, SSPL에 대한 OSI의 오픈소스 라이선스 승인 프로세스를 중단하겠다고 발표했다7).

우선 SSPL이 AGPL과 다른 점은 다음과 같다. 이전의 AGPL은 어떤 소프트웨어가 배포되지 않고, 서버사이드에서 실행될 때도, GPL과 같이 서비스 제공자가 그 소프트웨어에 대하여 행한 수정 및 추가된 부분의 모든 소스코드를 공개해야 한다는 것으로, 서버 그 자체에 한정하고 있는 것에 반하여, SSPL은 해당 코드뿐만 아니라, As-a-Service 형태로 제공할 때 부수적으로 필요한 관리 소프트웨어, 사용자 인터페이스, API, 자동화 소프트웨어, 모니터링 소프트웨어, 백업 및 저장 소프트웨어 등 As-a-Service 사용자가 실행하는 모든 소프트웨어의 코드를 공개해야 하는 조건이다. 다시 말해 클라우드 사업자들이 MongoDB를 서비스 형태로 제공할 때, 자신의 서비스 경쟁 우위를 유지하기 위해 만든 모든 소프트웨어의 소스 코드까지를 모두 공개해야 한다는 조건인 것이다.

즉 SSPL은, 자신의 소프트웨어를 이용하여 큰 이익을 취하고 있는 클라우드 사업자가 ‘관리가 되는 서비스’의 형태로 MongoDB를 계속 제공하기를 원한다면, 그들의 영업 비밀을 공개하거나, 상용 라이선스 계약하여 유료로 사용하라는 아주 강력한 메시지인 것이다.

이 논의에 대해 커뮤니티에서는 결이 다른 두 가지 입장이 대두되었다. 첫 번째는 클라우드 사업자들이 오픈소스 소프트웨어를 이용하여 엄청난 수익을 얻으면서도 자신의 기술을 공개하거나, 오픈소스 프로젝트에 기여하는 정도가 매우 적다는 관점에서 데이터베이스 서비스를 위한 주변 기술들을 클라우드 사업자들이 더 적극적으로 공개하고 오픈소스 프로젝트에도 기여해야 한다는 의견이다. 두 번째는 SSPL이 오픈소스 소프트웨어의 정의 관점에서, 소프트웨어의 특정 사용 범위에 관한 제약이 추가되었다는 점(OSI 정의의 8번, License Must Not Be Specific to a Product)과 라이선스의 의무 사항이 해당 소프트웨어가 아닌 별도의 소프트웨어라는 점(OSI 정의의 9번, License Must Not Restrict Other Software)에서 오픈소스 소프트웨어가 마땅히 가져야 할 ‘자유’의 철학에 반한다는 것이다.

‘자유’라는 철학에 반한다는 것 때문에, 논의는 MongoDB 측에 불리해졌고, 결국 Eliot Horowitz는 지난 3월 SSPL이 오픈소스 정신에 어긋나는 것은 아니지만, OSI의 오픈소스 라이선스 승인 프로세스를 중단하겠다고 선언하고, 수정된 라이선스를 만들 계획이라고 했다. 오픈소스의 철학을 반하는 라이선스도 문제이기는 했지만, OSI는 오픈소스의 상업적 활용에 무게중심이 있는 조직이며 아마존, 마이크로소프트, 구글을 포함한 거의 모든 클라우드 업체들의 후원을 받는 OSI는 SSPL에 쉽게 동의하기는 어려웠을 것으로 보인다.

이런 와중에 AWS는 2019년 1월 초, MongoDB의 이전 버전을 기반으로 Mission-Critical한 환경에서 MongoDB를 그대로 대치하여 성능, 확장성 및 가용성을 확보할 수 있는 DB 서비스인 DocumentDB를 오픈소스가 아닌 형태로 발표하였다8). AWS는 심지어 이 서비스의 이름을 "Amazon DocumentDB (with MongoDB compatibility),"라고 정함으로써 전선을 명확하게 하였다. MongoDB가 신뢰도와 일관성 관점에서 취약하다는 이슈가 많이 제기되었고, AWS가 예전 버전의 MongoDB를 수정하여 좀 더 사용성이 좋은 서비스를 제공하는 것은 고객들 관점에서는 좋은 상황일지도 모르지만, 오픈소스 커뮤니티는 AWS가 좀 더 ‘착한’ 커뮤니티의 일원으로서 오픈소스 프로젝트에 더 많은 기여를 해야 하고, 동시에 자신들의 서비스도 오픈소스로 공개해야 한다는 의견이 많았다.

MongoDB와 유사한 라이선스 이슈는 Common Clause9) 라이선스를 Redis Labs가 적용하면서도 발생했었다. 간단히 정리하면 Common Clause는 오픈소스의 “Commercial Use”를 금지하는 조항으로 기존 오픈소스 라이선스 위에 추가하는 조항이다.

Redis는 웹 응용 프로그램에서 많이 사용 CLOUD NEWS 되는 인 메모리 데이터베이스 캐시로서 코어 모듈인 Redis 자체는 BSD 라이선스로 또 다른 모듈들은 Apache v2.0 또는 MIT 라이선스로 공개되어 있었는데, 2018년 8월, Redis Labs가 만든 일부 소프트웨어 모듈 중 일부의 Apache v2.0 라이선스에 Common Clause를 추가한 것이다. 이는 Amazon AWS, Microsoft Azure, Google, 그리고 작은 클라우드 서비스 업체들이 Redis Labs에게 비용을 지불하지 않고, 즉 상용 라이선스 없이, Redis와 해당 모듈을 각자의 고객에게 제공하는 것을 막기 위함이었다. 이 정책을 결정할 때도 Redis Labs의 CEO인 Ofer Bengal은 ‘클라우드 사업자들이 자신들의 독점적 힘을 이용하여 성공적인 오픈소스 프로젝트를 자신들의 오픈소스가 아닌 수익 사업에 활용하고 있다’라고 하여, 자신들의 노력이 아무 대가 없이 큰 기업의 수익 창출에 사용되는 것에 대한 불편함을 이야기하였다.

Common Clause는 소스코드의 상업적 활용을 제한하고 있으므로, 다른 모든 오픈소스 특성을 그대로 유지하는 라이선스와 함께 사용한다 해도 Common Clause가 부가된 라이선스는 오픈소스 라이선스가 아닌 것이 된다. 특히 Common Clause 라이선스를 가진 소프트웨어 모듈로부터 판매되는 서비스나 제품의 전체적인(entirely) 또는 실질적인(substantially) 가치가 나온다면, 라이선스 위반이라는 것인데, 그 실질적인(substantial) 것의 범위가 어디까지를 의미하는 지에는 논란의 여지가 많았다. 그 논란 때문에 2019년 2월 Redis Labs는 결국 Redis 자체는 BSD 라이선스로 그대로 두고, RedisSearch, RedisGraph, RedisJSON, RedisML, RedisBloom 모듈들에 대하여 역시 오픈소스 라이선스가 아닌 RSAL(Redis Source Available License)로 라이선스 정책을 바꾸었다10).

PaaS, SaaS에서 관리가 되는 유료 서비스의 일부로 존재하는 오픈소스 소프트웨어들은 클라우드 사업자들에게는 매우 중요한 자산임이 틀림없다. 하지만 그 오픈소스 소프트웨어를 만든 회사나 커뮤니티 입장에서는 자신들이 마땅히 가져야 할 수익의 큰 일부를 클라우드 사업자들이 가져가는 것으로 볼 수도 있다. 오픈소스의 상업적 활용과 그에 따른 소프트웨어의 혁신은 혜택을 받는 측이 상응하는 기여를 할 때만 가능한 것이고, 특히 가져다 쓰고, 수정한 내용은 공개하지 않아도 되는 허용적인 (Permissive) 오픈소스 라이선스가 대세가 된 지금, 오픈소스는 중대한 도전의 시기를 겪고 있다.

 

참고문헌

01) Server Side Public License, https://www.mongodb.com/licensing/server-side-public-license, Oct, 2018
02) Eliot Horowitz, “MongoDB now released under the Server Side Public License“, Oct, 2018
03) GNU AFFERO GENERAL PUBLIC LICENSE, https://www.gnu.org/licenses/agpl.html, Nov, 2007
04) https://webassets.mongodb.com/_com_assets/legal/SSPL-compared-to-AGPL.pdf
05) GNU General Public License version 3, https://www.gnu.org/licenses/gpl.html, Jul, 2007
06) https://opensource.org/
07) https://www.businessinsider.com/mongodb-sspl-open-source-initiative-approval-process-2019-3
08) LightReading, AWS's DocumentDB Takes Aim at MongoDB, Jan, 2019
09) https://commonsclause.com/
10) ZDNet, Redis Labs drops Commons Clause for a new license, Feb, 2019