From Fedora Project Wiki
No edit summary
(submitting change to fesco)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.<br/> '''Copy the source to a ''new page'' before making changes!  DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.'''}}
{{admon/tip | Guidance | For details on how to fill out this form, see the [https://docs.fedoraproject.org/en-US/program_management/changes_guide/ documentation].}}
{{admon/tip | Report issues | To report an issue with this template, file an issue in the [https://pagure.io/fedora-pgm/pgm_docs pgm_docs repo].}}


<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
Line 12: Line 7:


== Summary ==
== Summary ==
We should 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 Fedora to continue offering users powerful in-memory data structure store without compromising on licensing restrictions.
Obsolete Redis for Valkey due to Redis's license change to RASLv2/SSPL.
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->


Line 29: Line 24:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeReadyForFesco]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 47: Line 42:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* [<will be assigned by the Wrangler> devel thread]
* [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/EQYL5ELA5U43NTUL62PYASVG6WI5I5YQ/ Announced]
* FESCo issue: <will be assigned by the Wrangler>
* [https://discussion.fedoraproject.org/t/f41-change-proposal-replace-redis-with-valkey-system-wide/113413 Discussion thread]
* FESCo issue: [https://pagure.io/fesco/issue/3203 #3203]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>
Line 54: Line 50:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Redis previously used the BSD license, which is widely recognized for its compatibility with FOSS principles, allowing users to freely modify, redistribute, and use the software in both private and commercial settings without stringent restrictions. However, Redis's shift to the Server Side Public License (SSPL) represents a significant departure from its FOSS-compatible roots. The SSPL, not recognized by the Open Source Initiative (OSI) as a FOSS-compatible license, imposes conditions on the use and distribution of software, particularly in service environments. This could necessitate users to disclose their proprietary source code if they use SSPL-covered modules in certain ways, conflicting with Fedora's FOSS policies.
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.
 
In contrast, Valkey, a community-driven fork of Redis, 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.


== Feedback ==
== Feedback ==
Line 93: Line 83:
     https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
     https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
-->
-->
With Redis's license change to SSPL we cannot update it further in Fedora since SSPL is not OSI-approved thus does not meet Fedora Packaging GuidelinesChanging to Valkey ensure users are not abandoned with software which cannot be updated any longer in the OS as well as provides them with continued innovation from the Valkey project.
Redis previously used the BSD license. Redis's shift to the Server Side Public License (SSPL) that Fedora does not allow poses an issueValkey 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 ==
== Scope ==
* Proposal owners: add a valkey-compat package which will port Redis configurations to Valkey.  Valkey 7.2.5 is 100% compatible with Redis.
* 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.
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


Line 119: Line 113:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
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 ==
== How To Test ==
Line 138: Line 132:
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


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 ==
== User Experience ==
Line 150: Line 145:
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
-->
-->
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 ==
== Dependencies ==

Latest revision as of 20:49, 28 April 2024


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