相關方法能夠解決與Rspec-Given有關的潛在問題,但是它也讓Searls看到了許多可能出潛在問題。 Searls說:“我們很容易將開源看作一種純粹的技術現(xiàn)象。但是,一旦有些事情產(chǎn)生,并且被其他人所依賴,這也是一種社會現(xiàn)象。”
大多數(shù)軟件包管理系統(tǒng)的維護人員至少有一個專門的流程來轉移對庫的控制權,但是這個過程通常取決于是否有人能夠注意到項目已經(jīng)被孤立,然后自愿接管它。 Ruby Gems項目的Evan Phoenix說:“我們沒有官方政策,主要是因為它不會經(jīng)常出現(xiàn)。 ”我們有一個顧問委員會,用來逐個處理這種類型的事情。“
現(xiàn)在,一些軟件包管理人員會監(jiān)視他們的庫運行狀態(tài),并標記那些很久沒有更新且使用頻繁的項目。協(xié)助維護編程語言Perl軟件包管理器的Neil Bowers說,他有時候會尋找志愿者接管孤立項目。鮑爾斯說,他的小組時常會指出,一個項目已經(jīng)被開發(fā)者放棄,并推薦接管人。
一個“去世開關”
Searls接管Rspec-Given時只有30歲,他為自己的開源項目制定了遺囑和繼任計劃。除此之外,開發(fā)人員還可以針對未來做出其他努力。例如,他們可以將版權轉讓給諸如Apache基金會等其他組織。但是許多開源項目本質(zhì)上是以業(yè)余愛好開始的,所以程序員可能不會想到轉移所有權,想到時已經(jīng)為時已晚。
Searls認為,GitHub和Gems等軟件包管理者可以在他們的平臺上添加一個類似于“去世開關”的東西,如果創(chuàng)建者沒有登錄或者長時間沒有更新,程序可以自動將項目或者帳戶的所有權轉讓給其他人。
而過渡計劃不僅僅是讓人們能夠訪問代碼。Matplotlib是一個Python編寫的2D數(shù)字繪圖庫,在創(chuàng)始人約翰。亨特(John Hunter)于2012年去世后,Michael Droettboom進行了接管。他指出,繼任者也需要了解這些代碼。他說:“有時候只有一個人可以理解部分代碼。知識只存在于一個人的頭腦中。”
這意味著理想情況是,一旦項目被原始開發(fā)人員以外的人使用,就需要讓其他人盡早參與一個項目。 Searls指出,這還有另外一個好處,那就是分配維護項目的工作,以防止開發(fā)人員產(chǎn)生倦怠。