Sanfilippo 的公告受到了業(yè)界的強(qiáng)烈關(guān)注,以至于他在 Twitter 上感慨說:“簡(jiǎn)直不敢相信我收到了如此多的消息:) 即使有些聽起來像是我死掉了一樣(大笑),這有點(diǎn)像參加自己的葬禮呢…”

Redis 以后怎么辦?

Sanfilippo 于 2009 年初啟動(dòng)了 Redis 項(xiàng)目。經(jīng)過一段時(shí)間的發(fā)展,Redis 數(shù)據(jù)庫在緩存領(lǐng)域大放異彩,成為支持大規(guī)模后端交易以及內(nèi)容服務(wù)系統(tǒng)的重要實(shí)時(shí)數(shù)據(jù)庫選項(xiàng)之一。

Redis 數(shù)據(jù)庫以開源形式全面開放,其中的企業(yè)級(jí)功能與 Redis 模塊則分別采用不同的許可協(xié)議。根據(jù) DB-Engines 的報(bào)道,Redis 已經(jīng)成為領(lǐng)先于 Amazon DynamoDB、微軟 Azure Cosmos DB 乃至 Memcached 的最受歡迎鍵值存儲(chǔ)解決方案。去年,Redis Enterprise 還以托管服務(wù)形式登陸 Google Cloud。

但作為 Redis 項(xiàng)目的支持方以及負(fù)責(zé)銷售 Redis 企業(yè)模塊的廠商,Redis Labs 去年在一片爭(zhēng)議聲中更改了其開源許可條款,希望阻止競(jìng)爭(zhēng)對(duì)手(特別是 Amazon Web Services)將 Redis 軟件重新打包為其他競(jìng)爭(zhēng)性產(chǎn)品。

發(fā)展到今天,Redis 的成功基礎(chǔ)已經(jīng)從 Sanfilippo 個(gè)人變成龐大的技術(shù)社區(qū)。Sanfilippo 退居二線之后,空出來的維護(hù)者角色將由 Redis 項(xiàng)目新任負(fù)責(zé)人 Yossi Gottlieb 與 Oran Agra 接管。

Redis Labs 在官方博文中指出,Redis 項(xiàng)目的基因中“有著明確的原則性,例如追求簡(jiǎn)單高效、強(qiáng)調(diào)少而精的解決能力、以正確的判斷為導(dǎo)向等。這一切,都是為了讓項(xiàng)目能夠在發(fā)展道路上走得又快又穩(wěn)?!?/p>

“隨著 Salvatore 的退出,再結(jié)合項(xiàng)目當(dāng)前的規(guī)模,Redis 已經(jīng)不適合再搞一言堂式的管理模式。我們認(rèn)為 Redis 正好可以借此機(jī)會(huì)調(diào)整治理模式,希望新模式能夠促進(jìn)團(tuán)隊(duì)合作與組織結(jié)構(gòu)優(yōu)化,讓我們進(jìn)一步擴(kuò)大項(xiàng)目的開發(fā)與維護(hù)流程。新的治理模式旨在強(qiáng)調(diào)精英管理制度,任何愿意為項(xiàng)目長(zhǎng)期付出并做出重大貢獻(xiàn)的參與者,都將擁有對(duì)應(yīng)的決策權(quán)力。”

Redis 核心團(tuán)隊(duì)將繼續(xù)負(fù)責(zé) Redis 核心項(xiàng)目——核心項(xiàng)目屬于 Redis 體系的組成部分,位于 Redis 主 repo 內(nèi)并采用 BSD 許可。天天“上班”,讓人怎么創(chuàng)新?!

Sanfilppo 在他的博客公告中表示,他已經(jīng)不想再繼續(xù)擔(dān)任該軟件的維護(hù)者,因此決定后退一步,在 Redis Labs 中擔(dān)任“謀士”。

“最近幾年來,我每天的工作內(nèi)容發(fā)生了很大變化。我把大部分精力花在檢查其他開發(fā)者提交的 Redis 代碼、改進(jìn)代碼質(zhì)量以及提升軟件正確性、速度與安全性方面。但我真的不喜歡這類維護(hù)工作?!彼€提到,根據(jù)自己的編碼習(xí)慣,他“更愿意當(dāng)個(gè)有脾氣的藝術(shù)家,而不是那種有求必應(yīng)的程序員?!?/p>

退居二線的決定,其實(shí)他在一年前就想好了。

一年前,Salvatore Sanfilippo 發(fā)表了一篇博客說:“我覺得之前 Redis 之所以能夠快速普及,就是因?yàn)槲夷軌虬凑兆约旱乃悸吩O(shè)計(jì)并編寫軟件。但現(xiàn)在我的工作重心發(fā)生了變化,每天得花大量時(shí)間查看問題并提出請(qǐng)求?!?/p>

“我有時(shí)候會(huì)丟掉問題審查和 PR 方面的工作,花幾個(gè)禮拜時(shí)間跑去寫代碼或者做設(shè)計(jì):后者才是我真正喜歡的工作。但這反過來又給我心理帶來了巨大壓力——做喜歡的事已經(jīng)違背了我的角色定位,這種感覺太痛苦了?!彼运坏貌豢紤]“轉(zhuǎn)換角色定位”。

他在博客中重點(diǎn)談了談全年無休的上班生活使人無法放松,從而無法做一些創(chuàng)造性的工作。而他更喜歡的是“編程”這樣的事兒,他在 Twitter 上也說道,“人生苦短,不能一直都做同一件事情”,得趕緊開始另一種生活。

網(wǎng)友紛紛在他的 Twitter 下留言:您應(yīng)該相信,您確實(shí)創(chuàng)造了一段 IT 歷史。恭喜您重生!慢慢來。我最近休了一年假,這是有史以來最好的舉動(dòng)。大家因?yàn)槟墓ぷ鞫?lián)系在一起,就好像已經(jīng)認(rèn)識(shí)您很長(zhǎng)時(shí)間了。因此,我們?yōu)槟o職感到難過,但很高興您能嘗試一些新東西。 附上 Redis 之父一年前的博客文章《開源項(xiàng)目維護(hù)者的掙扎》節(jié)選翻譯:

首先,在參與 Redis 項(xiàng)目之前,我從沒經(jīng)歷過那種全年無休的工作體驗(yàn)。以往我可以工作一個(gè)禮拜,休息兩天,然后工作一個(gè)月,再休息兩個(gè)月之類。人總是需要充電,放空自己來獲得新的能量與靈感,只有這樣才能做好創(chuàng)造性工作。沒錯(cuò),高層次的編程就是一種令人著迷的創(chuàng)造性工作。Redis 在頭兩年的發(fā)展當(dāng)中也是如此,那是段美好的經(jīng)歷。結(jié)合個(gè)人經(jīng)歷,我覺得想工作的時(shí)候才工作,總體產(chǎn)出要比每天被迫固定工作還更高一些。

但在公司上班之后,職業(yè)要求成了我的“緊箍咒”。為了靠開發(fā) Redis 賺錢,我必須得強(qiáng)迫自己按照正常的時(shí)間表工作。在我看來,這是對(duì)多年個(gè)人習(xí)慣的一種破壞。而且我敢肯定,實(shí)際產(chǎn)出是不及當(dāng)初隨性開發(fā)階段的,但工作就是工作,沒有太多可以商量的余地。我也不知道該怎么解決這個(gè)問題。我當(dāng)然可以向 Redis Labs 反映,要求回歸原先的工作方式——但這樣沒用,因?yàn)楝F(xiàn)在我的報(bào)告對(duì)象已經(jīng)不是公司,而是整個(gè) Redis 社區(qū)。

另一個(gè)問題是,從心理層面講,長(zhǎng)期從事同一個(gè)項(xiàng)目確實(shí)非常累人。我?guī)缀趺苛鶄€(gè)月就要進(jìn)行一次項(xiàng)目變更,而且同樣的工作已經(jīng)持續(xù)了十年。為了解決問題,我嘗試在 Redis 中引入多個(gè)子項(xiàng)目,讓自己保持一點(diǎn)正常的激情和神智。比如抽點(diǎn)時(shí)間做 Cluster,過一陣子再做 disk-storage(已經(jīng)被廢棄),然后是 HyerLogLogs 等??傊褪潜M量把大型項(xiàng)目拆分成一個(gè)個(gè)孤立的有價(jià)值元素。但最終,工作總是回到“問題和 PR”上,讓生活再次陷入沒有停歇的重復(fù)?!鞍l(fā)生超時(shí),副本斷開連接”才是生活的真諦,咱們看看出了什么狀況吧……

……

有時(shí)候,我覺得軟件成果雖然很棒,但永遠(yuǎn)不可能像經(jīng)典著作那樣永世流傳。這并不是說軟件本身不好,而是軟件具有動(dòng)態(tài)特性,其中某些部分總會(huì)隨著時(shí)間推移被替換掉。所以我越來越感覺自己做的一切都是在浪費(fèi)時(shí)間。我們?cè)O(shè)計(jì)和編寫的系統(tǒng),終將被新的系統(tǒng)取代。但在另一方面,如果我們能夠在軟件開發(fā)方面更進(jìn)一步,強(qiáng)調(diào)“軟件開發(fā)中所蘊(yùn)含的偉大創(chuàng)意”這個(gè)意象,是否能樹立起新的標(biāo)桿?我覺得自己或多或少有一點(diǎn)發(fā)現(xiàn)偉大創(chuàng)意的潛力,但現(xiàn)在的工作迫使我只能專注于編寫軟件,而不是思考軟件的深層含義,那這種潛力根本沒有發(fā)揮的余地??赡苁俏易砸曔^高了,我應(yīng)該更謙虛一點(diǎn),抱歉抱歉~

分享到

崔歡歡

相關(guān)推薦