From Fedora Project Wiki


Replace Redis with Valkey

Important.png
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Obsolete Redis for Valkey due to Redis's license change to RASLv2/SSPL.

Owner


Current status

Detailed Description

We will replace Redis with Valkey due to the recent licensing changes in Redis, which have rendered it incompatible with Free and Open Source Software (FOSS) principles. This shift in Redis's licensing can impact Fedora's commitment to FOSS, potentially limiting users' freedom to modify and redistribute the software under the same terms. Valkey, a fork of Redis, emerges as a viable alternative because it retains a FOSS-compatible license and has robust community and developmental support. Adopting Valkey allows us to continue offering users a powerful in-memory data structure store without compromising on licensing restrictions.

Feedback

Benefit to Fedora

Redis previously used the BSD license. Redis's shift to the Server Side Public License (SSPL) that Fedora does not allow poses an issue. Valkey adheres to the original BSD licensing model, thus maintaining full FOSS compatibility. This commitment is bolstered by substantial backing from the Linux Foundation and the migration of many former Redis contributors to Valkey, ensuring a robust development environment and continuity of expertise.

As the package owner of Valkey in Fedora, my interactions with the Valkey upstream project have underscored their strong dedication to working with distributions. The Valkey team is responsive and proactive in discussions, which facilitates effective package management and integration within Fedora. Their commitment to open collaboration significantly benefits Fedora, ensuring that Valkey is not only technically sound, but also aligns with Fedora's principles and community values.

This shift to Valkey allows Fedora to maintain its leadership in offering powerful FOSS-aligned technologies while supporting a project that values open source integrity and collaboration. This is crucial for keeping Fedora at the forefront of providing robust, community-supported software solutions to its users.

Scope

  • Proposal owners: add a valkey-compat package which will port Redis configurations to Valkey. Valkey 7.2.5 is 100% compatible with Redis. Add "Obsolete: redis" to valkey-compat package. valkey-compat will require valkey. This will allow us to eventually retire the valkey-compat sub-package at some point in the future.
  • Other developers: N/A
  • Release engineering: N/A
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives: N/A

Upgrade/compatibility impact

When upgrading to Fedora Linux 41, systems with redis installed will be switched to valkey via the valkey-compat package. The change should be mostly transparent to users as the valkey-compat package provides config and data migration for most common configurations. The valkey systemd units will have aliases for redis to ease the migration for users.

How To Test

A COPR is available at https://copr.fedorainfracloud.org/coprs/jonathanspw/valkey/ with the "Obsoletes" in place so the migration script can be tested.

User Experience

This is intended to be as invisible to users as possible. If the change proposal is approved the valkey serviced units will be aliased to redis.service to ease the transition.

Dependencies

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) Do not obsolete Redis with Valkey
  • Contingency deadline: N/A
  • Blocks release? No


Documentation

N/A (not a System Wide Change)

Release Notes