✨Elastic의 오픈소스 라이선스 적용 선언
2024년 8월 말, Elastic은 Elasticsearch 및 Kibana에 오픈소스 라이선스를 다시 적용하겠다고 발표했습니다. (원문 링크)
현재 Elasticsearch 및 Kibana 최신 버전(v8.15.1) 이후에 릴리즈되는 버전부터 AGPL v3.0(GNU Affero General Public License v3.0) 라이선스가 적용될 수 있도록 수정할 예정이라는 게 이번 발표의 요지인데요.
AGPL v3.0이 적용되는 소프트웨어를 수정 없이 상용 제품에 사용하는 경우, 제품의 코드까지 공개하지 않아도 된다는 점에서 사용자에게 유리합니다.
하지만 AGPL v3.0이 적용되는 소프트웨어 자체를 수정한 경우에는 해당 소스코드를 공개해야 합니다. 게다가 아래 AGPL-3.0 파생 저작물 범위에 해당하는 제품의 소스 코드는 바이너리 형태로 재배포할 때뿐만 아니라 네트워크를 통해 사용자와 상호 작용을 하는 경우에도 공개해야 하는데요.
- AGPL이 적용되는 소프트웨어의 수정 코드
- AGPL이 적용되는 소프트웨어와 동일한 프로세스에서 동작하는 Module
- AGPL이 적용되는 소프트웨어와 링크로 연결한 Library
- AGPL이 적용되는 소프트웨어를 상속한 Class
AGPL이 적용되는 소프트웨어와 제품이 어떻게 결합되느냐에 따라 원격 네트워크로 서비스하는 경우에도 제품 소스 코드를 공개해야 하는 리스크도 존재하기 때문에 세심한 주의가 필요합니다.
Elastic도 해당 발표에서 자신들도 이번 라이선스 적용으로 사용자들이 우려할 수 있음을 알고 있다고 밝혔는데요. ‘AGPL은 MongoDB와 Grafana 등의 프로젝트에도 적용된 라이선스이기 때문에 Elasticsearch와 Kibana 사용에 AGPL이 큰 영향을 미치진 않을 것’이라고 언급하면서, ‘AGPL 적용은 우리가 오픈소스 생태계로 다시 다가갈 수 있는 좋은 첫걸음이 될 거라 믿는다’고 했습니다.
🧐기존 Elasticsearch와 Kibana의 라이선스는 어땠길래?
그렇다면 Elasticsearch와 Kibana의 라이선스가 어떻게 변해왔길래 Elastic이 오픈소스로 다시 돌아왔다고 발표한 것일까요?
Elasticsearch를 포함한 ELK(Elasticsearch, Logstash, Kibana) 스택 툴들은 처음 릴리즈 당시 Apache-2.0 라이선스가 적용되고 있었습니다. Apache-2.0이 적용되는 소프트웨어는 수정하거나 상용 제품에서 활용되어도 제품의 소스코드를 공개할 의무가 없기 때문에 대표적인 오픈소스 라이선스라고 할 수 있는데요.
ELK 스택 툴들은 모두 7.10 버전대까지 Apache-2.0 라이선스가 적용되었고, 이 버전대의 ELK 툴들을 OSS(Open Source Software) 버전이라고도 합니다.
이후 Elasticsearch와 Kibana는 2021년에 Elastic License와 SSPL(Server Side Public License) 중 하나를 선택해서 적용될 수 있도록 변경되었습니다.
Elastic License에는 ‘제품을 다른 사람에게 관리형 서비스(Managed Service)로 제공할 수 없다’는 내용이 포함되어 있는데요. 이는 외부 사용자가 Elasticsearch API를 직접 사용할 수 있거나 Kibana의 대시보드에 직접 접속할 수 있도록 제공하는 것 등을 제한하는 내용입니다. 만약 이런 제한을 풀고 싶다면, Elastic 담당자와 컨설팅 및 유료 버전을 구독해야 합니다.
SSPL에는 ‘소프트웨어를 실행하는 데에 필요한 서비스 소스코드를 공개해야 한다’는 내용이 명시되어 있습니다. 라이선스가 적용되는 소프트웨어를 관리하기 위한 모니터링이나 백업용 프로그램의 이 ‘서비스 소스코드’에 포함되기 때문에, 원치 않는 소스코드를 공개해야 하는 리스크가 존재합니다.
이렇게 2021년부터 Elasticsearch와 Kibana에 적용되었던 라이선스는 모두 오픈소스 라이선스라고 할 수 없었습니다. 그렇기 때문에 이번 AGPL v3.0 적용을 Elastic에선 오픈소스로 다시 돌아왔다고 표현하는 것이죠.
하지만 AGPL v3.0 역시 위에서 살펴봤던 것처럼 일부 소스코드 공개 조건이 존재하기 때문에, 오픈소스와 Elastic 커뮤니티에선 관련해서 여러 논의가 이어질 것으로 보입니다.
Elastic에서 발표한 새로운 라이선스 정책은 Elasticsearch 및 Kibana를 사용하려던 분들이 참고할 만한 내용이라 생각해서 다뤄봤는데요.
여담으로 제가 ELK 스택 모니터링 시스템과 Kubernetes를 주제로 한 온라인 강의를 제작 중이어서, 저에게도 이번 내용이 흥미로웠습니다.😄
제작 중인 강의는 10월 중 릴리즈를 목표로 하고 있는데, 관련 소식은 추후 다시 공유드려보겠습니다.🌱