오픈소스

글로벌 칼럼 | ‘레디스 무임승차’ AWS의 당혹스러운 ‘벨키 포크’

Matt Asay | InfoWorld 2024.04.09
최근 레디스(Redis)가 라이선스를 변경하고 AWS가 포크한 것에 대해 잘못된 정보가 산더미처럼 쏟아져 나오고 있다. "개발자가 더는 레디스 코드를 사용할 수 없다는 의미"라는 스티븐 J 본 니콜스의 지적도 마찬가지다. 결론적으로 그의 지적은 사실이 아니다. 99.9999999999999%의 개발자에게는 가장 자유로운 오픈소스 라이선스와 다를 바 없다. 바뀐 점이라면 하나뿐이다. AWS처럼 같은 수조 달러 규모의 클라우드 업체만이 기여 없이 레디스 코드를 가져갈 수 없게 됐다. 그런데 지난 수년간 레디스 서비스인 엘라스티캐시(Elasticache)를 통해 막대한 이익을 거둔 AWS는 이번 라이선스 변경 발표가 나오자, 돈을 덜 쓰기 위해 다른 업체를 끌어들여 포크를 시작했다. 바로 벨키(Valkey)다.
 
ⓒ Getty Image Bank

AWS는 엘라스틱서치(Elasticsearch) 포크인 오픈서치(OpenSearch)를 통해 비슷한 일을 벌인 적이 있다. 오픈소스 커뮤니티에는 사실상 아무런 기여도 하지 않으면서 값싸게 혹은 공짜로 소프트웨어를 공급받는 1조 달러 규모의 IT 기업 카르텔이 만들어졌다. 이 1조 달러 클럽의 창업자를 보면, 레디스를 비롯해 현재 소위 '오픈소스 악당'이라고 불리는 모든 사례의 시장 가치를 합친 것도 더 많은 자산을 보유하고 있다. 이제 주요 클라우드 업체들, 특히 AWS는 이런 혼란에 직접적인 책임이 없는 척하는 것을 그만두어야 한다. 레디스의 이야기는 오픈소스 수익에 대한 문제에서 시작됐지만, 동시에 수조 달러의 현금을 쥐고 있는 거대 IT 기업의 행태에 관한 이야기이기도 하다.
 

개발자가 받는 영향

다시 한번 명확하게 말하면, 개발자는 레디스의 라이선스 변경에 거의 영향을 받지 않는다. 이번 변경으로 '피해를 보는' 개발자는 클라우드 업체에서 일하는 개발자뿐이다. 그들조차 그동안 오픈소스 레디스 개발에 전혀 기여한 바가 없다. 해커 뉴스(Hacker News)에 이를 정확하게 설명한 이 있다.
 

개인 자격으로 기업이나 프로젝트에 레디스를 사용하는 경우

  • 소스에 대한 전체 액세스 권한을 갖고 복제하고 수정할 수 있나? 예
  • 개선을 위해 풀 리퀘스트를 할 수 있나? 예
  • 내 프로젝트가 상업용이고 레디스를 사용해 수익을 창출하는 경우에도 회사에서 무료로 내려받아 사용할 수 있나? 예
  • 스타트업에서 레디스를 기술로 사용하는 제품을 무료로 만들 수 있나? 예
  • 기존처럼 git clone / make / make install' 할 수 있나? 예
  • 유료 라이선스 없이 소스 코드를 가져와 내 클라우드에서 실행하는 서비스형 레디스를 만든 후 이를 재 판매할 수 있나? 아니요

매우 깔끔한 정리다. 즉, 개발자가 레디스 코드로 할 수 없는 '문자 그대로' 유일한 일은 자사 서비스를 위해 사용되는 인프라를 제외하고 관리형 클라우드 서비스를 만들어 파는 것뿐이다. 이런 제한을 두는 것이 오픈소스일까? 오픈소스 정의에 따르면 그렇지 않다. 하지만 '개발자 종말의 날'인 것도 확실하게 아니다.

실제로 개발자가 원하는 것은 시간이 지나도 계속 지원되고 개선되는 훌륭한 코드다. 대부분은 레디스 코드를 수정해 배포하는 데 관심이 없다. 이것이 바로 기존 레디스에 대한 투자가 중요한 이유다. 그동안 레디스가 이룬 혁신은 AWS, 마이크로소프트, 구글에서 나온 것이 아니다. 레디스의 포크 이후 뛰어든 업체들 역시 레디스가 현재까지 발전하는 데 거의 아무런 공헌도 하지 않았다. 실제로 레디스를 설립한 살바토레 산필리포를 보자. 레디스에 엄청난 영향을 끼친 이런 사람이 그동안 큰 지원을 받았겠다고 생각하겠지만, 해커 뉴스에 따르면 전혀 그렇지 않다.
 

산필리포는 21,000명의 팔로워와 깃허브에서 기부하는 9명의 후원자를 보유하고 있다. 9명이라고요! 10명도 아니고, 50명도 아니고, 1,000명의 후원자도 아니고. 일하다 손가락을 잃은 목수도 셀 수 있는 9명이다.


더 놀라운 것은 이 후원자 중 클라우드 업체가 한 곳도 없다는 사실이다. 산필리포가 더는 레디스에 관여하지 않기 때문에 그를 신경 쓰지 않는 것일 수도 있지만, 그가 활발하게 레디스 관련 작업을 할 때도 클라우드 업체는 그를 지원한 적이 없다. 개발자에게 가장 필요한 것은 공개적으로 액세스하고, 사용하고, 잘 유지 관리될 수 있는 훌륭한 코드다. 레디스는 라이선스를 변경했지만, 개발자에게 이런 혜택을 빼앗지 않았다. 오히려 레디스는 개발자가 앞으로도 계속해서 코드에 액세스할 수 있도록 유지하고, 클라우드 업체가 코드에 공헌할 기회를 열어주려 노력하고 있을 뿐이다.
 

라이선스를 변경한 이유

본 니콜스는 앞서 언급한 글에서 한 가지 패턴을 지적했다. 그는 "한 회사가 오픈소스를 사용해 프로그램을 만들고, 이를 통해 수백만 달러를 벌어들인다. 그리고 라이선스를 바꿔 기여자와 사용자, 파트너를 내팽개치고, 수십억 달러를 챙기려고 애쓰는 동안 혼란에 빠지게 된다. 지겹게 반복되는 패턴이다"라고 비판했다. 그는 "지겹다"라고 하지만 사실 그가 비난하는 회사로서도 지겹기는 마찬가지다. 대부분 오픈소스 기업은 생존하기 위해 이런 지겨운 선택을 하게 된다.

본 니콜스는 이런 기업이 '오픈소스'를 비즈니스 모델로 착각하고 있다고도 지적하는데, 이것도 틀린 말이다. 문제의 핵심은 거대 클라우드 업체가 오픈소스를 기여하지 않고 가져갈 수 있는 공유지로 착각하고 있다는 사실이다. 그동안 필자는 OSI가 본연의 임무에 충실하고 클라우드 소프트웨어에 강력한 카피레프트 정책을 도입해야 한다고 주장한 것도 이 때문이다. 개발 업체나 조직이 코드에 제한을 둘 수 있게 되면, 소스를 사용할 수 있는 소프트웨어가 줄어들게 되는 것이 당연하다.

한편, 발키 포크 사태는 클라우드 업계가 그동안 거의 지원하지 않았음에도 레디스라는 큰 기차를 잃을까 두려워하고 있음을 의미한다. 다시 한번 말하지만, 필자가 여기서 지칭하는 클라우드 업계는 특정 업체, AWS를 가리킨다. 아이러니한 것은 AWS가 실제로 기여하고 있는 몇 안 되는 영역 중 하나가 바로 레디스라는 사실이다. 특히 AWS 소속 엔지니어이면서 레디스 유지 관리자 역할을 하는 매들린 올슨의 작업 성과는 매우 인상적이다. 필자는 여러 글에서 종종 그를 언급한다. 이유는 무엇보다 올슨이 대단하고, 동시에 올슨이 AWS의 거의 유일한 기여 사례이기 때문이다.

최근 올슨은 "여가 시간에 레디스 작업을 했다"라고 했다. 이는 그가 AWS와 무관하게 레디스 관련 작업을 하고 있다는 의미는 아니지만, AWS 내에서 오픈소스를 엔지니어링하는 현실이 어떤지를 드러내는 말이기도 하다. 즉, AWS 엔지니어가 다른 클라우드 업체에 비해 오픈소스에 대한 기여도가 낮은 가장 큰 이유는 엔지니어링 담당 임원들이 오픈소스에 공헌하는 가치를 거의 인정하지 않기 때문이다. RDS/오로라 팀이 포스트그레스에 더 많이 공헌하는 것이 자기 팀의 이익에 부합한다는 사실을 깨닫는 등 AWS의 일부 팀에서 변화가 일어나기 시작했지만, 이는 매우 예외적인 상황이지 보편적인 변화로 보기는 힘들다.

필자의 이런 주장이 의심스럽다면, CNCF 개발 통계를 살펴보라. AWS의 발키 포크를 통해 보여준 리눅스 재단에 대한 '새로운 사랑'에도 불구하고, AWS가 오픈소스로 벌어들이는 돈에 비하면 기여의 정도는 형편없다. 쿠버네티스가 대표적이다. AWS는 수십억 달러를 벌어들이는 가장 큰 쿠버네티스 공급업체다. 하지만 구글이나 레드햇에 비해 기여도는 릴리푸티안(Lilliputian, 소설 걸리버 여행기 속 소인국 주민을 의미) 수준이다. AWS의 쿠버네티스 기여도는 데오클라우드 네트워크 테크놀로지(DaoCloud Network Technology)의 뒤, 더 스케일 팩토리 리미티드(The Scale Factory Limited)보다 앞서는 정도다. AWS가 기여하는 수준이라는 것이 이 무명의 기업 정도다.

이뿐만이 아니다. 프로메테우스(Prometheus), 오픈텔레메트리(OpenTelemetry)도 마찬가지다. AWS는 클라우드 서비스를 제공하는 데 이런 프로젝트를 활용하지만 전자는 상위 20위 밖, 후자는 상위 5위 밖이다. 이름만 대면 알만한 유명 오픈소스 프로젝트 중 AWS가 시작한 몇 개를 제외하면, AWS는 수만 줄의 코드도 기여하지 않고 수백억 달러의 수익을 올리고 있다. 이것이 오픈소스를 위반하는 행위인가? 물론 그렇지 않다. 하지만 거대 클라우드 업체의 이런 행태 때문에, 현재 사람들이 레디스를 비난하는 오픈소스 '러그 풀(rug pull)'이 나타나는 것이다.
 

사용자 보호를 위해서라고?

현재 필자가 소속된 몽고DB도 이미 레디스와 비슷하게 라이선스를 변경했는데, 이 때문에 편향된 시각이라고 생각할 수도 있다. 하지만 필자가 AWS에서 오픈소스 전략 및 마케팅 팀을 운영할 때도 이런 주장을 일관되게 유지했다. AWS를 떠나기 전에 마지막으로 한 일 역시 AWS가 오픈소스 파트너를 더 잘 지원해야 하는 이유와 방법에 대한 6페이지 분량의 보고서를 작성한 것이었다. 핵심 내용은 AWS가 오픈소스 파트너의 코드와 상업적 성공에 더 많이 투자해 이들 회사가 소프트웨어를 오픈소스로 유지함으로써 더 많은 수익을 창출할 수 있도록 해야 한다는 것이었다.

필자는 이렇게 하면 AWS의 오픈소스 공급망을 보호하는 동시에 사용자에게 최고의 서비스를 제공할 수 있다고 믿었고, 지금도 마찬가지다. 어떤 사용자도 벨키(레디스 포크)나 오픈토푸(OpenTofu, 테라폼 포크), 오픈서치(엘라스틱서치 포크)를 원하지 않는다. 본래 기능을 모두 유지하는 풀팻(full-fat) 버전을 더 선호한다.

사실 사용자는 풀팻 버전의 레디스, 엘라스틱서치, 테라폼 등을 사용할 수 있는 방법을 쉽게 찾을 수 있다. 클라우드 업체 역시 오픈소스와 더 좋은 파트너 관계를 맺을 수 있다. 솔직히 일부 업체는 이미 그렇게 하고 있다. 엘라스틱서치가 대표적인 사례다. 구글 클라우드는 오랫동안 오픈소스 기업을 지원해 왔으며 엘라스틱(Elastic)과 파트너 관계를 맺고 훌륭한 엘라스틱서치 환경을 제공하고 있다. 마이크로소프트도 코드 공헌과 현금 지원을 통해 오픈소스에 적극적으로 기여해 왔으며, 엘라스틱과 광범위한 파트너십을 체결했다. 반면 AWS는 어떤가? 자사 블로그에 마치 자신이 피해자인 것처럼 글을 올린 후 '사용자 보호'를 내세우며 엘라스틱서치를 포크했다.

AWS의 이런 주장은 양면성을 갖고 있다. 오픈소스와의 관계를 개선하기도 하고 오히려 복잡하게 만들기도 한다. 즉, "사용자 보호"에 집중하는 접근 방식은 파트너와 협력을 장려한다. 반면 '결과'를 내기 위해 AWS는 통제할 필요성을 느끼는데, 이렇게 되면 파트너십이 어려워진다. 이것이 AWS의 곤란한 딜레마 일 수는 있다. 하지만 이미 소프트웨어 개발의 대부분 또는 전부를 담당하고 있는 오픈소스 기업에 AWS의 내부 딜레마가 왜 문제가 돼야 할까? AWS가 최근 몇 가지 전향적인 태도를 취하는 것은 반갑지만, 레디스 포크를 마치 영웅적 행위로 박수칠 수는 없는 이유다.

수조 달러의 시가총액을 자랑하는 AWS가 이제라도 '커뮤니티를 위협하는' 포크가 아니라 기존 커뮤니티에 기여하도록 생각을 바꾸기를 기대한다. 사실 일단 시작하면 생각보다 어렵지 않다.
editor@itworld.co.kr
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.