开源数据库项目Redis迎来新的负责人和包容性很强的行为准则。

Salvatore Sanfilippo(其昵称antirez在圈内更广为人知)周二辞去了Redis的维护者这个职位,Redis是2009年发布的一个流行的开源数据库项目。
Sanfilippo为此特意撰写了一篇博文,他在博文中解释,自己更感兴趣的是开发软件,而不是维护软件。
他写道:“我编写代码是为了表达自我,我把自己编写的代码视作工件(artifact),而不仅仅是完成工作所需的实用工具……现在,我越来越多地被变得如此重要的这个项目带来的种种事务所羁绊,却少了自我表达的机会,多了维护项目的工作。而维护项目的确是Redis眼下所需要的事情,但这不是我想要做的,过去这几年我够忙碌的了。”
在Hacker News之类的在线论坛上和Twitter上,众多人对Sanfilippo所做的工作及其代码的高质量表示了赞赏。
Sanfilippo将开源Redis(全称是REmote DIctionary Server,意为远程字典服务器)项目交到了Yossi Gottlieb和Oran Agra的手上,他们俩是供职于Redis Labs的同事,这家公司于2011年成立,专门提供商业Redis服务。
Redis Labs的联合创始人兼首席执行官Ofer Bengal和联合创始人兼首席技术官Yiftach Shoolman对Sanfilippo这些年来所做的工作表达了谢意,表示这个开源项目的核心仍将采用3-Clause BSD许可证。该公司在2018年和2019年将诸多Redis模块采用不同的许可证,以防止AWS等云服务提供商利用该项目并称霸Redis服务市场。
拥有更好关系的数据库
与此同时,Gottlieb和Agra宣布了Redis的新治理模式;他们解释道,该项目已取得了长足的发展,不再需要“仁慈独裁者”(BDFL)式的管理风格。就在不久前,Guido van Rossum监管Python的做法以及Linux之父Linus Torvald管理Linux内核的做法仍在沿用这种管理风格。
Gottlieb和Agra解释道:“鉴于Salvatore辞去了维护Redis的工作,再也无法像管理BDFL式样的项目那样来管理这个项目的规模。我们认为Redis正好可以趁此机会采用一种新的模式,但愿新模式会促进团队合作、完善项目结构,并让我们可以扩大其开发和维护流程。”
也许值得一提的是,BDFL一词被用于相当多的男性,却很少用于女性,即使女性的确从事维护开源项目的工作。这正是治理模式变化的重心,使Redis对更多样化的人群有更大的吸引力。
正如Redis开源治理页面解释的那样,该项目旨在“做到尽可能友好、尽可能包容”,为此像其他许多开源项目已经所做的那样采用了行为准则(Code of Conduct)。
Sanfilippo是早期那批开源维护者的一分子,他们已意识到了“master”和“slave”等项目代码中颇有争议的措辞。尽管起初不同意必须删除这些术语,但他最终还是删除了。
早在2017年和2018年,这种做法很超前。如今,这成了最基本的做法,Red Hat首席技术官Chris Wright关于“消除有问题的措辞”的帖子就是个佐证。
当时就很显然,Sanfilippo更喜欢专注于其他事情。他在这个问题上表达的观点是深思熟虑的,这些术语似乎不适合目前两极分化的环境。
Antirez的告别博文并没有深入探讨他辞职的具体原因,只表示他不想承担项目维护的重任。不过博文确实暗示着他对现状有所不满。
他写道:“我不太喜欢近几年民间编程界所变成的样子,但即使这并不是轻松的工作,我还是有幸与许多出色的人一起工作和联系。”
The end of the Redis adventure
When I started the Redis project more than ten years ago I was in one of the most exciting moments of my career. My co-founder and I had successfully launched two of the major web 2.0 services of the Italian web. In order to make them scalable we had to invent many new concepts, that were already known in the field most of the times, but we didn’t know, nor we cared to check. Problem? Let’s figure out a solution. We wanted to solve problems but we wanted, even more, to have fun. This was the playful environment where Redis was born.
But now Redis is, incredibly, one of the main parts of so many things. And year after year my work changed from building this thing to making sure that it was also as useful as possible, as reliable as possible. And in recent years, what I do every day changed so much that most of my attention is spent in checking what other developers tell me about the Redis code, how to improve it, the changes it requires to be more correct or faster or more secure. However I never wanted to be a software maintainer.
I write code in order to express myself, and I consider what I code an artifact, rather than just something useful to get things done. I would say that what I write is useful just as a side effect, but my first goal is to make something that is, in some way, beautiful. In essence, I would rather be remembered as a bad artist than a good programmer. Now I’m asked more and more, by the circumstances created by a project that became so important, to express myself less and to maintain the project more. And this is indeed exactly what Redis needs right now. But this is not what I want to do, and I stretched myself enough during the past years.
So, dear Redis community, today I’m stepping back as the Redis maintainer. My new position will be, on one side, an “ideas” person at Redis Labs, in order to provide inputs for new Redis possibilities: I’ll continue to be part of the Redis Labs advisory board. On the other hand however my hands will be free, and I’ll do something else, that could be writing code or not, who knows, I don’t want to make plans for now. However I’m very skeptical about me not writing more code in the future. It’s just too much fun :D
I leave Redis in the hands of the Redis community. I asked my colleagues Yossi Gottlieb and Oran Agra to continue to maintain the project starting from today: these are the people that helped me the most in recent years, and that tried hard, even when it was not “linear” to follow me in my very subjective point of views, to understand what my vision on Redis was. Since I don’t want to be part of how the new Redis development setup will be shaped (that is the most meta of the maintenance tasks, exactly what I want to avoid), I’ll just leave Yossi and Oran the task of understanding how to interface with the rest of the Redis developers to find a sustainable development model, you can hear directly from Yossi and Oran in this blog post: https://redislabs.com/blog/new-governance-for-redis/
I believe I’m not just leaving Redis in the hands of a community of expert programmers, but also in the hands of people who care about the legacy of the community spirit of Redis. In eleven years I hope I was able to provide a point of view that certain persons understood, about an alternative way to write software. I hope that such point of view will be taken into consideration in the evolution of Redis.
Redis was the most stressful thing I did in my career, and probably also the most important. I don’t like much what the underground programming world became in recent years, but even if it was not an easy journey, I had the privilege to work and interact with many great individuals. Thank you for your humanity and your help, and for what you taught me. You know who you are! I want to also say thank you to the companies and individuals inside such companies that allowed me to write open source every day for so many years, with the freedom to do what I believed to be correct for the user base. Redis Labs, VMware and Pivotal, thank you for your great help and generosity.
As I said, I don’t really know what there is for me in my future, other than the involvement with the Redis advisory board. I guess that for some time, just look around is a good idea, without doing too many things. I would like to explore more a few hobbies of mine. Writing blog posts is also a major thing that I wanted to do but did less and less because of time concerns. Recently I published videos in Italian language explaining technological concepts to the general public, I had fun doing that and received good feedbacks, maybe I’ll do more of that as well. Anyway I guess some of you know that I’m active on Twitter as @antirez. If you are interested in what an old, strange programmer will do next, see you there.











