你可能沒聽說過 Jim Weirich 或他的軟件,但你很有可能使用過用他的軟件開發的應用。Weirich 幫助創建了多個重要的 Ruby 工具,而 Hulu、Kickstarter 和 Twitter 等都是用 Ruby 語言開發的。Weirich 的軟件是開源的,任何人都可以使用和修改它。
Ruby 開發者 Justin Searls 說,他是西方 Ruby 社區的著名成員。當 Weirich 2014 年去世,Searls 注意到沒人維護他的軟件測試工具,也就是說如果有開發者遞交 bug 修正和安全補丁或改進,沒有人批準變更。隨著代碼變得過時和不兼容,依賴于該工具的任何測試將會失效。這一事件凸顯了開源社區日益增長的擔憂。
如果主要程序員去世代碼會發生什么?軟件無人維護將會導致嚴重問題。當程序員去世或一個軟件項目被遺棄,將會影響到所有依賴于該軟件的人。擁有軟件所有權的人越少,軟件無人維護的風險越大。 Searls 接手了 Weirich 的項目,并為自己的開源項目立下了遺囑和繼承人計劃。大多數包管理系統都至少有一個臨時的程序轉移一個庫的控制權,但這通常是因為在一個人注意到一個項目被遺棄后自愿收養。
Searls 建議 GitHub 和包管理器如 Ruby Gems 加入“dead man's switch”,允許程序員在設定時間內沒有登錄或變更后自動轉移項目或賬號的所有權給另一個人。