On the Open Source Valkey Project. Q&A with Madelyn Olson

Q1. What makes Redis so special and why is it so popular?

Redis became ubiquitous in real-time applications because of its high performance and versatility while still being extremely simple to use. One of the key innovations it pioneered was to go beyond strings for simple key/value storage, which allowed users to more easily model their data. It also made it easy to improve the persistence of data through replication and disk-based backups. This combination of speed, durability and support for complex data operations made it ideal for use cases like caching, session management, real-time analytics, and acting as a message broker. Its high code quality and open license also made it beloved by both professional and hobbyist developers, as it was easy to extend and modify to solve a variety of workloads it didn’t solve out of the box.

Q2. You were one of the major contributors to Redis and you also were a member of the Redis core team. What were your main contributions and responsibilities?

I initially got involved in the Redis OSS project in 2018 while working to contribute transport layer security (TLS) to the Redis OSS project, as security was an area of focus for me at AWS. I continued to contribute a lot in the security space, with features like key based access permissions, as well as spending a lot of time helping maintain the clustering system, including building features like cluster hostname support and reducing read unavailability during failovers. I joined the Redis core team in 2020, which was the maintainer group for the Redis OSS project. As a core team member, I spent most of my time helping to review code and designs from other individuals looking to contribute to the project, since that was the best way for me to help the project.

Q3. On March 20, 2024, Redis Ltd decided to transition the previously open source Redis (licensed under BSD-3) to a source-available (not open source RSALv2 and SSPLv1) license. This will occur after they release the next Redis version 7.2.4, with all previous versions continuing to be open source. (Source:https://redis.io/blog/redis-adopts-dual-source-available-licensing/) For those of who are not familiar with open source licensing, what does it mean in practice?

From an end user perspective, the change of license means that if you are looking to adopt new versions of Redis, you should validate that your use case is still meeting the new expectations of the license. It also means that many distribution channels of Redis, such as Linux package managers, will stop supporting Redis directly as it doesn’t meet their criteria for open source software.

The license change also means that most of the contributors that were previously working on Redis OSS are no longer associated with the project. Many contributors pushed code to the Redis OSS project because they believed in the value of open source software for themselves or the companies they worked for, and are not interested in contributing to a proprietary software project.

Q4. Eight days after the license change, you and 5 other members of the open-source community (Ping Xie, Wen Hui, Zhao Zhao, Viktor Söderqvist, and Binbin Zhu) got together to create Valkey within the Linux Foundation. Why?

We created Valkey to keep the continuity of the project that we were all working on. We all believe that developing software in the open allows us to best solve problems for our end users. We created Valkey under the Linux Foundation in order to create a vendor neutral location to continue development, and ensure the open source continuity of the project for the long term.

Q5. Can you talk about the history of governance in Redis and how that informed and shaped the governance of Valkey.

Before the license change, Redis OSS was governed by a light-governance model with a core team that was comprised of 3 engineers from Redis Ltd, one engineer from Alibaba, and one engineer from AWS. The core team was responsible for all major decisions and approving changes in the project. When we created Valkey, we largely kept the same core framework because we believed it was working well. Former members of the community nominated 6 engineers from 6 different companies to form the technical steering committee (TSC) to act as the new core team. We wanted to increase the diversity of the project, making sure no one single vendor was able to have a substantial influence on the TSC. We also wanted to make a clear path for new members to join the TSC, so new contributors felt motivated to work on the project and could see a path of growth for themselves.

Q6. Is Valkey a Amazon Web Services (AWS) fork of Redis? What are the roles and responsibilities AWS? What are the roles and responsibilities of Google Cloud, Oracle, Ericsson, and Snap as backers of the effort?

Valkey is not an AWS fork. Valkey is a community-driven project within the Linux Foundation that is supported by a multitude of organizations, including AWS. Each of these organizations contributes resources, development efforts, and support to ensure the project’s success and sustainability. 

Q7. Nineteen days later, you announced the general availability of the first release of Valkey (Valkey 7.2.5). What is special about it?

Valkey 7.2.5 is significant because it marks the first stable release under the new community-driven governance model. The release is fully compatible with Redis OSS 7.2 and includes a couple of compatibility features to allow users to migrate away from Redis terminology from our APIs. This release gives end users a way to transition from Redis OSS to Valkey without having to face any compatibility issues.

Q8. Is Valkey a direct fork of Redis 7.2.4? What is going to happen to Valkey when new Redis versions are released till version 7.2.4?

The first stable release of Valkey, 7.2.5, is based off of the code from Redis OSS 7.2.4 with some additional compatibility features. We will continue to try to keep Valkey 7.2 as similar to Redis OSS 7.2 as possible. For future versions, both Valkey and Redis will diverge. If are already on Redis OSS 7.2, switching to Valkey 7.2 should be as painless as any other patch version release. If you aren’t running already running on Redis OSS 7.2, you can easily upgrade to Valkey 7.2 to get all the performance and efficiency improvements introduced. 

Q9. How can developers join the newly formed Valkey community and what should they contribute?

Right now, the best way to get started is by getting involved at the Valkey GitHub. There are a lot of open issues that we would love to get community help in resolving. I always suggest people try to help fix issues they have seen or implement features they want. We would also love contributions such as a blog posts and other content about using Valkey!

Q10. What is up next for the Valkey community?

The Valkey community is hosting an in-person contributor summit on June 6th and June 7th in Seattle WA, where we hope to finalize our future roadmap. We are actively working on a number of improvements including improving memory efficiency, enhancing performance, and improving the scalability of Valkey cluster. We’re also evaluating a number of first-party modules such as native support for JSON documents, bloom filters, and improved search functionality. Some of these improvements will be available in Valkey 8, which we are hoping to be available sometime later in Q3. 

…………………………………………

Madelyn Olson, AWS Engineer and Valkey project maintainer.

Software engineer interested in building complex scalable technologies and solving hard problems for customers. I’m also passionate about helping build and maintain open communities around open-source projects.

You may also like...