最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

Redis 之父退出开源项目维护:人生苦短不想上班

  • 2020-07-03
  • 本文字数:2651 字

    阅读完需:约 9 分钟

Redis之父退出开源项目维护:人生苦短不想上班

Redis 之父 Salvatore Sanfilippo 决定不再担任 Redis 项目的软件维护者,Redis 项目放弃之前的专制管理模式,转而采用新的“社区自治模式”。


两天前,Sanfilippo(又名 antirez)在自己的博客上发布了一篇公告,表示将不再担当 Redis 开源项目的软件维护者,并“将 Redis 交给 Redis 社区”。这意味着 Redis 项目的未来命运将由整个社区决定,而不再单纯掌握在 Sanfilippo 一个人手中。



Sanfilippo 的公告受到了业界的强烈关注,以至于他在 Twitter 上感慨说:“简直不敢相信我收到了如此多的消息:)即使有些听起来像是我死掉了一样(大笑),这有点像参加自己的葬礼呢…”


Redis 以后怎么办?

Sanfilippo 于 2009 年初启动了 Redis 项目。经过一段时间的发展,Redis 数据库在缓存领域大放异彩,成为支持大规模后端交易以及内容服务系统的重要实时数据库选项之一。


Redis 数据库以开源形式全面开放,其中的企业级功能与 Redis 模块则分别采用不同的许可协议。根据 DB-Engines 的报道,Redis 已经成为领先于 Amazon DynamoDB、微软 Azure Cosmos DB 乃至 Memcached 的最受欢迎键值存储解决方案。去年,Redis Enterprise 还以托管服务形式登陆 Google Cloud。


但作为 Redis 项目的支持方以及负责销售 Redis 企业模块的厂商,Redis Labs 去年在一片争议声中更改了其开源许可条款,希望阻止竞争对手(特别是 Amazon Web Services)将 Redis 软件重新打包为其他竞争性产品。


发展到今天,Redis 的成功基础已经从 Sanfilippo 个人变成庞大的技术社区。Sanfilippo 退居二线之后,空出来的维护者角色将由 Redis 项目新任负责人 Yossi Gottlieb 与 Oran Agra 接管。


Redis Labs 在官方博文中指出,Redis 项目的基因中“有着明确的原则性,例如追求简单高效、强调少而精的解决能力、以正确的判断为导向等。这一切,都是为了让项目能够在发展道路上走得又快又稳。”



“随着 Salvatore 的退出,再结合项目当前的规模,Redis 已经不适合再搞一言堂式的管理模式。我们认为 Redis 正好可以借此机会调整治理模式,希望新模式能够促进团队合作与组织结构优化,让我们进一步扩大项目的开发与维护流程。新的治理模式旨在强调精英管理制度,任何愿意为项目长期付出并做出重大贡献的参与者,都将拥有对应的决策权力。”


Redis 核心团队将继续负责 Redis 核心项目——核心项目属于 Redis 体系的组成部分,位于 Redis 主 repo 内并采用 BSD 许可。

天天“上班”,让人怎么创新?!

Sanfilppo 在他的博客公告中表示,他已经不想再继续担任该软件的维护者,因此决定后退一步,在 Redis Labs 中担任“谋士”。


“最近几年来,我每天的工作内容发生了很大变化。我把大部分精力花在检查其他开发者提交的 Redis 代码、改进代码质量以及提升软件正确性、速度与安全性方面。但我真的不喜欢这类维护工作。”他还提到,根据自己的编码习惯,他“更愿意当个有脾气的艺术家,而不是那种有求必应的程序员。



退居二线的决定,其实他在一年前就想好了。


一年前,Salvatore Sanfilippo 发表了一篇博客说:“我觉得之前 Redis 之所以能够快速普及,就是因为我能够按照自己的思路设计并编写软件。但现在我的工作重心发生了变化,每天得花大量时间查看问题并提出请求。”


“我有时候会丢掉问题审查和 PR 方面的工作,花几个礼拜时间跑去写代码或者做设计:后者才是我真正喜欢的工作。但这反过来又给我心理带来了巨大压力——做喜欢的事已经违背了我的角色定位,这种感觉太痛苦了。”所以他不得不考虑“转换角色定位”。


他在博客中重点谈了谈全年无休的上班生活使人无法放松,从而无法做一些创造性的工作。而他更喜欢的是“编程”这样的事儿,他在 Twitter 上也说道,“人生苦短,不能一直都做同一件事情”,得赶紧开始另一种生活。


网友纷纷在他的 Twitter 下留言:


您应该相信,您确实创造了一段 IT 历史。

恭喜您重生!

慢慢来。我最近休了一年假,这是有史以来最好的举动。

大家因为您的工作而联系在一起,就好像已经认识您很长时间了。因此,我们为您辞职感到难过,但很高兴您能尝试一些新东西。

附上 Redis 之父一年前的博客文章《开源项目维护者的挣扎》节选翻译:

首先,在参与 Redis 项目之前,我从没经历过那种全年无休的工作体验。以往我可以工作一个礼拜,休息两天,然后工作一个月,再休息两个月之类。人总是需要充电,放空自己来获得新的能量与灵感,只有这样才能做好创造性工作。没错,高层次的编程就是一种令人着迷的创造性工作。Redis 在头两年的发展当中也是如此,那是段美好的经历。结合个人经历,我觉得想工作的时候才工作,总体产出要比每天被迫固定工作还更高一些


但在公司上班之后,职业要求成了我的“紧箍咒”。为了靠开发 Redis 赚钱,我必须得强迫自己按照正常的时间表工作。在我看来,这是对多年个人习惯的一种破坏。而且我敢肯定,实际产出是不及当初随性开发阶段的,但工作就是工作,没有太多可以商量的余地。我也不知道该怎么解决这个问题。我当然可以向 Redis Labs 反映,要求回归原先的工作方式——但这样没用,因为现在我的报告对象已经不是公司,而是整个 Redis 社区。


另一个问题是,从心理层面讲,长期从事同一个项目确实非常累人。我几乎每六个月就要进行一次项目变更,而且同样的工作已经持续了十年。为了解决问题,我尝试在 Redis 中引入多个子项目,让自己保持一点正常的激情和神智。比如抽点时间做 Cluster,过一阵子再做 disk-storage(已经被废弃),然后是 HyerLogLogs 等。总之就是尽量把大型项目拆分成一个个孤立的有价值元素。但最终,工作总是回到“问题和 PR”上,让生活再次陷入没有停歇的重复。“发生超时,副本断开连接”才是生活的真谛,咱们看看出了什么状况吧……



有时候,我觉得软件成果虽然很棒,但永远不可能像经典著作那样永世流传。这并不是说软件本身不好,而是软件具有动态特性,其中某些部分总会随着时间推移被替换掉。所以我越来越感觉自己做的一切都是在浪费时间。我们设计和编写的系统,终将被新的系统取代。但在另一方面,如果我们能够在软件开发方面更进一步,强调“软件开发中所蕴含的伟大创意”这个意象,是否能树立起新的标杆?我觉得自己或多或少有一点发现伟大创意的潜力,但现在的工作迫使我只能专注于编写软件,而不是思考软件的深层含义,那这种潜力根本没有发挥的余地。可能是我自视过高了,我应该更谦虚一点,抱歉抱歉~


参考链接:


https://www.zdnet.com/article/redis-database-creator-sanfilippo-why-im-stepping-down-from-the-open-source-project/


http://antirez.com/news/129


2020-07-03 17:2016793

评论 1 条评论

发布
用户头像
不错的想法!
2020-07-18 10:15
回复
没有更多了
发现更多内容

五分钟给你的 gRPC 服务加上 HTTP 接口

万俊峰Kevin

Go 微服务 gRPC web开发 go-zero

腾讯发布第二季度财报,腾讯云数据库收入同比增长超过30%

科技热闻

【精通内核】深入理解汇编语言

小明Java问道之路

指令集 寄存器 汇编语言 8月月更 机器语言

自媒体代运营为何被诟病,代运营的水有多深

石头IT视角

【LeetCode】课程表Java题解

Albert

LeetCode 8月月更

我做了个《联机桌游合集: UNO+斗地主+五子棋》无需下载,点开即玩!叫上朋友,即刻开局!不看广告,不做任务,享受「纯粹」的游戏!

HullQin

CSS JavaScript html 前端 8月月更

计算机网络(二、物理层)

计算机网络 8月月更

直播商城系统——直播和电商的合理有效结合

开源直播系统源码

软件开发 直播系统源码 直播带货系统 直播商城系统 直播app系统

迄今为止最完整的DDD实践

阿里技术

DDD 经验分享

我眼中的无影云桌面‖云桌面使用者角度

乌龟哥哥

8月月更

付费会员之我见(43/100)

hackstoic

商业模式

阿里云鲍文乐:基于事件的自动化运维最佳实践

阿里云弹性计算

事件 自动化运维 CloudOps

Kubernetes 云原生日志构建

CTO技术共享

开源 签约计划第三季 8月月更

基于CC2530(ZigBee)设计的景观照明控制系统+配套手机APP

DS小龙哥

8月月更

Web登录很简单?开玩笑!

TimeFriends

8月月更

【React源码系列】React Context原理,为什么我建议尽可能少的使用React Redux管理状态 审核中

爱切图的木子老师

react源码 react context react redux

RocketMQ高可用设计之故障规避机制

急需上岸的小谢

8月月更

悟了,应该都了解分布式架构下负载均衡器吧

知识浅谈

负载均衡 8月月更

文件管理-Linux系统压缩打包

Albert Edison

Linux centos 文件管理 tar命令 8月月更

Kubernetes 重大更改和删除

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes Kruise Rollout

CTO技术共享

开源 签约计划第三季 8月月更

寻找海量数据集用于大数据开发实战(维基百科网站统计数据)

程序员欣宸

大数据 数据集 8月月更

3 分钟温故知新 RxJS 【创建实例操作符】

掘金安东尼

前端 函数式编程 8月月更

【精通内核】汇编下的C语言

小明Java问道之路

指针 C语言 结构体 汇编语言 8月月更

云原生(二十) | 深入了解Kubernetes(k8s)Service

Lansonli

云原生 k8s 8月月更

Go-Excelize API源码阅读(十三)—— GetSheetVisible、SetSheetFormatPr

Regan Yue

Go 开源 源码解析 8月日更 8月月更

预约直播 | 基于预训练模型的自然语言处理及EasyNLP算法框架

阿里云大数据AI技术

深度学习 阿里云 算法框架

C++继承中的多继承语法与菱形继承

CtrlX

c c++ 面向对象 继承 8月月更

低代码实现探索(四十八)后端服务

零道云-混合式低代码平台

圣庭医疗联合创始人谷红仓:高通量基因测序在药物研发和靶向治疗中的应用

阿里云弹性计算

HPC 高性能计算 生命科学 基因测序

应用缺少POI数据,如何开发地点深度信息?

HMS Core

Redis之父退出开源项目维护:人生苦短不想上班_文化 & 方法_Tina_InfoQ精选文章