عنوان:

‫تغییرات مجوز رِدیس (Redis) و ظهور والکی (Valkey)


نویسنده: وحید نصیری
تاریخ: ۱۴۰۴/۰۳/۰۲ ۰۷:۳۹
آدرس: www.dntips.ir
تغییرات در سیاست صدور مجوز رِدیس (Redis)
در سال ۲۰۲۳، شرکت رِدیس (Redis Inc.) سیاست صدور مجوز (Licensing) محصول خود را تغییر داد و از یک مدل کاملاً متن‌باز (Open Source) به یک مدل دوگانه، شامل مجوزهای آر.اِس.اِی.اِل (RSALv2) و اِس.اِس.پی.اِل (SSPLv1)، روی آورد. هدف اصلی این تغییر، جلوگیری از ارائه رایگان رِدیس (Redis) به عنوان یک سرویس توسط ارائه‌دهندگان خدمات ابری (Cloud Providers) نظیر آمازون (Amazon)، گوگل (Google) و اوراکل (Oracle) بود، در حالی که شرکت رِدیس (Redis Inc.) هیچ منفعتی کسب نمی‌کرد. این اقدام با واکنش‌هایی روبرو شد که از جمله آن‌ها می‌توان به موافقت مایکروسافت (Microsoft) با دریافت مجوز (Licensing) محصول اشاره کرد؛ اما آمازون (Amazon) و گوگل (Google) با هدف حفظ روح متن‌باز (Open Source) پروژه، اقدام به ایجاد یک فورک (Fork) از رِدیس (Redis) با نام والکی (Valkey) کردند.
در پی این تحولات و درک نادرست از اهمیت مجوزهای متن‌باز (Open Source) برای توسعه‌دهندگان، شرکت رِدیس (Redis Inc.) در نسخه ۸ رِدیس (Redis 8) مجدداً به یک مجوز متن‌باز واقعی، یعنی ای.جی.پی.اِل (AGPL)، بازگشت. با این حال، این مجوز جدید همچنان دارای شروطی است که بر اساس آن، ارائه‌دهندگان خدمات ابری (Cloud Providers) در صورت استفاده از رِدیس (Redis) و ایجاد تغییراتی در آن، ملزم به انتشار عمومی (Open Source) تغییرات خود هستند. این شرط ممکن است برای شرکت‌هایی مانند آمازون (Amazon) که سیاست‌های متفاوتی در این زمینه دارند، خوشایند نباشد. شرکت رِدیس (Redis Inc.) بر این باور است که با این رویکرد، به نقطه تعادلی دست یافته است؛ به این صورت که رِدیس (Redis) از نظر فنی دوباره متن‌باز (Open Source) محسوب می‌شود، اما همچنان برای ارائه‌دهندگان خدمات ابری (Cloud Providers) جذابیت کافی را ندارد تا بتواند اهرم فشاری (Leverage) برای مذاکره با آن‌ها حفظ کند.

معرفی والکی (Valkey): جایگزین متن‌باز (Open Source) واقعی
والکی (Valkey) به عنوان یک فورک (Fork) کاملاً متن‌باز (Open Source) از رِدیس (Redis) ظهور کرد که با حمایت مهندسان آمازون (Amazon) و توسعه‌دهندگان متن‌باز (Open Source Maintainers) همراه بود. این پروژه به سرعت ویژگی‌های جدیدی را معرفی کرد که شامل قابلیت مشاهده‌پذیری (Observability)، آمار اسلات‌ها (Slot Stats) و بهینه‌سازی عملکرد (Performance Tuning) بود. این ویژگی‌ها پیش از این، به دلیل سیاست‌های کمیته راهبری رِدیس (Redis Steering Committee)، سال‌ها به تعویق افتاده بودند.
اهداف والکی (Valkey) بسیار ساده و شفاف تعریف شده‌اند: توسعه ویژگی‌های کاربردی، اولویت دادن به پایداری (Stability) و فراگیرتر کردن پروژه. این پروژه از هرگونه وابستگی به یک فروشنده خاص (Vendor Lock-in) و تصمیم‌گیری‌های غیرشفاف (Black Box Decisions) پرهیز می‌کند. به عنوان مثال، یکی از اولین تغییرات والکی (Valkey) که با استقبال گسترده‌ای روبرو شد، قابلیت نمایش "داغ‌ترین اسلات‌ها (Hottest Slots)" در رِدیس (Redis) بود که به مدیران سیستم امکان می‌داد تا آن‌ها را متعادل (Rebalance) کنند. این قابلیت پیش از این در رِدیس (Redis) اصلی به دلیل "هزینه عملکرد (Performance Cost) جزئی" مسدود شده بود. والکی (Valkey) در حال حاضر در محیط‌های تولیدی (Production) مورد استفاده قرار گرفته و مشارکت‌کنندگانی (Contributors) از چندین شرکت و فروشنده (Vendors) را به خود جذب کرده است. همچنین، برخلاف رِدیس (Redis)، والکی (Valkey) رابطه پیچیده‌ای با جامعه توسعه‌دهندگان (Community) ندارد.

واگرایی و پیامدهای آینده
با وجود بازگشت رِدیس ۸ (Redis 8) به مدل متن‌باز (Open Source) با محدودیت‌های ای.جی.پی.اِل (AGPL)، والکی (Valkey) همچنان به مسیر خود ادامه می‌دهد و مجوز کاملاً منعطف (Permissive) خود را حفظ کرده است. این دو پروژه در حال حاضر مسیرهای توسعه متفاوتی را در پیش گرفته‌اند: رِدیس (Redis) بر افزودن قابلیت "مجموعه‌های برداری (Vector Sets)" تمرکز دارد، در حالی که والکی (Valkey) به قابلیت مشاهده‌پذیری (Observability) و پشتیبانی بلندمدت (Long-term Support) اهمیت می‌دهد. این واگرایی نشان‌دهنده تغییرات عمیق در لایه پایگاه داده (Database Layer) وب است که دیگر فقط به عملکرد (Performance) محدود نمی‌شود، بلکه به اعتماد (Trust) میان پروژه‌های متن‌باز (Open Source) و جامعه توسعه‌دهندگان (Community) نیز وابسته است.



مشاهده مطلب اصلی