2022년 1월 25일 화요일

클라우드 서비스와 오픈소스 라이선싱

인프라가 클라우드로 옮겨가게 되면서 가장 크게 변한 것은 IT 자원이 서비스화 되었다는 점이다. 특히, 단순한 하드웨어, OS, VM 레벨의 서비스화가 뿐만 아닌 플랫폼 소프트웨어로의 확장이 일대 가장 큰 변혁이라는 데에 이견이 없다. 그 중에서도 가장 큰 변화는 오픈소스의 클라우드 서비스이다. Apache의 수많은 프로젝트와 MongoDB, Elastic, Hadoop 등 소프트웨어 비용은 없지만 운영 인력 비용을 요구하던 수많은 제품들을 AWS, Google, MS 등의 클라우드 서비스 사업자가 서비스로 제공함으로써 오픈소스의 시대가 열렸다고 해도 과언은 아니다.

설치나 기본적인 구성을 수행하기가 상당히 까다로운 오픈소스들이 서비스로 제공되어서 사용자가 얻을 수 있는 이점은 매우 크다. 대표적인 예가 쿠버네티스(k8s)인데, 구글이 제공하는 컨테이너 환경을 각 회사별로 EKS, AKS, GKE 등으로 명명하여 서비스를 제공하고 있다. Spark 환경의 경우도 이와 유사한데, 데이터 분석가에겐 설정이나 효율적인 리소스 사용이 쉽지 않을 수 있는 부분을 해소함으로써 높은 편의성을 제공하고 있다. 그간의 오픈소스 활용을 위해서는 인하우스에 별도의 엔지니어 조직을 꾸려야 했던 입장에서는 해당 엔지니어링이 클라우드 회사에게 아웃소싱이 가능해지면서 상당히 매력적인 요소로 작용하게 되었다. 반대로, 클라우드 회사 입장에서는 단순히 IaaS만 판매하여 매출을 올리던 상황에서별도의 IP가 없는 오픈소스를 활용하여 서비스를 함으로써 새로운 사업모델을 찾았다는 점에서 이 비즈니스는 공급과 수요가 탁월하게 일치한 시장이다.

하지만, 이것이 오픈소스 생태계 성장에 긍정적이긴 한지는 다양한 논란이 있다. 정작 오픈소스를 서비스화 하여 사업을 수행하는 클라우드 벤더가 오픈소스에 기여도는 높지 않다1는 이야기는 지속적으로 회자되곤 한다. 특히, Apache나 Linux Foundation 과 같이 큰 스폰서가 있는 경우가 아니라 사업 모델 자체가 오픈소스 제품인 경우, 기업 특성상 지속적인 매출이 확보되거나 최소한 재사용성 높은 코드들이 계속 커밋되어 제품 고도화에 기여되어야 하는데 그 부분을 클라우드 사업자가 온전히 가져간다는 점에서, 두 진영 간의 충돌은 언제나 있을 수 있는 일로 생각되어 왔다.

그리고 이러한 움직임에 반기를 드는 행동들이 나타났는데, MongoDB와 Elastic 이다. 자사의 오픈소스를 클라우드 벤더들이 무상으로 활용하여 매출을 올리는 것에 대해 지속적으로 정당하지 않음을 주장했고, 단체 행동에 나서기에 이르렀다. 오픈소스 라이선스 전쟁2이라고 일컫어 지는 이 상황은, 단순하면서도 상당히 복잡하다. MongoDB와 Elastic은 신규 버전의 라이선스를 SSPL로 변경하면서 오픈소스로 서비스를 한다면 서비스 코드를 공개하도록 강제하여 클라우드 벤더가 운영 기술을 IP로 사업하는 것을 금지했으며, AWS는 기존 버전에서 별도의 버전을 Fork 하여 서비스를 버전업 하였다. 이를 바라보는 시각은 상당히 대조적인데, 클라우드 공룡에 대항하는 오픈소스 회사들의 편을 드는 것3과 오픈소스 회사들의 욕심과 선의의 피해자가 발생하는 것을 지적하는 것4으로 나뉜다. 조금 더 정확한 이해를 위해서는 SSPL 라이선스에 대해 살펴볼 필요가 있다.

오픈소스 라이선스는 Copyleft와 BSD-style 라이선스 크게 두 개로 분류된다. Copyleft의 경우는 해당 오픈소스에 기반하여 개발된 코드도 오픈소스화 해야하는 규율이 있는 라이선스로 GPL, AGPL 등이 여기에 속한다. BSD-style은 오픈소스를 기반하여 상용을 만드는 것을 허용하는 라이선스로 BSD, MIT, 그리고 가장 유명한 Apache 라이선스가 여기에 속한다. SSPL은 Server Side Public License의 약자로, MongoDB가 2018년 GPL v3에 파생하여 발표했다. 주요 요점은 GPL의 확장으로 오픈소스로 서비스를 제공하는 경우에 해당 서비스의 모든 소스코드를 공개해야 한다는 규정이다. 만약, 서비스 코드의 공개 없이 제품을 사용하고 싶다면 별도의 라이선스를 구매하도록 하는 방안을 고려하도록 한 것으로 보인다. MongoDB가 이를 처음 발표한 2018년 당시 Debian, Linux Foundation 등은 MongoDB에 대한 지원을 중단하고 크게 매출 개선도 되지 않는 등 일단락 되는 것처럼 보였다. 하지만 2021년 초 Elastic이 여기에 동참하면서 본격적인 재점화가 되었다. 현재 오픈소스 위원회(OSI)는 SSPL을 fauxpen license(유사 라이선스)로 규정하고 정식 오픈소스로 인정하지 않고 있는 상태이다. 간단한 문제에서 출발했으나, 복잡한 이해관계가 얽혀 장기간의 논쟁거리가 될 가능성이 상당히 높다.5

마이크로소프트가 상용 소프트웨어라는 개념을 세상에 내놓은 후, 그 반대 진영의 오픈소스는 여러 어려움 속에서 묵묵히 저변을 넓혀왔다. 그리고 클라우드가 등장하면서 폭발적인 사용자와 팬층을 확보한 오픈소스 진영은 이제 새로운 국면을 맞고 있다. 좋은 소프트웨어가 개발되고, 그렇게 개발된 소프트웨어를 쓰고 싶어하는 마음은 모든 사용자에게 동일할 것이다. 다만, 그 대가를 어떻게 지불하느냐와 그 대가가 그 소프트웨어에 기여한 주체에게 정당하게 돌아가는가에 대해서는 여러 의견이 있을 수 있다. 누군가는 그 코드를 개발한 사람에게, 누군가는 그 소프트웨어를 잘 활용하는 엔지니어에게, 누군가는 그 소프트웨어를 기반으로 좋은 서비스를 제공하는 서비스 제공자에게 대가가 지불되어야 한다고 말할 수 있다. 확실한 것은 그 모든 사람에게 정당한 대가가 지불될 필요가 있으며 그 균형이 한쪽으로 치우친다면 현재 만들어진 생태계는 지속되기 쉽지 않을 것으로 보인다.

  1. Has Amazon contributed to the open source community?
  2. Open source license battle
  3. This Software Giant Declared War On Amazon. Will Other Open Source Companies Follow?
  4. The Dark Side of MongoDB’s New License
  5. Cloud Computing and Open Source: It’s Complicated

    Related Posts

    로그 데이터의 수집과 시각화 – Part 3
    로그 데이터의 수집과 시각화 – Part 1
    소프트웨어 오픈소스 전략에 대한 고찰

    Leave a Reply