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