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

Redis 以后怎么辦?

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

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

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

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

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

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

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

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

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

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

一年前,Salvatore Sanfilippo 發(fā)表了一篇博客說:“我覺得之前 Redis 之所以能夠快速普及,就是因為我能夠按照自己的思路設(shè)計并編寫軟件。但現(xiàn)在我的工作重心發(fā)生了變化,每天得花大量時間查看問題并提出請求?!?/p>

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

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

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

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

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

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

……

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

分享到

崔歡歡

相關(guān)推薦