오픈소스란?
배포된 소스 코드를 자유롭게 복사, 수정, 사용, 재배포 할 수 있는 소프트웨어를 뜻합니다.
대표적으로 Linux 커널, apache webServer, MySQL 등이 있습니다.
오픈소스 라이센스란
오픈소스 라이센스는 오픈소스 개발자와 이용자 간의 사용 방법 및 조건의 범위를 명시한 계약입니다.
오픈소스를 이용하기 위해서는 오픈소스 개발자가 만들어놓은 사용 방법 및 조건의 범위에 따라 해당 SW를 사용해야 합니다.
대표적으로 GPL, LGPL, BSD, MPL등이 라이선스가 있습니다.
2024.03.20 Redis에는 무슨 일이?
https://github.com/redis/redis/pull/13157
Redis가 2024.03.20일 날 발표한 내용이다.
요약하자면, 2024.03.20일 이후로부턴 Redis의 모든 버전이 RSALv2 및 SSPLv1에 따라 이중 라이센스를 받게 됩니다.
즉, 7.4 이후의 모든 버전은 두 개의 라이센스 중에서 하나는 적용된다는 뜻입니다.
RSALv2 (Redis Source Available License 2.0)
RSALv2 is a permissive non-copyleft license, allowing the right to “use, copy, distribute, make available, and prepare derivative works of the software” and has only two primary limitations.
Under RSALv2, you may not:
- Commercialize the software or provide it to others as a managed service
- Remove or obscure any licensing, copyright, or other notices
https://redis.io/blog/rsalv2-sspl-announcement/
RSALv2는 허용적인 비 *카피레프트 라이센스로, "소프트웨어를 사용, 복사, 배포, 제공 및 파생 작품 제작"할 수 있는 권한을 허용하며, 두 가지 주요 제한 사항만 있습니다.
- 소프트웨어를 상용화하거나 관리형 서비스로 제공할 수 없음
- 라이선스, 저작권 또는 기타 공지를 제거하거나 모호하게 할 수 없음.
그러므로, DBaaS와 같이 데이터베이스를 클라우드 서비스로 제공하여 사용자가 데이터베이스 인프라를 관리하지 않아도 되는 시스템은 라이센스에 의해 금지됩니다.
하지만 이러한 변경이 하루아침에 이루어지면 DBaaS를 제공하는 클라우드 회사 입장에서는 갑작스러운 타격이 될 수 있습니다.
따라서 Redis는 듀얼 라이선스를 통해 SSPLv1을 사용하는 옵션을 추가했습니다.
* 카피레프트 라이센스란 카피라이트의 독점적인 의미에 대항해, 모든 프로그램 및 정보가 독점되지 않고 자유롭게 공유되어야 한다는 사상입니다. 카피레프트 라이선스를 가진 소프트웨어에서 파생된 소프트웨어는 동일한 라이선스를 따르며, 소스 코드를 의무적으로 공개해야 합니다.
- 인프런
SSPLv1 (Server Side Public License 1.0)
If you make the functionality of the Program or a modified version available to third parties as a service, you must make the Service Source Code available via network download to everyone at no charge, under the terms of this License.
https://www.mongodb.com/legal/licensing/server-side-public-license/faq
SSPLv1은 Mongo DB에 의해 만들어진 라이선스 입니다.
제13조에 따르면, 제품을 직접 고객에게 제공하고자 하는 경우 "서비스 소스 코드"를 공개적으로 제공해야 합니다.
수정하지 않았어도 Redis 프로그램 기능을 서비스로 제공하는 경우에는 Redis 프로그램 기능과 연결되는 모든 소프트웨어에 소스코드 공개 의무가 발생합니다.
Redis는 왜 긁혔을까?
However, the majority of Redis’ commercial sales are channeled through the largest cloud service providers, who commoditize Redis’ investments and its open source community.
https://redis.io/blog/redis-adopts-dual-source-available-licensing/
Redis의 상업적 판매의 대부분은 주요 클라우드 서비스 제공업체를 통해 이루어지며, 이 업체들은 Redis의 투자와 오픈 소스 커뮤니티를 상품화하고 있습니다.
즉, 클라우드 제공 업체가 오픈 소스 소프트웨어를 서비스해, 상업적인 이윤을 Redis 보다 많이 얻어 긁혔다고 생각이 됩니다.
사실 mongo도 긁힌 전적이 있다!
The reality, however, is that once an open source project becomes interesting, it is too easy for large cloud vendors to capture all the value but contribute nothing back to the community.
- mongoDB
https://www.mongodb.com/legal/licensing/server-side-public-license/faq
현실은 오픈 소스 프로젝트가 흥미로워지면, 대규모 클라우드 공급업체가 모든 가치를 가져가면서도 커뮤니티에는 아무것도 기여하지 않는 상황이 너무 쉽게 발생한다는 것입니다.
이는 mongoDB가 라이센스를 변경한 이유를 설명한 내용입니다. mongoDB는 커뮤니티에 기여하지 않으면서 상업적 이득만을 취하는 클라우드 공급업체를 방지하기 위해 새로운 라이센스를 도입하게 되었습니다.
클라우드 제공 업체들의 대처
Mongo가 라이센스를 변경한 뒤, 대형 클라우드 제공 업체들은 다음과 같이 대처했습니다.
1. AWS
AWS는 MongoDB의 API를 지원하는 데이터베이스인 'Amazon DocumentDB'를 출시했습니다.
여담으로 MongoDB는 DocumentDB가 MongoDB를 완전히 호환하지 못한다고 글을 작성했습니다.
밑의 링크는 MongoDB와 DocumentDB의 최신 호환성 테스트 결과입니다.
2. Microsoft Azure
Azure은 MongoDB의 기능을 지원하는 'Cosmos DB'를 출시했습니다.
https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/vcore/compatibility
Redis의 라이센스 변경 이후
Redis의 라이센스 변경 이후, 많은 클라우드 제공 업체는 소스 코드를 공개해야 할 위기에 처했습니다. 그러나 mongoDB가 라이센스를 변경한 뒤에도 소스 코드를 공개하지 않고 우회를 하듯이, Redis의 경우도 비슷한 접근을 취할 것으로 예상됩니다.
또한 많은 포크 프로젝트들이 등장했습니다. 그중에서도 그 중에서도 리눅스 재단 소속의 Valkey와 Drew Devault가 개발한 Redict가 주목받고 있습니다.
Valkey
Valkey는 Redis를 포크 한 많은 프로젝트 중 하나로, 특히 주목받는 이유가 몇 가지 있습니다. 먼저, AWS, Ericsson, Google Cloud, Oracle, Alibaba Cloud, Heroku 등 대규모 기업들이 Valkey를 지원한다고 선언한 것이 있습니다. 지원을 한 이유는 Valkey가 Linux Foundation의 소속이기 때문에, 오픈 소스 라이센스가 취소될 가능성이 거의 없다는 점입니다. 이는 사용자들에게 장기적으로 안정성과 지속 가능성을 제공한다는 점에서 중요합니다.
또한 Valkey의 커미터들은 26년의 경험과 오픈 소스 프로젝트에 대한 방대한 지식을 갖추고 있으며, 특정 커미터는 Redis 오픈 소스 커밋의 1/4에 기여한 바 있습니다.
대형 클라우드 서비스 제공업체의 Valkey를 지원한다는 공식 블로그 게시물입니다.
https://aws.amazon.com/ko/blogs/opensource/why-aws-supports-valkey/
앞으로의 동향
Valkey는 급속도로 성장할 것 같지만 Redis를 대체할 것인지는 의문.
하지만 시간이 지날수록 인지도는 분명 높아질 것 (유명해지기 전에 인프런 강의 찍어놓으면 돈 많이 버실 것 같습니다🤗)
Valkey에 대해 계속 주시를 하며 새로운 기능이 나오면 블로그로 작성하겠습니다!