올해 Elastic에서는 Elasticsearch 7.11 버전부터 새로운 라이센스인 SSPL 또는 Elastic 라이센스 중에서 하나를 골라 사용할 수 있는 Dual 라이센스를 발표하면서 기존의 Apache 2.0 라이센스를 더는 제공하지 않는다고 발표하였습니다. [링크] 이에 따라서 AWS에서는 7.10 이후 버전에 대해서 7.10 버전의 Fork를 통해 독자적으로 Apache 2.0 라이센스를 가지는 오픈 소스 생태계를 유지할 것이라고 발표했습니다. [링크]

SSPL은 MongoDB에서 처음 도입한 라이센스 [링크] 방식이며, GPL3와 유사합니다. 차별점은 Section 13을 통해서 AWS와 같이 해당 소스를 이용하여 Managed Service를 제공하는 제 3자는 해당 서비스를 구축하는데 사용된 모든 소스를 공개하도록 제한하고 있습니다. MongoDB에서는 SSPL을 오픈 소스의 한 형태로 오픈 소스 이니셔티브(Open Source Initiative)에 신청하였으나, 논의 끝에 MongoDB측에서 오픈 소스 라이센스 등재를 취소하였습니다. [링크]

Elastic과 AWS가 Elasticsearch를 두고 오래 전부터 대립해온 끝에 Elastic이 결국 SSPL을 채택함으로써 Elasticsearch는 더 이상 오픈 소스가 아니게 되었습니다.

이것은 Elasticsearch와 Kibana가 더 이상 오픈 소스가 아님을 의미합니까?

예. OSI에서 SSPL 또는 Elastic 라이선스를 승인하지 않았으므로 혼동을 방지하기 위해 더 이상 Elasticsearch 또는 Kibana를 오픈 소스라고 부르지 않습니다. 이러한 제품을 “Free & Open” 그리고 라이선스에 대해 직접 이야기 할 때는 “소스 사용 가능” 이라고 설명합니다. 놓친 부분을 발견한 경우에 알려주시면 수정할 수 있습니다.

이러한 제품을 지칭하기 위해 오픈 소스라는 용어를 사용하지 않음으로써 혼동을 피하기 위해 선택했지만 “Open”및 “Free and Open”이라는 단어를 계속 사용할 것입니다. 이는 제품이 무료라는 사실을 설명하는 간단한 방법입니다. 소스 코드를 사용할 수 있으며 GitHub의 개방형 협업 참여 모델에도 적용됩니다. 우리는 오픈 소스 투명성, 협업 및 커뮤니티의 원칙을 지키기 위해 최선을 다하고 있습니다.

Elastic의 FAQ on 2021 License Change: 에서 발췌, 구글 번역하였습니다.

AWS의 ElasticSearch 발표

2015년 10월 1일, AWS에서 Elasticsearch Service를 Managed Service로 제공한다고 발표하였습니다. [링크] 발표 내용에서는 Elastic과의 파트너쉽에 대한 내용이 없지만, 다음날 관련 소식을 공유한 AWS VP의 트윗에서는 파트너쉽에 대한 내용을 포함하고 있습니다.

 

Elastic의 상용 코드에 대한 Elastic License 도입

2018년, Elastic은 상용 코드에 대해서 Elastic License라는 별도 라이센스 체계를 발표했는데, 해당 라이센스는 독점 코드가 AWS의 Elasticsearch와 같은 형태로 재판매하는 것을 금지하고 있습니다. 아래 설명은 최근에 Elastic이 요약한 라이센스 설명을 발췌한 것입니다.

Elastic 라이선스는 제품을 가져와서 Amazon Elasticsearch Service와 같은 서비스로 직접 판매하거나, 제품을 재배포하거나, 소스 코드를 해킹하여 구독 없이 유료 기능에 대한 액세스 권한을 부여하거나 프로덕션에서 수정된 버전을 사용하는 것을 허용하지 않습니다.

Elastic의 License Change Clarification 에서 발췌, 구글 번역하였습니다.

Elastic의 오픈 소스 방식에 대한 AWS의 우려

2019년 3월 11일, AWS와 Elastic은 오픈 소스에서의 협력에 관한 견해에 차이를 보이면서 한 차례 다툼을 벌입니다. 앞선 라이센스 방식 변경이 영향을 미친 것으로 추측됩니다. AWS는 Elastic이 독점 코드를 너무 많이 포함시켜서 오픈 소스 사용자를 혼란에 빠트리고 프로젝트를 관리하기 어렵게 한다고 주장하였습니다. 그리고 Open Distro for Elasticsearch라는 별도의 리포지토리를 구축한다고 발표합니다. [링크]

안타깝게도 2018 년 6 월부터 독점 코드가 코드베이스에 많이 섞이는 것을 목격했습니다. (중략) 따라서 우리는 Expedia Group 및 Netflix와 같은 다른 업체와 협력하여 “Open Distro for Elasticsearch”라는 Elasticsearch의 새로운 오픈 소스 배포를 만들기로 결정했습니다. Open Distro for Elasticsearch는 100 % 오픈 소스인 부가 가치 배포판으로, 부가 가치 기능으로 혁신을 주도하는 데 초점을 맞춰 사용자가 완전히 오픈 소스 인 기능이 풍부한 옵션을 사용할 수 있도록합니다.

AWS의 Keeping Open Source Open – Open Distro for Elasticsearch 에서 발췌, 구글 번역하였습니다.

AWS는 본문에서 Open Distro for Elasticsearch는 Apache 2.0 라이센스로 제공될 것이며, 기존 Elastic의 소스를 Fork하는 것이 아니라 Elastic에 부족한 기능들을 보완하는 역할을 할 것이라고 하였습니다. 즉, Elastic의 오픈 소스 정책에서 마음에 들지 않는 부분이 있어서 기존 Elasticsearch를 업스트림 프로젝으로 하여 부가 기능은 완전히 오픈된 다운스트림 프로젝트로 관리하겠다는 것입니다. 그리고 곧바로 수석 에반젤리스트인 Jeff Barr를 통해서 Open Distro for Elasticsearch에 대한 홍보도 진행합니다. [링크]

Elastic의 반박

하루 뒤인 3월 12일에 Elastic에서도 블로그 게시물을 통해서 오픈 소스의 힘을 본인들도 잘 알고 있고, 실제로도 소스를 오픈하였으며 많은 노력을 기울였다고 하였습니다. 그와 동시에 AWS와의 협력은 없었으며 AWS로부터 받은 특별한 코드 작업의 협력 관계도 거절했다고 밝혔습니다. [링크]

우리 브랜드가 사용되고 악용, 도용, 호도된 경우가 정말 많았습니다. 회사들은 우리 회사와 협력하여 작업하고 있다고 거짓 주장을 해왔습니다. 지금은 Amazon이 그러합니다. 우리는 이런 일들로 인해 흔들리지 않았습니다. 우리는 사용자들이 사랑하는 훌륭한 제품과 커뮤니티를 계속해서 만들어 나갔습니다. 초점을 흐리는 것은 회사의 적이며, 우리는 절대 그로부터 어떤 영향도 받지 않을 것입니다. 중요한 것은 여러분, 바로 우리 사용자들이지, 그것을 둘러싼 소란이 아닙니다. (중략)

우리의 성공을 보고 찾아온 회사들이 우리 사용자들보다 더 높은 대우를 요구하며 코드 작업 협력을 위한 특별한 업무 관계를 요청했지만, 우리는 거절했습니다. 지난 몇 년간 이런 일은 헤아릴 수도 없이 많았고, 최근에 또 다시 발생했습니다. 이번에는 Amazon입니다. 일부는 잘 조정되어 우리와 그리고 커뮤니티와 멋진 파트너가 되었습니다. 다른 회사들은 슬프게도 잘 되지 않았습니다. 우리는 우리 제품에 기여하는 단 한 사람의 개발자라도 다른 사람들과 동일하게 대우하겠다는 약속을 했습니다. 우대는 없습니다. 우리는 우대를 원하는 어떤 요구도 거절할 것입니다. 우리 대답은 언제나 한결 같습니다. 모두가 그렇게 하는 것처럼 풀 리퀘스트를 보내세요. 품질이 말해 줄 것입니다.

Elastic의 “오픈” 배포판, 오픈 소스, 그리고 회사 설립에 관하여 에서 발췌하였습니다.

특히, 2015년 10월에 AWS가 Elasticsearch를 발표하면서 Elastic과의 파트너쉽을 강조했었는데 실제로는 그런 협력 관계가 전혀 없었다고 정면으로 반박하였습니다. 아마도 이러한 갈등이 아래의 분쟁으로 이어진 것으로 보입니다.

Elasticsearch에 대한 상표권 분쟁

2019년 9월 27일, Elastic은 AWS를 Elasticsearch 상표권에 대한 무단 사용으로 고소합니다. [링크] 해당 재판은 아직도 진행중으로 그 결론이 어떻게 내려질 것인지에 대해서 많은 개발사들이 지켜보고 있습니다. 비슷한 상황에 처해있는 프로젝트들이 많기 때문입니다.

아직 진행중인 재판.

AWS의 Elasticsearch에 대해서 Elastic에서도 이미 많은 불만을 가지고 있었던 것으로 보입니다. Elastic 홈페이지에 보면 AWS와 Elastic의 제품이 어떤 차이를 가지는지에 대해서 상세하게 비교하는 페이지가 있습니다. [링크]

AWS와 Elastic의 Elasticsearch를 비교하는 페이지.

Elastic의 라이센스 변경

2021년 1월 15일, Doubling down on open, Part II 라는 제목의 블로그 글을 통해서 Elastic은 이제 오픈 소스를 포기하고 SSPL로 변경됨을 밝힙니다. 그리고 그 원인으로 오픈 소스를 이용한 SaaS 사업자 (a.k.a. AWS) 라고 밝힙니다. [링크]

왜 바뀌나요?

앞서 언급했듯이 지난 3 년 동안 시장은 발전했으며 커뮤니티는 오픈 소스 회사가 높은 수준의 투자와 혁신을 유지하기 위해 소프트웨어를 더 잘 보호해야 한다는 점을 인식하게되었습니다. SaaS를 제공 모델로 전환함에 따라 일부 클라우드 서비스 공급자는 다시 기여하지 않고 서비스로 제공함으로써 오픈 소스 제품을 활용했습니다. 이는 제품에 재투자되었을 자금을 전환하고 사용자와 커뮤니티에 피해를 줍니다.

Elastic의 Doubling down on open, Part II 에서 발췌, 구글 번역하였습니다.

Doubling down은 포커 게임 블랙잭에서 다음 카드를 받기 전에 베팅을 두 배로 올리는 것을 뜻합니다. 즉, 다음 카드가 들어오면 내가 이길 확률이 매우 높다는 판단이 섰기 때문에 베팅을 올려서 이득을 보겠다는 뜻입니다.

Elastic은 이미 과거에 Doubling down on open 이라는 제목의 블로그 글을 게시한 적이 있습니다. [링크] 해당 게시글은 Elastic의 X-pack과 같은 제품군을 오픈 소스로 확대 공개하며, Elastic의 제품들은 커뮤니티와 엔터프라이즈 버전을 구분하는 조치를 하지 않겠다고 밝힙니다. 오픈 소스의 힘을 믿으며 이를 공개함으로써 그들이 더 나은 커뮤니티를 제공하고 그에 따라서 수익도 함께 늘어날 것에 베팅하겠다는 뜻입니다.

이번에도 동일한 제목을 사용한 것은 Elastic의 SSPL 전환은 근본적으로 그들의 커뮤니티를 더 낫게 할 것이고, 또한 Elastic의 사업에도 긍정적으로 작용할 것임을 확신하고 있다고 볼 수 있습니다. 그래서 다시 한 번 그들의 사업 성장을 위해서는 SSPL이 필요하다고 보고 여기에 베팅을 하는 것으로 이해할 수 있습니다.

OSI의 SSPL에 대한 우려

2021년 1월 19일, OSI는 SSPL이 오픈 소스가 아님을 다시 한 번 밝힙니다. [링크] 그와 동시에 Elastic의 행보에 대해서 우려를 표명하였습니다.

가장 최근의 (SSPL) 채택자인 Elastic이 설명했듯이 “Doubling Down on Open“이라는 제목의 게시물에서 Elastic은 이제 OSD6를 위반하여 “클라우드 서비스 제공 업체가 소프트웨어를 서비스로 제공하지 못하도록 제한”할 수 있다고 말합니다. Elastic은 Double Down하지 않고 카드를 던졌습니다.

OSI의 The SSPL is Not an Open Source License 에서 발췌, 구글 번역하였습니다.

표현은 과격했으나, 다른 부분에서는 Elastic의 선택이 결코 잘못된 것은 아니라고 말합니다. 그들은 그런 선택을 할 수밖에 없는 상황이었을 것이며, 오픈 소스가 잘못된 것은 아니라는 취지입니다. 그들의 모델이 더는 오픈 소스와 맞지 않았을 뿐이라는 것이지요.

다만, Elastic에서 이제는 오픈 소스 정의 (Open Source Definition, OSD)에 부합하지 않는 SSPL을 오픈 소스라고 표현하는 것은 잘못되었다고 말합니다.

회사(Elastic)가 할 수 없는 것은 오픈 소스 정의를 충족하지 않아서 오픈 소스 이니셔티브에 의해 승인되지 않은 라이선스하에 있는 소프트웨어를 오픈 소스 소프트웨어라고 주장하거나 암시하는 것입니다. 소프트웨어가 오픈 소스의 모든 이점과 약속을 갖고 있지 않을 때도 있다고 주장하는 것은 속임수입니다.

OSI의 The SSPL is Not an Open Source License 에서 발췌, 개인 번역하였습니다.

Elastic의 입장 발표

Elatic은 이와 같은 우려를 의식했는지, 1월 20일에 왜 라이센스를 변경할 수밖에 없었는지와 왜 AWS는 괜찮지 않은지에 대한 글을 게시합니다. [링크] 여기에서 2019년에 AWS가 발표한 Open Distro for Elasticsearch에 대한 불편한 심기를 드러냈고, AWS의 행보에 가진 불만들을 모두 표출합니다.

그리고 라이센스 변경은 오로지 AWS 때문임을 암시하고 있습니다. 이와 더불어 그들의 홈페이지에 표시된 오픈 소스라는 표현을 모두 변경하기 시작했습니다. 더 이상 오픈 소스가 아니기 때문입니다.

우리는 Microsoft, Google, Alibaba, Tencent, Clever Cloud 등을 포함한 클라우드 서비스 제공 업체와 협력합니다. 우리는 그것을 할 방법을 찾을 수 있음을 보여주었습니다. 아마존의 다른 부분과도 협력합니다. 우리는 항상 그렇게 할 수 있습니다. 괜찮을 필요가 있습니다.

저는 오픈 소스 커뮤니티의 핵심 가치인 투명성, 협업, 개방성을 믿습니다. 전 세계 사용자의 이익을 위해 훌륭한 제품을 구축합니다. 놀라운 것들이 구축되었으며 Elasticsearch 및 Kibana를 사용하여 계속 구축될 것입니다.

Elastic의 Amazon: NOT OK – why we had to change Elastic licensing 에서 발췌, 구글 번역하였습니다.

AWS의 Fork 선언

이튿날인 1월 21일, AWS는 결국 Elasticsearch를 7.10 버전에서 Fork 후에 별도의 오픈 소스 생태계를 유지하겠다고 밝힙니다. [링크] 기존 AWS의 Elasticsearch 사용자들이 가진 우려를 불식시키며 AWS가 Elasticsearch의 베이스가 되는 Apache Lucene과 같은 오픈 소스 커뮤니티에 많은 기여를 해왔음을 강조하였습니다.

그리고 Elastic의 과거 글을 재조명하면서 비판을 가하기도 하였습니다.

2018 년 4 월 Elastic이 독점 라이선스 소프트웨어를 ALv2 코드와 함께 혼합했을 때 그들은 “We Opened X-Pack” 에서 다음과 같이 약속했습니다. “우리는 Elasticsearch, Kibana, Beats 그리고 Logstash의 Apache 2.0 코드 라이선스를 변경하지 않았습니다. — 우리는 결코 그렇게하지 않을 것입니다.” 지난주, 이 약속을 취소 한 후 Elastic은 “상황이 변경되었습니다”라는 각주로 동일한 페이지를 업데이트했습니다.

AWS의 Stepping up for a truly open source Elasticsearch 에서 발췌, 구글 번역하였습니다.

마치며…

AWS와 Elastic은 오래 전부터 Elasticsearch를 두고 대립해왔고, 2021년에 들어서면서 결국은 완전히 갈라서게 되는 것 같습니다. 추후 이들이 어떤 행보를 보이게 될 것인지 계속 주의 깊게 살펴보도록 하겠습니다.

본 글은 New York Times의 기사를 일부 참고하여 작성되었습니다. 굉장히 자세하게 설명하고 있어서 재미있게 읽었습니다. AWS와 같은 거대 사업자가 오픈 소스를 “Strip Mining” 한다고 표현하고 있습니다. 이것은 지하 깊숙한 곳에서 광물을 캐내는 것이 아니라, 지표면에 이미 존재하는 광물을 손쉽게 캐내는 Surface Mining이라고 하는 채굴 방식을 의미합니다. 즉, 이미 완성된 기술들을 별다른 수고 없이 자신들의 서비스에 이용함으로써 수익을 손쉽게 올리는 행태를 비판하는 것입니다.

긴 글 읽어주셔서 감사합니다.