「如果有一天,開(kāi)源項(xiàng)目的開(kāi)發(fā)者、維護(hù)者出現(xiàn)了意外,遺留的項(xiàng)目該何去何從?」
雖然這并不是一個(gè)新出現(xiàn)的話(huà)題,但是對(duì)于主流的文本/代碼編輯器 Vim 而言,卻是當(dāng)下迫切需要解決的問(wèn)題。
8 月 5 日,Vim 之父BramMoolenaar 的家人發(fā)布訃告:“我們懷著沉重的心情通知您,Bram Moolenaar 于 2023 年 8 月 3 日離世”,享年 62 歲。
一直以來(lái),Bram Moolenaar 被稱(chēng)為 Vim 項(xiàng)目的 BDFL(Benevolent Dictator For Life,終身仁慈獨(dú)裁者),管理著 Vim 項(xiàng)目的各個(gè)方面,他的去世讓無(wú)數(shù)使用過(guò) Vim 的用戶(hù)感到痛心,這也是整個(gè) Vim 開(kāi)發(fā)社區(qū)一個(gè)沉重的損失。
他的離開(kāi)給項(xiàng)目留下了巨大的空白。對(duì)于 Vim 的下一步,該如何走?在 GitHub 上的Vim 項(xiàng)目Discussions 頁(yè)面中(https://github.com/vim/vim/discussions/12736),有網(wǎng)友討論:
這里有人有存儲(chǔ)庫(kù)的提交訪(fǎng)問(wèn)權(quán)限嗎?
現(xiàn)在誰(shuí)還能體現(xiàn) Vim 的品質(zhì)呢?
就在昨日,在 vim_dev 郵件列表上,傳來(lái)了 Vim 項(xiàng)目未來(lái)的最新消息。
核心開(kāi)發(fā)者接手,但困難重重
事實(shí)上,Vim 主倉(cāng)庫(kù)除了 Bram Moolenaar外一直還有兩位重要開(kāi)發(fā)者參與其中,其中一位是參與維護(hù) Vim 近 18 年的 Christian Brabandt,他目前是 Ataccama 的解決方案顧問(wèn);另一位是參與維護(hù) Vim 也有十幾年的 Ken Takata。
當(dāng)前,在 vim_dev 郵件列表上,由Christian Brabandt 牽頭,發(fā)起了一個(gè)關(guān)于“Vim 項(xiàng)目未來(lái)”的討論。
幸運(yùn)的是,Christian Brabandt 透露,他和 Ken 已經(jīng)從 Bram 家人那里獲得了 Vim 在 GitHub 上的管理權(quán),可以繼續(xù)訪(fǎng)問(wèn) GitHub 項(xiàng)目組織。
同時(shí),他也邀請(qǐng)過(guò)去曾為 Vim 做過(guò)貢獻(xiàn)的開(kāi)發(fā)者加入 Vim 組織,協(xié)助一起維護(hù)項(xiàng)目。
然而,彼時(shí) Bram 作為終身仁慈獨(dú)裁者,在該項(xiàng)目社區(qū)出現(xiàn)爭(zhēng)議時(shí)擁有最終的決定權(quán)。現(xiàn)如今,其接任的開(kāi)發(fā)者沒(méi)有。
而且,Bram 對(duì) Vim 項(xiàng)目的未來(lái),有著自己獨(dú)特的見(jiàn)解與規(guī)劃。如今的接任者,由于缺乏相關(guān)經(jīng)驗(yàn),在沒(méi)有指導(dǎo)的過(guò)程中臨危受命,必然困難重重。
在這一點(diǎn)上,Christian Brabandt 也在郵件中袒露心聲。其表示,雖然當(dāng)前已經(jīng)開(kāi)始合并 commits,但是僅是嘗試合并 Bug 修復(fù)、安全補(bǔ)丁和文檔更新等其他明顯的改進(jìn)。
其次,在接手過(guò)程中,Christian Brabandt 也承認(rèn)遇到了諸如管理權(quán)限等問(wèn)題。他表示:
Bram 是所有郵件列表的所有者。我還不知道他是如何管理這些郵件列表的,以及如何申請(qǐng)?jiān)L問(wèn) vim-announce 和 vim-mac(這兩個(gè)郵件列表是否仍在使用?)
郵件列表 vim-dev 和 vim-use 目前由我、Tony Mechelynk、John Beckett、Ben Schmidt 和 Ben Fritz 管理(我認(rèn)為后兩位至少不再活躍于 Vim 項(xiàng)目,請(qǐng)通知他們是否仍有興趣管理該列表)。
我還無(wú)法訪(fǎng)問(wèn)主 Vim FTP 服務(wù)器。目前正在與 Brams 家人核實(shí)他們是否知道相關(guān)憑證。
我正在聯(lián)系所有運(yùn)行時(shí)文件的維護(hù)者,以了解他們是否直接向 Bram 發(fā)送了任何文件,否則這些文件可能會(huì)丟失。
“在我們知道如何正確處理所有這些問(wèn)題之前,我們需要一些時(shí)間(當(dāng)我們都同意采用更好的方法時(shí),可能會(huì)有所改變)”,Christian Brabandt 在郵件中寫(xiě)道。
Vim 項(xiàng)目的幾點(diǎn)規(guī)劃
除了以上,Christian Brabandt 還在郵件列表中列出了幾項(xiàng)內(nèi)部亟需解決也是外界頗為關(guān)注的問(wèn)題。
其一,Vim 9.1 是否會(huì)到來(lái)?
對(duì)于這個(gè)問(wèn)題,答案是 Vim 9.1 會(huì)大概率地出現(xiàn)。
Christian Brabandt 表示,在我們處理完當(dāng)前的積壓工作后,我希望能發(fā)布 Vim 9.1 維護(hù)版本。
當(dāng)然在此之前,其打算繼續(xù)發(fā)布一些關(guān)于補(bǔ)丁的版本。
其二,Vim 與 NeoVim 未來(lái)如何共處?
在未來(lái) Vim 9.1 版本發(fā)布之后,Christian Brabandt 表示,想改用更現(xiàn)代的方法,即類(lèi)似于 Neovim 的做法來(lái)開(kāi)發(fā) Vim。
不過(guò),他也表示,「但正如在其他地方討論過(guò)的,這可能會(huì)對(duì)不同的子項(xiàng)目產(chǎn)生一些影響:vim-win32-installer、vim-appimage、macVim,所以不確定什么是最好的方法。」
此話(huà)一出,有不少開(kāi)發(fā)者直接提議,“希望 Vim 團(tuán)隊(duì)能夠與 Neovim 團(tuán)隊(duì)溝通一下,最好是社區(qū)能夠融合”。
所謂 Neovim,是一個(gè)社區(qū)驅(qū)動(dòng)的開(kāi)源項(xiàng)目,是 Vim 文本編輯器的一個(gè)分叉版本,它的構(gòu)建使 Vim 更容易為核心開(kāi)發(fā)人員維護(hù),它是 Vim 文本編輯器的一個(gè)增強(qiáng)的開(kāi)箱即用版本。
那么是否有這種可能性?
其實(shí)早幾天前,Neovim 團(tuán)隊(duì)在官方博客上發(fā)布了一篇悼念 Bram Moolenaar 的文章時(shí),就間接地告訴了外界:不太可能。
Neovim 團(tuán)隊(duì)寫(xiě)道:
“Neovim 一直被有意定位為 Vim 的衍生產(chǎn)品,這意味著它既延續(xù)了 Vim,又與 Vim 有所不同。我深信,分叉可以創(chuàng)造能量,而不是破壞能量。因此,盡管我們無(wú)法在沒(méi)有 Bram 的情況下提供 Vim,但我們可以延續(xù)一些重要的部分:
維護(hù):實(shí)驗(yàn)是好事,這個(gè)世界需要?jiǎng)?chuàng)造性的破壞和有趣的失敗。但 Neovim 并不代表貪新("neomania")。
文檔:Vim 文檔的習(xí)慣顯而易見(jiàn),這也是 Nvim 在 vim 基礎(chǔ)上獲得的最大收獲之一。
可擴(kuò)展性:Bram 自己的 Agide 項(xiàng)目也希望實(shí)現(xiàn)與 Neovim 類(lèi)似的可擴(kuò)展性:
Agide 并不是一個(gè)單一的應(yīng)用程序。可以插入不同的工具。因此,你不會(huì)被迫使用一種編輯器。... 每個(gè)工具都實(shí)現(xiàn)了部分插件接口。
嵌入:Vim 的設(shè)計(jì)--在其生命的大部分時(shí)間里都在宣揚(yáng) Neovim 的這一信條:
Vim 不是 shell,也不是操作系統(tǒng)。......反之亦然:在 shell 或 IDE 中將 Vim 作為組件使用。
還有一點(diǎn):Bram 并沒(méi)有把自己看得太重。他有自己的幽默感。
Neovim 是 Vim 和 Bram 的紀(jì)念碑。我們應(yīng)該務(wù)實(shí),而不是教條;我們應(yīng)該記住目標(biāo)是什么,并將我們的行動(dòng)與結(jié)果進(jìn)行比較。”
另外,也有知乎網(wǎng)友評(píng)論道:
與此同時(shí),HN 上的不少網(wǎng)友也抵觸道,”如果 Vim 沒(méi)有新功能,我不會(huì)關(guān)心。如果 Vim 不再維護(hù)但仍然可以從發(fā)行版中獲得,我仍然會(huì)使用它。如果 Vim 變得不可用(例如由于缺乏維護(hù)),我更有可能切換到 nvi 而不是 Neovim。“
不過(guò),很多人認(rèn)為,Neovim 在未來(lái)可能會(huì)比 Vim 發(fā)展得更強(qiáng)勁。
其三,Vim 項(xiàng)目主頁(yè)遷移與開(kāi)源?
在主頁(yè)近期經(jīng)常不穩(wěn)定的情況下,Christian Brabandt 也提出了自己的解決方案和想法。
他表示,「在過(guò)去的幾個(gè)月中,Vim 主頁(yè)在穩(wěn)定性方面遇到了一些問(wèn)題,尤其是與 MySQL 服務(wù)器的連接問(wèn)題(我目前也無(wú)法直接訪(fǎng)問(wèn) vim 項(xiàng)目頁(yè)面,因?yàn)?osdn.net/projects/vim 對(duì)我來(lái)說(shuō)似乎是關(guān)閉的,但我懷疑這個(gè)頁(yè)面是否真的有人在使用)。它目前由 OSDN.net 運(yùn)營(yíng),由 Shuji Sado(前首席執(zhí)行官)自 2018 年起提供。」
不幸的是,OSDN.net 現(xiàn)在顯然歸 OSChina 所有,他們目前還沒(méi)有得到 OSDN.net 或 OSChina 團(tuán)隊(duì)的任何支持。所以,他也在考慮將 Vim 主頁(yè)轉(zhuǎn)移到另一家提供商。
另一方面,過(guò)去,Christian Brabandt 曾與 Bram 討論過(guò)將主頁(yè)開(kāi)源的問(wèn)題,由此可以接受大家的貢獻(xiàn),保持主頁(yè)的更新,使其看起來(lái)更現(xiàn)代化。但那時(shí) Bram 并不希望這樣做,他擔(dān)心會(huì)泄露一些敏感信息(或使任何潛在問(wèn)題更容易被發(fā)現(xiàn))。
”這當(dāng)然是有道理的,所以還不知道如何處理“,Christian Brabandt 說(shuō)道。
在郵件列表中,對(duì)于 Vim 的主要源代碼,Christian Brabandt 希望在合并任何內(nèi)容之前得到其他項(xiàng)目成員的批準(zhǔn)。而面對(duì)遺留的一些問(wèn)題,其希望能夠在團(tuán)隊(duì)中商量著來(lái)。
開(kāi)源作者去世后,項(xiàng)目誰(shuí)來(lái)繼承?
經(jīng)歷此番事件,也引發(fā)了我們?cè)谖恼乱潦继岢龅摹遍_(kāi)源作者去世后,項(xiàng)目誰(shuí)來(lái)繼承“的思考。
其實(shí),未雨綢繆的思想在任何場(chǎng)景下都需要。有用戶(hù)表示,”數(shù)字遺產(chǎn)是現(xiàn)代人必須要思考的事情,未來(lái)會(huì)發(fā)生什么事沒(méi)人知道。“
當(dāng)開(kāi)源開(kāi)發(fā)者去世或者出現(xiàn)意外時(shí),通常會(huì)有以下幾種可能性繼續(xù)維持項(xiàng)目的發(fā)展:
社區(qū)繼續(xù)維護(hù):如果該開(kāi)源項(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í),開(kāi)源項(xiàng)目的作者可能會(huì)提前計(jì)劃,選擇一些核心成員或團(tuán)隊(duì)來(lái)接管項(xiàng)目的維護(hù)權(quán)。
分叉項(xiàng)目:如果沒(méi)有人愿意或能夠繼續(xù)維護(hù)項(xiàng)目,其他開(kāi)發(fā)者可能會(huì)選擇創(chuàng)建一個(gè)分叉項(xiàng)目,將原始項(xiàng)目的代碼復(fù)制一份,并在此基礎(chǔ)上進(jìn)行維護(hù)和改進(jìn)。
捐贈(zèng)基金或組織:有時(shí),可能會(huì)成立一個(gè)捐贈(zèng)基金或組織,用于維護(hù)和支持該開(kāi)源項(xiàng)目。資金可以用來(lái)雇傭開(kāi)發(fā)者、進(jìn)行代碼審查以及確保項(xiàng)目的持續(xù)運(yùn)作。
項(xiàng)目被放置不變:如果沒(méi)有任何人愿意或能夠繼續(xù)維護(hù)項(xiàng)目,那么項(xiàng)目可能會(huì)被放置不變,直到有人再次愿意接手或者社區(qū)重新組織。
所以,讓 Vim 社區(qū)非常慶幸的是,雖然未來(lái)還存在巨大的挑戰(zhàn),但是好在有 Christian Brabandt 等開(kāi)發(fā)者可以繼承 Bram 的遺志,把他耗費(fèi)多年心血打造的 Vim 工具繼續(xù)傳播延續(xù)下去。
-
VIM
+關(guān)注
關(guān)注
0文章
136瀏覽量
15616 -
編輯器
+關(guān)注
關(guān)注
1文章
816瀏覽量
31688 -
開(kāi)源項(xiàng)目
+關(guān)注
關(guān)注
0文章
38瀏覽量
7409
原文標(biāo)題:Vim 之父去世后,Vim 項(xiàng)目誰(shuí)來(lái)接管?
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Vim編輯器的基本操作

Linux下Vim編輯器的使用技巧

【教程】Chirpstack V3服務(wù)器簡(jiǎn)介和搭建示例

開(kāi)源項(xiàng)目 ! 利用邊緣計(jì)算打造便攜式視覺(jué)識(shí)別系統(tǒng)
【北京迅為】itop-龍芯2k1000開(kāi)發(fā)指南Linux基礎(chǔ)入門(mén)vim 編輯器

評(píng)論