「如果有一天,開源項(xiàng)目的開發(fā)者、維護(hù)者出現(xiàn)了意外,遺留的項(xiàng)目該何去何從?」
雖然這并不是一個(gè)新出現(xiàn)的話題,但是對(duì)于主流的文本/代碼編輯器 Vim 而言,卻是當(dāng)下迫切需要解決的問題。
8 月 5 日,Vim 之父BramMoolenaar 的家人發(fā)布訃告:“我們懷著沉重的心情通知您,Bram Moolenaar 于 2023 年 8 月 3 日離世”,享年 62 歲。
一直以來,Bram Moolenaar 被稱為 Vim 項(xiàng)目的 BDFL(Benevolent Dictator For Life,終身仁慈獨(dú)裁者),管理著 Vim 項(xiàng)目的各個(gè)方面,他的去世讓無數(shù)使用過 Vim 的用戶感到痛心,這也是整個(gè) Vim 開發(fā)社區(qū)一個(gè)沉重的損失。
他的離開給項(xiàng)目留下了巨大的空白。對(duì)于 Vim 的下一步,該如何走?在 GitHub 上的Vim 項(xiàng)目Discussions 頁面中(https://github.com/vim/vim/discussions/12736),有網(wǎng)友討論:
這里有人有存儲(chǔ)庫的提交訪問權(quán)限嗎?
現(xiàn)在誰還能體現(xiàn) Vim 的品質(zhì)呢?

就在昨日,在 vim_dev 郵件列表上,傳來了 Vim 項(xiàng)目未來的最新消息。
核心開發(fā)者接手,但困難重重
事實(shí)上,Vim 主倉庫除了 Bram Moolenaar外一直還有兩位重要開發(fā)者參與其中,其中一位是參與維護(hù) Vim 近 18 年的 Christian Brabandt,他目前是 Ataccama 的解決方案顧問;另一位是參與維護(hù) Vim 也有十幾年的 Ken Takata。
當(dāng)前,在 vim_dev 郵件列表上,由Christian Brabandt 牽頭,發(fā)起了一個(gè)關(guān)于“Vim 項(xiàng)目未來”的討論。
幸運(yùn)的是,Christian Brabandt 透露,他和 Ken 已經(jīng)從 Bram 家人那里獲得了 Vim 在 GitHub 上的管理權(quán),可以繼續(xù)訪問 GitHub 項(xiàng)目組織。
同時(shí),他也邀請(qǐng)過去曾為 Vim 做過貢獻(xiàn)的開發(fā)者加入 Vim 組織,協(xié)助一起維護(hù)項(xiàng)目。
然而,彼時(shí) Bram 作為終身仁慈獨(dú)裁者,在該項(xiàng)目社區(qū)出現(xiàn)爭議時(shí)擁有最終的決定權(quán)?,F(xiàn)如今,其接任的開發(fā)者沒有。
而且,Bram 對(duì) Vim 項(xiàng)目的未來,有著自己獨(dú)特的見解與規(guī)劃。如今的接任者,由于缺乏相關(guān)經(jīng)驗(yàn),在沒有指導(dǎo)的過程中臨危受命,必然困難重重。
在這一點(diǎn)上,Christian Brabandt 也在郵件中袒露心聲。其表示,雖然當(dāng)前已經(jīng)開始合并 commits,但是僅是嘗試合并 Bug 修復(fù)、安全補(bǔ)丁和文檔更新等其他明顯的改進(jìn)。
其次,在接手過程中,Christian Brabandt 也承認(rèn)遇到了諸如管理權(quán)限等問題。他表示:
Bram 是所有郵件列表的所有者。我還不知道他是如何管理這些郵件列表的,以及如何申請(qǐng)?jiān)L問 vim-announce 和 vim-mac(這兩個(gè)郵件列表是否仍在使用?)
郵件列表 vim-dev 和 vim-use 目前由我、Tony Mechelynk、John Beckett、Ben Schmidt 和 Ben Fritz 管理(我認(rèn)為后兩位至少不再活躍于 Vim 項(xiàng)目,請(qǐng)通知他們是否仍有興趣管理該列表)。
我還無法訪問主 Vim FTP 服務(wù)器。目前正在與 Brams 家人核實(shí)他們是否知道相關(guān)憑證。
我正在聯(lián)系所有運(yùn)行時(shí)文件的維護(hù)者,以了解他們是否直接向 Bram 發(fā)送了任何文件,否則這些文件可能會(huì)丟失。
“在我們知道如何正確處理所有這些問題之前,我們需要一些時(shí)間(當(dāng)我們都同意采用更好的方法時(shí),可能會(huì)有所改變)”,Christian Brabandt 在郵件中寫道。
Vim 項(xiàng)目的幾點(diǎn)規(guī)劃
除了以上,Christian Brabandt 還在郵件列表中列出了幾項(xiàng)內(nèi)部亟需解決也是外界頗為關(guān)注的問題。
其一,Vim 9.1 是否會(huì)到來?
對(duì)于這個(gè)問題,答案是 Vim 9.1 會(huì)大概率地出現(xiàn)。
Christian Brabandt 表示,在我們處理完當(dāng)前的積壓工作后,我希望能發(fā)布 Vim 9.1 維護(hù)版本。
當(dāng)然在此之前,其打算繼續(xù)發(fā)布一些關(guān)于補(bǔ)丁的版本。
其二,Vim 與 NeoVim 未來如何共處?
在未來 Vim 9.1 版本發(fā)布之后,Christian Brabandt 表示,想改用更現(xiàn)代的方法,即類似于 Neovim 的做法來開發(fā) Vim。
不過,他也表示,「但正如在其他地方討論過的,這可能會(huì)對(duì)不同的子項(xiàng)目產(chǎn)生一些影響:vim-win32-installer、vim-appimage、macVim,所以不確定什么是最好的方法?!?/p>
此話一出,有不少開發(fā)者直接提議,“希望 Vim 團(tuán)隊(duì)能夠與 Neovim 團(tuán)隊(duì)溝通一下,最好是社區(qū)能夠融合”。
所謂 Neovim,是一個(gè)社區(qū)驅(qū)動(dòng)的開源項(xiàng)目,是 Vim 文本編輯器的一個(gè)分叉版本,它的構(gòu)建使 Vim 更容易為核心開發(fā)人員維護(hù),它是 Vim 文本編輯器的一個(gè)增強(qiáng)的開箱即用版本。
那么是否有這種可能性?
其實(shí)早幾天前,Neovim 團(tuán)隊(duì)在官方博客上發(fā)布了一篇悼念 Bram Moolenaar 的文章時(shí),就間接地告訴了外界:不太可能。
Neovim 團(tuán)隊(duì)寫道:
“Neovim 一直被有意定位為 Vim 的衍生產(chǎn)品,這意味著它既延續(xù)了 Vim,又與 Vim 有所不同。我深信,分叉可以創(chuàng)造能量,而不是破壞能量。因此,盡管我們無法在沒有 Bram 的情況下提供 Vim,但我們可以延續(xù)一些重要的部分:
維護(hù):實(shí)驗(yàn)是好事,這個(gè)世界需要?jiǎng)?chuàng)造性的破壞和有趣的失敗。但 Neovim 并不代表貪新("neomania")。
文檔:Vim 文檔的習(xí)慣顯而易見,這也是 Nvim 在 vim 基礎(chǔ)上獲得的最大收獲之一。
可擴(kuò)展性:Bram 自己的 Agide 項(xiàng)目也希望實(shí)現(xiàn)與 Neovim 類似的可擴(kuò)展性:
Agide 并不是一個(gè)單一的應(yīng)用程序??梢圆迦氩煌墓ぞ摺R虼?,你不會(huì)被迫使用一種編輯器。... 每個(gè)工具都實(shí)現(xiàn)了部分插件接口。
嵌入:Vim 的設(shè)計(jì)--在其生命的大部分時(shí)間里都在宣揚(yáng) Neovim 的這一信條:
Vim 不是 shell,也不是操作系統(tǒng)。......反之亦然:在 shell 或 IDE 中將 Vim 作為組件使用。
還有一點(diǎn):Bram 并沒有把自己看得太重。他有自己的幽默感。
Neovim 是 Vim 和 Bram 的紀(jì)念碑。我們應(yīng)該務(wù)實(shí),而不是教條;我們應(yīng)該記住目標(biāo)是什么,并將我們的行動(dòng)與結(jié)果進(jìn)行比較?!?/p>
另外,也有知乎網(wǎng)友評(píng)論道:

與此同時(shí),HN 上的不少網(wǎng)友也抵觸道,”如果 Vim 沒有新功能,我不會(huì)關(guān)心。如果 Vim 不再維護(hù)但仍然可以從發(fā)行版中獲得,我仍然會(huì)使用它。如果 Vim 變得不可用(例如由于缺乏維護(hù)),我更有可能切換到 nvi 而不是 Neovim?!?/p>
不過,很多人認(rèn)為,Neovim 在未來可能會(huì)比 Vim 發(fā)展得更強(qiáng)勁。
其三,Vim 項(xiàng)目主頁遷移與開源?
在主頁近期經(jīng)常不穩(wěn)定的情況下,Christian Brabandt 也提出了自己的解決方案和想法。
他表示,「在過去的幾個(gè)月中,Vim 主頁在穩(wěn)定性方面遇到了一些問題,尤其是與 MySQL 服務(wù)器的連接問題(我目前也無法直接訪問 vim 項(xiàng)目頁面,因?yàn)?osdn.net/projects/vim 對(duì)我來說似乎是關(guān)閉的,但我懷疑這個(gè)頁面是否真的有人在使用)。它目前由 OSDN.net 運(yùn)營,由 Shuji Sado(前首席執(zhí)行官)自 2018 年起提供?!?/p>
不幸的是,OSDN.net 現(xiàn)在顯然歸 OSChina 所有,他們目前還沒有得到 OSDN.net 或 OSChina 團(tuán)隊(duì)的任何支持。所以,他也在考慮將 Vim 主頁轉(zhuǎn)移到另一家提供商。
另一方面,過去,Christian Brabandt 曾與 Bram 討論過將主頁開源的問題,由此可以接受大家的貢獻(xiàn),保持主頁的更新,使其看起來更現(xiàn)代化。但那時(shí) Bram 并不希望這樣做,他擔(dān)心會(huì)泄露一些敏感信息(或使任何潛在問題更容易被發(fā)現(xiàn))。
”這當(dāng)然是有道理的,所以還不知道如何處理“,Christian Brabandt 說道。
在郵件列表中,對(duì)于 Vim 的主要源代碼,Christian Brabandt 希望在合并任何內(nèi)容之前得到其他項(xiàng)目成員的批準(zhǔn)。而面對(duì)遺留的一些問題,其希望能夠在團(tuán)隊(duì)中商量著來。
開源作者去世后,項(xiàng)目誰來繼承?
經(jīng)歷此番事件,也引發(fā)了我們?cè)谖恼乱潦继岢龅摹遍_源作者去世后,項(xiàng)目誰來繼承“的思考。
其實(shí),未雨綢繆的思想在任何場(chǎng)景下都需要。有用戶表示,”數(shù)字遺產(chǎn)是現(xiàn)代人必須要思考的事情,未來會(huì)發(fā)生什么事沒人知道?!?/p>

當(dāng)開源開發(fā)者去世或者出現(xiàn)意外時(shí),通常會(huì)有以下幾種可能性繼續(xù)維持項(xiàng)目的發(fā)展:
社區(qū)繼續(xù)維護(hù):如果該開源項(xiàng)目有一個(gè)活躍的社區(qū),那么其他貢獻(xiàn)者可能會(huì)繼續(xù)負(fù)責(zé)維護(hù)和更新代碼。社區(qū)成員可以自愿地承擔(dān)領(lǐng)導(dǎo)角色,接管項(xiàng)目的管理和維護(hù)工作。
團(tuán)隊(duì)接管:有時(shí),開源項(xiàng)目的作者可能會(huì)提前計(jì)劃,選擇一些核心成員或團(tuán)隊(duì)來接管項(xiàng)目的維護(hù)權(quán)。
分叉項(xiàng)目:如果沒有人愿意或能夠繼續(xù)維護(hù)項(xiàng)目,其他開發(fā)者可能會(huì)選擇創(chuàng)建一個(gè)分叉項(xiàng)目,將原始項(xiàng)目的代碼復(fù)制一份,并在此基礎(chǔ)上進(jìn)行維護(hù)和改進(jìn)。
捐贈(zèng)基金或組織:有時(shí),可能會(huì)成立一個(gè)捐贈(zèng)基金或組織,用于維護(hù)和支持該開源項(xiàng)目。資金可以用來雇傭開發(fā)者、進(jìn)行代碼審查以及確保項(xiàng)目的持續(xù)運(yùn)作。
項(xiàng)目被放置不變:如果沒有任何人愿意或能夠繼續(xù)維護(hù)項(xiàng)目,那么項(xiàng)目可能會(huì)被放置不變,直到有人再次愿意接手或者社區(qū)重新組織。
所以,讓 Vim 社區(qū)非常慶幸的是,雖然未來還存在巨大的挑戰(zhàn),但是好在有 Christian Brabandt 等開發(fā)者可以繼承 Bram 的遺志,把他耗費(fèi)多年心血打造的 Vim 工具繼續(xù)傳播延續(xù)下去。
-
VIM
+關(guān)注
關(guān)注
0文章
137瀏覽量
16059 -
編輯器
+關(guān)注
關(guān)注
1文章
825瀏覽量
32543 -
開源項(xiàng)目
+關(guān)注
關(guān)注
0文章
38瀏覽量
7546
原文標(biāo)題:Vim 之父去世后,Vim 項(xiàng)目誰來接管?
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
飛凌嵌入式ElfBoard-Vim編輯器之GCC的基本使用
飛凌嵌入式ElfBoard-Vim編輯器之Vim常用操作命令
飛凌嵌入式ElfBoard-常用編輯器之Vim編輯器
RT-Thread studio如何設(shè)置vi/vim編輯模式呢?
Vim編輯器高效操作流程
特發(fā)性震顫ET系列之經(jīng)皮傳入模式刺激TAPS
自動(dòng)駕駛汽車接管邏輯如何設(shè)置更為合理?
Vim編輯器的基本操作
Linux下Vim編輯器的使用技巧
自動(dòng)駕駛?cè)绾卧O(shè)置合理的接管機(jī)制?
【教程】Chirpstack V3服務(wù)器簡介和搭建示例
開源項(xiàng)目 ! 利用邊緣計(jì)算打造便攜式視覺識(shí)別系統(tǒng)
nginx隱藏版本號(hào)與WEB服務(wù)器信息

Vim之父去世后,Vim項(xiàng)目誰來接管?
評(píng)論