写点什么

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:2018435

评论 1 条评论

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

MyBatis resultMap元素的用途是什么呢?

@下一站

技术 mybatis java; 11月月更

ModelWhale 教学实训模块,更流畅的作业编写及提交体验|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 编程建模 教学实训

基于云原生技术的融合通信是如何实现的?

阿里云CloudImagine

阿里云 云通信

腾讯云原生容器服务发布三大新能力,创新自研技术助力企业降本增效

科技热闻

关于不法分子冒用我司名义虚假招聘的严正声明

嘉为蓝鲸

RocketMQ 的消费者类型详解与最佳实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

互联网企业面试必问Spring源码?搞定Spring源码,看完这篇就够了

钟奕礼

Java java面试 java编程 程序员‘

企业想要高效运营,还需要选择瓴羊Quick BI软件

流量猫猫头

大数据

10 个杀手级的 Python 自动化脚

千锋IT教育

三年后端开发:拿下阿里/腾讯/美团等四个大厂的Offer后,总结如下

钟奕礼

Java Java 面试 程序员‘ java 编程

springboot整合canal

@下一站

Java 程序开发 spring-boot 11月月更

SpringMVC常用注解

@下一站

软件开发 程序 Java‘’ 11月月更

新时代冠军企业成功硬道理:人效管理与可组装式HCM SaaS

ToB行业头条

阿里云洛神云网络集中式网关丨技术解读与产品实践

云布道师

云网络

对话Neo4j首席科学家Jim Webber:图数据库江湖5年后将尘埃落定

Neo4j 图无处不在

neo4j 图数据库 知识图谱 非关系型数据库 图技术

2023 重学 Angular

PingCode研发中心

前端框架

图计算的黄金时代 知识图谱背后的数据价值

Neo4j 图无处不在

neo4j 图数据库 知识图谱 图计算 图技术

Lattice - 面向高可扩展的业务框架

原力在线

架构 中台 插件 lattice 业务平台分离

Spring MVC 和 Struts 的区别是什么?

千锋IT教育

嘉为科技宋蕴真:观测不止于监控,让运维不开盲盒

嘉为蓝鲸

运维 智能运维AIOps

8年程序员年初被迫毕业,前后面试30家公司,如今终于上岸

Java永远的神

程序人生 后端 java程序员 java面试 面经分享

跟误告警说再见,Smart Metrics 帮你用算法配告警

阿里巴巴云原生

阿里云 云原生 Grafana

精彩回顾 | 云原生系统软件的产业应用

BoCloud博云

云原生

10月&11月书单

图灵社区

书单推荐

火爆全球的“饺子皮”3D手办原来是这样做的!关键时刻少不了远程控制软件!

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

蓝鲸研运体系在腾讯内是如何应用实践的?

嘉为蓝鲸

运维 智能运维AIOps

aPaaS是什么(aPaaS与iPaaS的区别)

优秀

aPaaS ipaas

SAP MM 使用两个STO实现免关税跨国公司间转储

SAP虾客

构建基于 Ingress 的全链路灰度能力

阿里巴巴云原生

阿里云 微服务 云原生w

重磅 | 九科信息与达梦完成产品兼容性认证,携手共建信创生态

九科Ninetech

MegEngine Inference 卷积优化之 Im2col 和 winograd 优化

MegEngineBot

深度学习框架 卷积 MegEngine

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