- 21 मार्च 2024 को, Redis Ltd. ने घोषणा की कि Redis "in-memory data store" प्रोजेक्ट Redis 7.4 से non-free, source-available लाइसेंस के तहत जारी किया जाएगा
- यह खबर अप्रिय थी, लेकिन बिल्कुल अप्रत्याशित नहीं थी, और खास बात यह है कि Redis के विकल्प के रूप में चुने जा सकने वाले कई ऑप्शन मौजूद हैं
- जो उपयोगकर्ता free software का उपयोग जारी रखना चाहते हैं, वे कम से कम चार विकल्पों में से चुन सकते हैं, जिनमें मौजूदा fork KeyDB और Linux Foundation द्वारा नया घोषित किया गया Valkey प्रोजेक्ट शामिल हैं
Redis का संक्षिप्त इतिहास
- Redis, Salvatore Sanfilippo (उपनाम "antirez") द्वारा शुरू किया गया प्रोजेक्ट था, ताकि LLOOGG नामक real-time log analysis application के लिए काम किया जा सके, जिसकी आवश्यकताओं को MySQL पूरा नहीं कर पा रहा था
- इसे relational database के बजाय एक सरल dictionary database के रूप में डिज़ाइन किया गया था, और इसका नाम "remote dictionary server" का संक्षेप है
- Redis ने NoSQL आंदोलन के हिस्से के रूप में तेजी से लोकप्रियता हासिल की, और 2010 में VMware ने इसके विकास के लिए उन्हें नियुक्त किया
- Redis ने Twitter और Pinterest जैसे ग्राहकों के माध्यम से लोकप्रियता पाई, Linux distributions में शामिल होना शुरू हुआ, और 2013 में AWS की ElastiCache सेवा में जोड़ा गया
Cloud बनाम open source
- SSPL और Redis के RSAL जैसे usage-restricting licenses का समर्थन करने वाले लोग इसे केवल AWS जैसे बड़े cloud providers और open source के बीच की लड़ाई के रूप में पेश करना चाहते हैं
- Redis के contributors की सूची देखने पर पता चलता है कि Redis कंपनी के अलावा भी कई कंपनियां इसमें योगदान दे रही हैं
वितरण मॉडल में बदलाव
- Redis, venture funding पाने वाली एक कंपनी है, और ऐसा लगता है कि उसने open source से दूर जाकर अधिक revenue पैदा करने की सोची-समझी रणनीति अपनाई है
- MongoDB के उदाहरण को देखें तो, SSPL पर जाने के बाद भी वह बढ़ता रहा है, और कई कंपनियां सेवा को स्वयं host करने के बजाय उसके उपयोग के लिए भुगतान करना पसंद करती हैं
Forks और विकल्प
- Redis के लाइसेंस परिवर्तन के कुछ ही दिनों बाद Valkey नाम का एक सीधा fork सामने आया, और AWS, Google Cloud, Oracle, Ericsson, Snap आदि इस प्रयास का समर्थन कर रहे हैं
- KeyDB, तकनीकी कारणों से 2019 में बनाया गया एक fork है, और Snap द्वारा अधिग्रहित किए जाने के बाद पूरा codebase 3-clause BSD लाइसेंस के तहत पूरी तरह open source कर दिया गया
- SourceHut के संस्थापक Drew DeVault ने LGPLv3 का उपयोग करते हुए Redict नाम का एक fork बनाया
- Microsoft का Garnet, Redis-compatible remote cache store है, जिसे MIT लाइसेंस के तहत जारी किया गया है
विकल्पों के लिए प्रतिस्पर्धा
- Linux distributions के सामने Redis की जगह लेने वाले software को खोजने की समस्या है.
- Fedora, openSUSE, Debian जैसी communities Redis के विकल्प के रूप में KeyDB, Redict, Valkey आदि पर विचार कर रही हैं.
आगे का रास्ता
- यह अनुमान लगाना अभी बहुत जल्दी है कि एक या अधिक fork पर्याप्त traction हासिल करेंगे या नहीं, लेकिन Valkey के एक भरोसेमंद विकल्प बनने की संभावना अधिक है
3 टिप्पणियां
शुरुआत में Redis भी memcached का एक विकल्प था।
लेकिन मैंने कभी नहीं देखा कि किसी तकनीक का विकल्प इस तरह के campaign(?) से तय होता हो।
Only time will tell.
Valkey - Linux Foundation द्वारा घोषित Redis का ओपन सोर्स विकल्प
Redis, लाइसेंस को BSD से dual license में बदलता है
GN⁺: Redis, dual source-available license अपनाता है
Redict, Redis का स्वतंत्र copyleft fork है
Hacker News की राय
Redis Community Edition का उपयोग आगे भी मुफ्त में किया जा सकेगा, और इसके लिए support, maintenance तथा improvements जारी रहेंगे.
Neal Gompa ने Fedora development mailing list में license बदलाव पर चर्चा शुरू की और Fedora से Redis को हटाने की आवश्यकता की ओर इशारा किया.
मुझे पहली बार पता चला कि Apache Kvrocks (Flash-आधारित Redis alternative) के committer Binbin Wang ने Redis के नए version पर commits का लगभग 25% योगदान दिया है.
AGPL license के धीरे-धीरे लोकप्रिय होने का कारण यह है कि copyright holder को छोड़कर बाकी सभी को बहुत सख्त नियमों का पालन करना पड़ता है, लेकिन core software open source बना रहता है, इसलिए community को अब भी लाभ मिलता है.
AWS ने ElasticSearch को fork करके "OpenSearch" DBaaS बनाया. इसकी वजह से पिछली नौकरी में हम NEST .NET library के एक खास version तक सीमित हो गए थे और नई features का उपयोग नहीं कर पा रहे थे. तकनीकी प्रगति को देखते हुए यह गलत दिशा में जाता हुआ लगता है.
MIT license का उपयोग करना और support के ज़रिए revenue कमाना, न सिर्फ इन समस्याओं बल्कि दूसरी संभावित समस्याओं का भी आसान समाधान है.
यह दिलचस्प है कि Redis पर commits का लगभग 40% चीन की कंपनियों से आता है (Tencent 24.8%, Alibaba 6.8%, Huawei 5.2%, Bytedance 2%).
इस समय copyright license अधिक फ़ायदेमंद लगता है. अगर यह गारंटी ही न हो कि भविष्य की सभी releases पर भी यही license लागू होगा, तो अधिक स्वतंत्र और business-friendly license का मूल्य क्या है? यह bait-and-switch policy जैसा लगता है.
Redis डेवलपर्स के लिए एक Trojan horse जैसा दिखता है. शुरुआत में यह एक साधारण key-value database जैसा लगता है, लेकिन इसे cache के रूप में भी इस्तेमाल किया जा सकता है, और हर चीज़ को cache करना आकर्षक लगता है. लेकिन यह उस पुराने Unix सिद्धांत के विपरीत है कि हर program को वही एक काम करना चाहिए जिसमें वह सबसे अच्छा हो. 10 साल बाद सही caching decisions लेने के लिए Redis की enterprise whitepaper डाउनलोड करनी पड़ती है.
मैं Andrew Kelley के दृष्टिकोण से सहमत हूँ: Redis project का नाम बदलकर Redict कर देना चाहिए, और मौजूदा "Redis" नाम वाले project को Redict का एक अजीब commercial fork माना जाना चाहिए.