Episode: 3229 Title: HPR3229: Linux Inlaws S01E19: Redis Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3229/hpr3229.mp3 Transcribed: 2025-10-24 19:14:38 --- This is Haka Public Radio episode 3229 for 13th April 17th of December 2020. Today's show is entitled, Linux in-law Ness Nero 2019, Redim and in part of the series, Linux in-law Ness Nero, it is hosted by Monochrome, and in about 74 minutes long, and Karim and exquisite flag. The summary is, our two-chap, since a new item a paper on Redim's fame. This episode of HBR is brought to you by an honest host.com. Get 15% discount on all shared hosting with the offer code HBR15. That's HBR15. Better web hosting that's honest and fair at An Honesthost.com. This is Linux in-laws, a podcast on topics around free and open-source software, any associated contraband, communism, the revolution in general, and whatever else, fans is critical. Please note that this and other episodes may contain strong language, offensive humor, and other, certainly not politically correct language. You have been warned. Our parents insisted on this disclaimer. Happy mum? That's the content is not suitable for consumption in the workplace, especially when played back on a speaker in an open platform. It's a very important thing to do. This is Linux in-laws Season 1 Episode 19. Redis, button. Hi, how are things? Hey, good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Thank you for sitting here! Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. Good morning. bit off here and there we do a part we do like to apologize for this but overall I think it's a great experience and we are rolling with the interview now and see you on the other side. This is our feature speaker for tonight a gentleman called by the name of Eta Mahabhar but enough from me Eta Mahabh, why don't you introduce yourself? Thank you Christel and thank you Martin for inviting me to this wonderful lovely podcast. I'll stop talking like you now and return and resume my normal voice. My name is Eta Mahabhar. I'm a software developer in origin or yeah I guess I can call myself that but I've logged it's been a long time since I seriously developed software and one would argue whether I even actually did that in the past. Currently let's start chronologically and go backwards if it's of an interest. Feel free to stop me. Currently I'm almost 49, well 48 now. So I've got a lot of stories. Right now I'm working in a very interesting company called Redis Labs by the way I know both of you from there so high again but I've been with Redis Labs for a long time now because I'm so almost eight years. Redis for those of you don't know it is an open source project which is something I think we're here to talk about so I won't talk about it just now. I'll continue my introduction about myself. In Redis Labs or Egg Redis Labs I've done a lot of things. I was like the 10th employee or something in the company. So I had a lot of hats but I've always been passionate about developers and interacting with developers and basically making an open source project really open source not just in the sense of the source but in the sense of openness. Before that I dabbed a lot with other databases mainly SQL-ish ones. Redis is my first real foray into no SQL lens but I've done the regular batch of Oracle, MySQL, MSS, Q&A and even in the formats at one time I have diplomas for all of these like real certificates somewhere on real paper. Before doing a lot of DBA work and database related development I was basically an app programmer and I started that like when I was around 16 pretty young I was working at my mothers and fathers software development house and even before that I used to try and heck or be a heck or programmer or developer or something was always fascinated by the blinking lights and the zeros and ones and I actually have an anecdote if there's time for that. Absolutely. I can actually tell you I remember why I became a programmer or a developer what was the main driver. So one of the first machines I ever touched was something called a K-Pro. I don't really either of you or the audience have heard of that machine but it was amazingly was a portable computer. It was a computer you could move from one place to another. It was amazing. If you can embed images in the podcast can you put the image in the podcast? I don't really. We can't put links into the link to an image of K-Pro. It was basically this huge suitcase made out of steel filled with expensive electronics you had to be like very masculine to move it around but it was portable. It has this tiny CRT screen in it. It had its own keyboard, a floppy drive and it had an amazing operating system called CP and that's a CP sledge and if you don't know what I mean. It's not quite well actually. And it came with a game. It also lists the files in the directory or something but there was a single game it was called letters. It was kind of a kinkong clone all done in iSkill course, no graphics and after playing that game I was fascinated by it and I decided to reverse engineer it. So I went to the command prompt and the file name was letters.com. So I tried doing type I think was the command to see what's inside it, type letters.com. My screen, the tiny screen immediately filled with garbage plus beeping sounds which I later learned are control g's and I spent hours looking at that trying to understand how from this pile of maths the computer makes a game. I could not read binary for some reason so I took a more cautionary approach to learn basic and then Pascal and the sampler and the entire goodness. I still think at this game though I still don't understand how letters work or anything in computers but for enough. Side the point. So you invited me here to talk about open source? Well this is an open source podcast yeah but we can talk about communism, we can talk about political views, we can talk about free and open source after anything really of course. So we want to talk about open source I guess. Maybe I work with questions if you can point me but I guess your question is tell us a little about Redis? Exactly for those few people who do not know Redis among our listeners maybe why don't you give a short overview about this popular in memory no SQL database? Great so you said you were put no SQL in memory database or maybe data structures store. Let's break it down. It's a project, it's an open source project. It was instigated, created and lovingly maintained by an amazing fellow called Sava Thoris on Pilepo, an Italian guy, something to be really more of an artist than a developer which makes him a great developer I guess. Basis was like shutting down one startup that he opened with a friend that's like early 2009 I think and after having to build some sort of an application found a gap in existing technologies and we're talking about basically the inception or the beginning of no SQL or but ebbs. So the idea was yeah I have this relational database let's go with my SQL and I love it I do a lot of things with it but it's not really the best tool for some of the tasks that I have and I'm currently using it with whether it's too big or too small or too complex or too slow whatever there are limitations and constraints excuse my pun. So like any good artist instead of letting slide he decided to create something of his own something that already existed in some form the fear familiar with mancash threat is kind of a spiritual successor of mancash in a lot of senses but ironically it wasn't inspired by mancash I'm not sure in itself but Tori the creator who's also referred to by his nickname anti-res or anti-res or until it's as he calls himself was even aware of mancash so he just went ahead and developed something that would help him as a developer or he thought would be helpful for other developers and just open-source did and this sounds very fast but and it was actually quite fast he wrote the first product type like or redis in very small time it's actually available somewhere in the archives it's a tcl based version of redis 300 lines long but it's basic redis anti-stale and after this proof of concept he went ahead and basically began what is a very interesting career choice he began being an open-source developer that is he set his ass down excuse my French and without being paid for it he wasn't employed at the time he company was closed he wasn't sponsored or anything just set down and started coding in C of all languages because C is the programming language of the system software and credits as a database server is considered system software so basically started coding redis in C and after I think seven months or so or six months there was the first version of redis so late 2009 he found out mistaken and at that time redis wasn't knowing it wasn't even popular Salvador ahead some readability as a developer from his other and previous experiences so he had some followers and stuff like that but was still unused and somehow during I think the first two or after the first release during the coming two years the popularity of redis just shocked up the popularity and also the capabilities a lot of that in my opinion was due to the fact that redis was an open-source project with a leader maintainer a creator dictator if you will a very opinionated one for sure but the very benevolent one also because he understood still does I guess we're talking in past sense but Salvador was a developer and is a developer so he understands what is the user experience one needs from a tool like redis but on the other hand he also knew how to talk to other developers which is not of less important so he got feedback from people he talked with people he exchanged ideas whether the project used to be hosted right now it's on GitHub but it used to be hosted on Google code it was this product by Google which was shut down like so many others the cause the development was transparent in the sense that he did the development but did consult with people and they take their feedback and redis grew sort of organically by the people who used it and I think this this type of interaction is what I find perhaps the top reason to do open source development the fact that not just the many eyes concept that people can go and I don't read your code or do code reviews and blame you on the bugs if that you do but there's it's more open and more I feel private and intimate to develop products like that of course sure you can build a product a great product with product managers and surveys and feedbacks and marketing that's like the top-down approach but for some stuff I don't know exactly what perhaps but some stuff benefits from this kind of guerrilla like we're huddling around the repo we're discussing this together likely-minded people working on the core thing and then it's becoming sort of a role in snowball it just grows and more people join and then the challenge is of course how do you maintain and grow in your issue commute and ever grow in community of users not necessarily of developers which is another hassle I guess or another challenge where was I what was I talking about uh Redis sure so Savitore was kind of the living spirit and it still is I guess many people saw it the living spirit for Redis he got sponsored eventually his effort did not go unnoticed so he was sponsored someone picked up the tab so at some point Redis did start becoming his profession didn't just do a propo no but I assure you that didn't do it for the money he did it because he believed in it and sponsorship was just like a symptom or a byproduct his first sponsor incidentally was a nice company called I think VMware now a part of EMC or maybe Dell or I don't know what but the that time VMC started sponsoring a lot of open source projects and Redis was one of them later on VMC that not VMC VMware VMware uh purchased pivota labs and basically rolled all the open source sponsorships to get so pivota labs also inherited Savitore and Redis and they tried to grow with him and see if they can help him and it's another like this was I guess I don't remember the dates maybe we need to include a timeline but I think around uh two hundred and uh two thousand fifteen scheduled to Redis labs uh I know it's the company I work here I'm proud of it but seriously that it was the only logical new Redis labs has grown and I'm not going to discuss this history of the company but it's grown and proved itself to be the Redis expert company we were working on Redis and with Redis all the time and Savitore recognized this and joined forces with us and basically from 2015 Savitore is working at Redis labs and we're working together on making Redis and I will dare say in the more in the most effective way since the beginning because at the beginning it was a lot of hacking it was a lot of innovation uh but as the product metures and as the features got added and implemented right now it's more about maturity and robustness and making completions and fine tuning optimizations and uh still making sure that it's the fastest database out there yeah it's uh it's great great introduction to Redis say tomorrow I was at EMC back in the day when I think uh Savitore joined and we were all wondering it's kind of fear what what was going actually he was he was he was VMware sponsored in right and I was at EMC arm but obviously yeah but they both joined and yeah yeah and we were all wondering it's like what is what what are we going to do with this finish yeah so so another question on on your great introduction is really how did you become involved with Redis itself right this was that purely career choice or or a love for what you saw self tour of doing because I think in your introduction you mentioned you have a very much a sequel like background that obviously Redis is a a no sequel database so what was was that a conscious choice or a career move how would you describe that scenario so I've always wanted to be a mermaid well you're unique well now I'm in your new career yeah no I wanted to be actually I wanted to be a doctor a physician not just like a doctor doctor but the national physician maybe a uh well never mind my uh fetishes anyway um some sort of like people caretaker uh in the the medical sense greatly inspired by my uh raid by my friend father who was a pediatrician that said I'll never amounted to anything so I wasn't accepted to any medical school and I picked computing as like a side career just because I was good at it and it was sort of an hobby right and here I find myself doing that still doing that as a career uh Redis itself was well it was life for me just rolling between uh I was between jobs when I met that if that the founder of Redis or actually I met it I met him in my previous uh role in my previous company which uh from which I actually knew a little about Redis I'll explain uh my the previous company I used to work for was called zero round that's with an X so X E and the word round um I also spent a considerable time there and what we did there was basically trying to build a company the core technology that the company developed was please I'm gonna unveil a very new concept was an in-memory no sequel although we did no sequel because the word did not exist uh so in in-memory uh no sequel database it wasn't open source it was distributed uh had cluster it had it was it wasn't Redis but the core premise was very Redis-like and there was no Redis for us to copy when you started at around two or three or don't remember when um so actually from my previous company I knew a little about Redis I was actually we were actually considering whether we want to ditch our core technology and start adopting something that's more standard and I met with uh if the here in the local Israeli pond just and I remember it was some kind of conference we exchanged contact details later on zero round uh started like pivoting again without going into the details I left them and joined the fdach and over with uh a thread is labs at that time they were called tarantia data uh being one of the first employees and the only employees that were there besides the two founders were almost exclusively developers very technical it besides the one QA guy along um I had a lot of gaps to feel there uh I felt like there are a lot of gaps or a lot of challenges that uh I can step up to my formal role I had like four formal roles I'm doing customer support doing the blog and website I think like the bucket of alls but what drew me giving my passions and past experiences even in open source in which I dabbed before specifically in slackwear minutes um my passion drew me to actually dig in deeper and see what's happening it helped me with my formal responsibilities in the sense that getting to know the project was beneficial to the company and myself we've been supporting customers of course but I also really enjoyed making sense not not only of the technology uh the best way to learn whether like if a user asks me whether I'm sitting as a support engineer or uh talking about redness and someone asks me a question about redness to which I don't have an answer the best way is for me is to actually go and read the code and this is what I did now reading the code because the code is available and because the code is open source leads you to the next um logical step which is to submit a pull request because you found a typo in one of the comments that's basically the first thing you do as you step into the community you make it PR because you find the typo which is by the way very nagging to maintainers I guess but you don't know that at that point after like seeing that the code is actually out there and that I can do whatever I want with it I started looking more into the who are the people there I learned about the creator of Salvador and I learned about the other community members from the different communication channels that the project offered mainly the GitHub the mailing list the NIRC channel and Twitter um I miss I think I'm not the most outgoing person perhaps in real life I don't know but online I allow myself much more and it's easier to connect online so I made it point knowing the people who I so visiting there getting to know them trying to help them or reaching out to them for help whether for me or one of the people I who approached me and it felt very natural to become a part of the community just because there was kind of a void there a void for I'd call it a community not manager because I wouldn't find the last thing I'd call a manager but someone or people who make the community take a long in Reddice's case it was even more prominent this void or lack of person because Salvador was a very unpredictable in what it did and how we communicated with people some people he would engage in discussions others or even the same we just leave dry and hanging with the stuff so there was a lot of place where people who wanted to get involved to dive deeper take responsibility and ownership not just wait for someone to tell you to do something just like trying to be helpful see where you can make the biggest impact and I think I was one of them over the years I established that but all in all it's it's a growing it's it's sort of a growing experience in a sense that there is no recipe you just have to play it by the year and see where your fortas are if you can do everything if you're a super developer and if you know everything and if you can write good documentation or blog posts or tutorials and whatever then you can do anything but if you're not an uber person and even if you know just one good thing or you know to do just one thing maybe it's design a logo maybe it's developing a webpage or whatever these kinds of skills are also crucial in every community and the challenge I think in every open source project is attracting community members who can contribute in a substantial way not just big styples yeah sorry go ahead um yeah I'm leaving it myself if you have questions feel free no but obviously yeah that has been more than insightful especially about the origin of redis and redis labs for that matter get them are just quick question fully disclosure I do work for redis labs so that Martin before I decided to defect but that's a different story anyway yes I shortly after I joined redis labs I just for fun basically I did a kind of quick poll on GitHub to see how many projects do require redis as one of the dependencies and I was really amazed and that was about 2018 give or take a few months I was really surprised basically how popular redis at that stage already was redis was then used in virus scanner's mail systems primarily as a as a as a key value so in terms of a simple cat not not just not a simple cat but just a cat but redis has much more to offer I'm just thinking kind of along the lines of modules and stuff what is your opinion on on the kind of the this first use case that apparently many people stood use redis for and then you bits and pieces ever to come us like modules like streams that have entered the code base over the years so I'll start with a little confession when I joined redis labs and my first task was actually understand redis not dive into the code just know how to do a get set or what do people use it for it right or how do you use it I was very very frustrated it took me a long long time to actually get what redis is about and I totally blame my sequely-ish background I was so like bias toward traditional views and given my experience that it took me a long time to dump it up and come with up with redis and once I did it it made perfect sense I think the simplicity that like redis besides always advantages technical advantages I think the fact that it's so simple both to get up and running like with the defaults and this is something that we're very very proud of and try to maintain the fact that you can just get it and start running it and it gets up in less than a second and regardless the size and it just starts working out of the box is amazing and on that the simplicity is a design principle in redis so it's not just the first out of the box experience it's also the kind of interaction that it offers and the visibility into what you're doing that is kind of unique I think this gives it a lot of love from developers who appreciate this simplicity this transparency both in the fact that the open source is open and they can look at it they're not afraid of putting it as a dependency and just knowing that it works of course the fact that its history speaks for itself redis is history its stability and performance is also a very good comforting piece of knowledge for developers granted redis is mostly known as a cache that's partly because it was sort of a and I said a man-cache replacement I'm not sure it's a total replacement for man-cache the opinions are usually if you're looking for simple caching just caching be the blob or something take man-cache but if you want anything more just you can use redis like you don't have to use redis for that but if you want more you can use redis or need to use redis so I don't have numbers I'd say a lot of redis these deployments nowadays are just stupid caches even they just do get and set the values but once you cut this or once you take this use case and put it aside there are a lot of interesting use cases and you did this search I did my searches like there's I can look for the link but there's this kind of website that lists all message brokers queue managers and stuff like that all technologies and besides appearing them as redis redis because it can do pub sub it can do lists it can do for queues and now it can do streams redis is also there because I think half of the tools use redis in order to increment their logic like all sorts of things like celery and side cake for different languages like queue managers so it's not surprising to see redis so widely used because it really offers and it always has and hopefully always will continue to offer the basic building blocks or the basic data structures if you will to build applications not just any old application but basically distributed scalable high performance applications that's redis is a mandatory infrastructure for this type of application I'd say fact that it's very generic and gives you these like there's this analogy of Lego blocks or building blocks that we use sometimes gives you the building blocks to increment easily distributed logic that's now let's talk about modules modules is a big thing it's a big thing because there are so much to it we redis labs and personally I or myself or me I don't know one of us were the proponents or instigators for modules in redis we really when Salvatore joined us one of the first things we did was to sit down with it we actually brought him to the to the home office in Tel Aviv where all of us developers were sitting and one of the biggest things we talked about was modules which isn't like a new idea it's if you look at modules in redis you can see that in the first version of redis where Salvatore sent the email about announcing the the thing version one at the bottom he said and in the future I would like to see modules in it and all sorts of things so like five or six years later it actually came to fruition the thing about modules that one needs to understand is why modules are needed there is this lovely project which I think I've mentioned it's called redis it's an open source project used to be led only by Salvatore by the way there was a transition in the governance of the project you may want to touch upon later but basically Salvatore was the dictator or the benevolent dictator there and if I had a contribution to redis that isn't a type of fix and isn't a bug fix even but maybe a new feature or a sub feature that I thought people would really need and I definitely needed for my application I had I think three choices I could go to redis says repository and make a pull request and the likelihood of that being accepted was almost zero because there are a lot of pull requests not all of them get reviewed or got reviewed and not all of them get accepted so I could perhaps try and code it using lua in redis or in my client which is a sucky solution sometimes and the last option I had to have my little feature in redis is to actually fork redis and start maintaining my own fork back porting every with every release porting my feature to it and so forth all all options were very bad now when you discuss a small feature like a new command or not even a new command but a variant on a command that filters something or does something better or adds something you could argue that you could still do it in lua or in the client when it comes to much bigger things it's very hard to do it client side and with lua for example not that there's a module for that but they can give an example in redis I don't remember diversion certain memories failing but then one version of redis subator introduced what's called as geospatial indices which is basically a way to store geohashes in redis and query them I wanted to explore the idea of using geohashes for other stuff not just the bunch of functionality that redis offer and tried to create a sort of a lua library that extends redis with more commands like maybe a polygon search which is a very complex example but other examples are simpler the problem with that was that it was it was very hard to develop but apart from that end use but apart from that it wasn't performed so here you have redis and in memory keycasts glazing fast database and anything you want to add to it becomes sloping at a slow a very slow experience which is bad so we wanted or I think this is this was a request from the community largely represented by redis labs but also from other people to have a way to extend redis still maintain the same benefits stability and performance without having to clone redis and there were a few technical hurdles to go over the biggest hurdle from Salvador's perspective was there were two hurdles actually one which we have installed is stability basically and module is user land code so anything goes we can't assure both you have redis when someone is using a module so you have to use modules for well-known source not just any old module the other problem was and which Salvador is sold quite brilliantly was he wanted to have a compatibility between different versions of modules and different versions of redis so if I have a module that was developed for redis 5 and now there's redis 6 I can upgrade my redis 6 and the module not only continue running but I would I could basically use the same binary so I'm talking about binary compatibility as well but once that got like designed and so we got the first version of modules API and started working with it I was one of the beta tasters and like I could tell the few modules in my time so it was a really great experience it was like a rush of joy somely the skyward element you could add anything to mod with the module to redis I think three or four years later when you look at it today I see what happened with modules I think modules are on all a good approach redis labs we in redis labs identified a few interesting directions but we want to take redis 2 that is take redis in a sense redis is an engine redis is a server it gives us a lot of infrastructures in terms of scaling persistence iability we even have clients in every perceivable language and we're exploring the possibilities of leveraging all that plus the performance in other data processing segments so we have research or doing that search and indexing we have redis graph or graph databases which by the way uses a very nice slightly new technology of sparse matrixes and I don't remember all the technical details but it's faster and we're also doing the same with AI now and time series basically trying to marry the redis benefits with the best of read approaches to tackling problems in data processing nowadays so all in all I think modules are a great great approach I don't see modules becoming these modules anyway becoming a part of redis itself it doesn't make sense redis itself the core needs to be the core generic it may include modules in the future the core but modules that are generic enough and I hope to see more modules coming the real problem of the module development is that the barrier is a little high to enter there interesting perspective i don't know especially the the the the the reason development there you just touched on a very important subject over the summer there was a lot of news as in headlines with the change of the governance in the project because a saboteur step down maybe you want to kind of elaborate a little bit on this one and especially kind of the new governance structure in contrast to saboteur being essentially the owner the benevolent benevolent dictator for life and now the kind of team approach that is the case not only so it wasn't a real surprise for anyone who was monitoring the project or following even saboteur and like I remember from a long time ago that he said I want to do redis or ten years or something like that like when you talked about projects you thought there he said there are little projects which I go through which I finish after a week or a month but redis is the kind of project I want to spend a lot of time with like in a ten years time frame and he certainly did that but the project and I think I touched it has gone through several stages it was created it got popular over time more people joined more users requests and eventually I wouldn't say plateaued but it came to a point where a lot of work is needed in just maintaining it and improving the existing besides creating new features which is what under isn't I think every developer in the world really likes we all like to develop new shit we don't like to maintain it at least that's my view as a semi-developer so I think at the end of the day and after such a long time saboteur just needed to breathe he wanted the project to continue he just wasn't able to both maintain it develop it and do everything around it and we were preparing for that after he joined the company our developers some of our developers got to work with him more closely and get more insight into his code base and the ways thinking and designing and it's only natural that when he decided it was time to step back and he's still with redis labs and he's still involved and all that but he's not doing day-to-day coding or answering GitHub issues he basically appointed two of the top brilliant people in the world and serve me in redis labs to take over the project in the sense of leaving it now the fact that he gave it to two people that is you'll see go Cleveland the Oranagra to amazing developers basically changed the rules of the game it's no longer just one with all the pressure of being the sole dictator there are benefits to being a dictator like you say something and whether you're right or wrong this is what happens but the minute it got split between two it was it's not it's either one or more it's not two and it's it's a good approach because the project is currently at the scope where it's I think it's big enough to to fit into a couple of people's brains we need experts in different domains we need there there's a lot of interaction there's a lot of tasks so it's more than just one person and it's still just open source right we're not it's not but we're actually monetizing off it it's basically put out there and we'll be continued to put out there for the good of everyone I hope to use and grab freely we're not changing the license despite whatever you've heard it's always going to be free BSD3 so basically once we've changed the governance from a single person to multiple the next logical step was to expand this and leverage on the existing community that we know Redis has so the governance that we shape is now made out of the governing body to which we've invited to notable and contributors to Redis one of them is from Amazon Web Services Madeline Olson and the other is Zhao Zhao from Alibaba both of them have been loitering and bugging us and talking with us in the repository making good code contributions good reviews good points and really understand their Redis they know their Redis so these guys sorry girl and guy are also part of the governance I also got invited by the way not as a developer and like the non-technical member and right now we have this body of five people who share the load maintaining and taking care of the Redis project it may seem like a huge jump jump from one person in charge of the project to five but in reality it's it's a big challenge because Salvatore wrote the entire thing almost or 90% or 95% of the thing so we was aware of what it did more like revealing what happened or studying areas in the code base that we don't really know he had the entire code base basically in his head whereas we have to go back and study it but there's also a lot of backlog if you will in the project things that we feel have been neglected and we'd like to clean the table we want to be one of the goals of our governing body is to be more open and more accepting not in the sense that he wasn't but we want to encourage people to contribute to Redis we don't see ourselves as the sole developers of Redis quite on the contrary thank everyone in the governing board would like just to be at the position where they can do code reviews or even not that have people who do code reviews and just like navigate the idea of the core governing body is to set the direction and see how Redis should go it's not necessarily implemented and we think that the only way to scale the development of Redis and the open source project of course is have more able developers join the efforts any kind of developer in any aspect whether it's the docs whether it's the tooling whether it's testing whether it's you name it we can't cover everything we know each one of us is just one person and we are only five at best and none of us is maintaining Redis open source as his day job all of us have other jobs right so we definitely want to encourage more participation and this is I think the biggest challenge for Redis now how do we find a track nourish help people who want to help and are interested in contributing to the project we started that basically we've established a milestone in the Redis repository it's called the 6.2 milestone we want to release the next version of Redis 6.2 by the end of this year or early in the beginning of next year we see that version is a version that's less about new features but and more about like we call it gap completion or API completion or just making sure that a lot of often requested things that were you that were requested in the past get into 6.2 so new commands we need to we don't want to break we use some antical versioning now so we can't just roll out patch with new commands we need a minor version at least so we are planning to release the next minor version that is 6.2 which will include a bunch of new commands basically as much as we can show there that we can if we get the time to implement them plus a few optimizations and stuff that are too risky to do in the patch but the milestone as is I hope most of the things will get into Redis 6.2 but it's depending on assistance from the community even if all of us could work with it I'm not sure we'll get the bottom of the pile of features and stuff we need to do there so this is the next test or the next challenge for us I think as a governing buddy of Redis see how we can make the development projects development stickier and more compelling to people to just join and start helping pick a feature or pick an issue and start coding with our guidance of course but we want people to be independent and then we're looking for help. Okay on the census it sounds like self-taughted the bulk of the work in the past and since the transition how have you seen I guess new contributors is taking on that as you are kind of looking for to contribute to Redis have you seen I would you describe how it takes so far I understand you're looking for more all in all I think we're doing really well or maybe you need to edit that out because I don't want people to think we're doing too well it's it's a gradual process all right it takes time to bootstrap that it takes time to get into the rhythm it takes time to get the message out it's not an instant powder that you can mix in a cup of water and just drink it that said I think it's going great both because the core team is really stepping out up up for it Oran is doing an amazing job is super responsive and that's I think one of the critical things you have to have you need to be responsive so he's covering the repo from one side to the other he's responding to new issues he's also going through older issues and giving them love and care we're also doing that but he's doing it very very is very focused on that now and I see the return on the investment immediately because even people who almost lost hope because their PR is collecting dust and dropping for years just having someone go there to their PR given that maybe give a few pointers and showing the willingness does a lot of good that said we also started a new team or I don't know how to call it but another team called Redis contributors not just the core developers with Redis contributors these are developers who we think are promising and are interested so they have more privileges in the repo they can do triage or issues we sometimes ask them to do specific tasks if we have or they can pick specific tasks so we have two two guys to to developers in the repo in this group now and they're helping us a lot so again these are all exponential like how do you measure a growth from zero to one or from zero to two or one to five these are like scales but it's still baby steps and we're doing it very very we're taking it slow on purpose we don't just want to open everything and start everything we want to see how it works and make sure that we can support that that said we want to continue we need to increase the volume and the velocity because at the end it's a win-win situation the more people who contribute the more everyone benefits that has been more than interesting or some are given the fact that we are almost kind of on top of the hour and I think the final question from me where do you see the future of the project going forward now with a new governance structure in place and the road ahead it's a great question so yeah we actually did some preliminary work to identify explore brainstorm on where could we go next the good news is there are a lot of directions we could go there are without naming them features and capabilities that we heard we think people will enjoy using in redis whether they are based on streams one of the tasks for example one of the things I'd like to see in the future is what we dubbed as streams version two streams is a great data structure by the way introduced like a couple of years ago we already see people using it but we feel that it could be even more awesome so streams version two which will offer some convenience tools sure but also a better way to consume streams especially in large deployments that's one way one direction I'd like to see redis going basically some of the streams need some I think love and care to make it to take it to the next level but there are also like totally or the conical features which are not necessarily streams related whether it's a new data structure that could be added to redis stuff like one of the most requested features in redis is the ability to expire elements inside a hatch or any nested data type for that matter so we're examining that or seeing if we can give something that will solve this problem and others maybe perhaps even add there I say it a schema to redis which is as old no SQL databases are a schema list database so maybe we need a schema in redis oh yeah hopefully and that's just like the least tricky there are lots of talks there are lots of ideas itch with its o-marits its own challenges but uh and we're still evaluating that right we're trying to listen to everyone both redis slots customers AWS customers alibaba customers we now have like a very broad view of redis users in that sense but it basically we have a lot of ideas and I could go on and on listing them and getting wild I can even say distributed turns actions but all of these ideas whether good or bad are definitely major tasks and which brings me back to my previous points I don't think anything substantial is going to happen without a the governing buddy make setting the direction that is establishing a road map or a wish list of sorts leases what we want or and this is basically what we're doing with the milestone and we're planning to make it even more visible and explain what we want and on the other hand other people helping the project to do it because the fact that I say that I want feature leaks does not mean that I can do it or that I have the time to do it and this is open source I can say and so tomorrow I want it but until someone does it it won't happen so it all boils down to the communities that aspect here yeah that's a good one I picked up on the requirement to expire past ashes before that's not something that I've had anybody ask for myself but yeah that's certainly a good one and I can't think there's maybe you can explain to me like I know that the feature exists and I can guess why some people would want to make this feature or want to have this feature especially given the thread is can expire keys but not nested elements but I can't for the life of me I find very hard to find the right use case or use cases for that that is expire certain fields in the hash why not expire the entire hatch yeah exactly yeah I would agree with that that's a tricky one but if if there was a good use case a compelling use case it would be much easier to push this forward but it's a tricky thing to implement there are it's a trade-off right so you either paint performance inaccuracy or memory or both but in order to make that sacrifice I need the good excuse and I just can find it so this is kind of on our wish lists other things are granted much more urgent and important I guess but still require significant effort yeah I know I'd like to like the fact that you're expanding on stream as well that's that's one of my favorite data types definitely in in minutes yeah but that's something on the list as well it is it's not that you have set your goals as in for ready seven we want to achieve x-1 z test such it's more of a so we currently put it on the sort of we call it the six oh six two and next year wish list which is kind of leading to red is seven streams version two is on that list which is semi-public and some will be very public for streams specifically it requires a big effort because there are few missing commands if you will like people ask for a command that does this or that and a few missing ideas but we feel that we need someone or some buddies need to take like a few minutes to sit and see the entire picture not just go and sporadically add a command that will be out of sync with the entire effort like so in that sense it's a bigger effort than just like adding a simple command to I don't know to a h get set for example and yeah I think one of the things we're missing is our users our community both in help but also in inputs I'd love to have like people who are using streams feel very comfortable to come somewhere to the developers because before that everyone knew Redis or was interested in Redis's development knew Subator was so they'd grab him on Twitter or maybe meet him in a conference when in a we remember when times we had conferences right yeah now we go but yeah so nowadays we don't have Subator to collect the feedbacks we don't have conferences at least now and even if we had I don't see us going to conferences like the developers are more interested in developing not going to conferences so I think one another thing is collecting feedbacks not just from the repository for people opening an issue just like how do you use it what else do you want from it what would make your life easier certainly but maybe listen to this podcast will help people to come forward okay this brings us pretty much to the end of the of this episode in itamar that has been more than interesting especially the historic bits the future bits so to speak and it has put it certainly for me a different perspective on one of the most popular no-cycle projects I suppose any parting thoughts itamar before we round this off I just want to wish everyone here Martin Chris and our listeners leave long and prosper indeed excellent and would that work itamar we would like to see you should see my hand we don't have video itamar thank you very much for for for for all of your insights and for for for great show Martin yeah my song very very good stuff to you one of my favorites okay this is pleasure and looking forward to having you on the show once again in the future okay that was a very interesting interview Martin don't you think it was it was he certainly could speak to me but then you you'll find that you'll find in talking at many British conferences as well that's true but wait full disclosure we both used to work with itamar at Redis Labs before Martin did you leave yeah no no no Martin decided to defect to another company this year and he's now looking after some GPU database swindle or some letters I don't know anyway funny funny funny enough of course Redis Labs is also the company where Martin and myself met you could actually push it that far and say that actually Redis Labs is unknown to many the breeding ground for something called little cell laws well that is labs plus a certain amount of beer but yes in a Prague establishment that show that show go unnamed for the time being good plan okay on to the on to the boxes Martin what do you have this week boxes poor I have had zero time I have some anti-poxies which is well I have one anti-poxies windows let's yeah let's get into this during the next episode which is about two hours long the lowest of windows and others if you want something like windows this is great a Linux container and you'll have a lot of time yeah you could also of course use double something called w's wsl 2.0 if you want to guess is it not okay great maybe maybe the topic for another episode my box of the week is a book called on the boat it's a setter whatever you want to call the parody of the original Jack Kurek Kerouk sorry Kerouk book on the road and it's just absolutely recommendable in terms of where Kerouk originally is way too serious this book written by let me double check Mike Lecher yes Mike Lecher you of course you'll find the link in the show notes basically seriously takes the piss at on the road essentially the original story set in modern times not some not not not a gang of people coming back from the war but rather on the roads between university gigs if you're in fall-ass if you're into a good parody don't miss this book that's the box of the weeks of the week we get we get and now onto your onto your entire box which is of course windows but we already talked about this yes do you want so that's a law I think it has it has been said enough about windows don't try and run any anything on there that's not not originated from windows yeah just out of curiosity I've tried WSI before but that was still with version one version 2.0 hasn't improved because what that apparently did is they put a full one kernel into windows rather than this emulation there well if you're going to run windows and you go and you need even to or and I any other Linux distro just do the old boot so what is the point of this WSL I've tried it a bit and it's just with messy clunky and okay my entire box would do I have an inner box this week all right it's it's still well actually last week was Biden sorry last episode I make it make let's make it trump this this episode because he's still hanging on we're recording this uh epilope sorry this yeah this epilogue on what is it now the seven nineteen the nine teams uh thank you Martin so trump is still hanging on or clinging on to what probably is last hope at this very point in time I suppose trump if you listen to this get a get out of the white house that would be my recommendation yeah and with that oh yeah of course we have to tease Martin we have to tease the next episode that is the famous christmas slash new yet episode which is funny enough season one episode twenty will be a christmas slash new year special did um where we will talk about things past things present and things future so if you're interested in few in the future for those few listeners who are please make sure to check this out and make sure that you have eight hours better uh with this that's short I thought we were talking more like twenty hours or something maybe we can split this up into like with with the b size yes and main episode and then of course the extended read one going for more like a day or two okay add of course another teaser there will be a special episode of the dark side as in tech support say no more because we're still working on the details somewhat so stay tuned and see if you're talking Christmas by the chance yes say again as a feature for all the christmas but uh well i cannot reveal too much so just stay tuned this episode is targeted for 31st of December it will be of course on hpr like all our shows are apart from the b-sides so stay tuned and looking forward to another christmas no not another christmas special looking forward to this special christmas episode and of course you with your listeners see you then and there this is the linux in laws you come for the knowledge but stay for the madness thank you for listening this podcast is licensed under the latest version of the creative commons license type attribution share like credits for the intro music go to blue for the songs of the market to twin flames for their piece called the flow used for the second intros and finally to select your ground for the songs we just use by the dark side you find these and other details licensed under cc hmando a website dedicated to liberate the music industry from choking copyright legislation and other crap concepts you've been listening to hecka public radio at hecka public radio dot org we are a community podcast network that releases shows every weekday Monday through Friday today's show like all our shows was contributed by an hpr listener like yourself if you ever thought of recording a podcast then click on our contributing to find out how easy it really is hecka public radio was founded by the digital dog pound and the infonomicum computer club and it's part of the binary revolution at binwreff.com if you have comments on today's show please email the host directly leave a comment on the website or record a follow-up episode yourself unless otherwise status today's show is released on the creative commons attribution share a light 3.0 license