相关方法能够解决与Rspec-Given有关的潜在问题,但是它也让Searls看到了许多可能出潜在问题。 Searls说:“我们很容易将开源看作一种纯粹的技术现象。但是,一旦有些事情产生,并且被其他人所依赖,这也是一种社会现象。”
大多数软件包管理系统的维护人员至少有一个专门的流程来转移对库的控制权,但是这个过程通常取决于是否有人能够注意到项目已经被孤立,然后自愿接管它。 Ruby Gems项目的Evan Phoenix说:“我们没有官方政策,主要是因为它不会经常出现。 ”我们有一个顾问委员会,用来逐个处理这种类型的事情。“
现在,一些软件包管理人员会监视他们的库运行状态,并标记那些很久没有更新且使用频繁的项目。协助维护编程语言Perl软件包管理器的Neil Bowers说,他有时候会寻找志愿者接管孤立项目。鲍尔斯说,他的小组时常会指出,一个项目已经被开发者放弃,并推荐接管人。
一个“去世开关”
Searls接管Rspec-Given时只有30岁,他为自己的开源项目制定了遗嘱和继任计划。除此之外,开发人员还可以针对未来做出其他努力。例如,他们可以将版权转让给诸如Apache基金会等其他组织。但是许多开源项目本质上是以业余爱好开始的,所以程序员可能不会想到转移所有权,想到时已经为时已晚。
Searls认为,GitHub和Gems等软件包管理者可以在他们的平台上添加一个类似于“去世开关”的东西,如果创建者没有登录或者长时间没有更新,程序可以自动将项目或者帐户的所有权转让给其他人。
而过渡计划不仅仅是让人们能够访问代码。Matplotlib是一个Python编写的2D数字绘图库,在创始人约翰。亨特(John Hunter)于2012年去世后,Michael Droettboom进行了接管。他指出,继任者也需要了解这些代码。他说:“有时候只有一个人可以理解部分代码。知识只存在于一个人的头脑中。”
这意味着理想情况是,一旦项目被原始开发人员以外的人使用,就需要让其他人尽早参与一个项目。 Searls指出,这还有另外一个好处,那就是分配维护项目的工作,以防止开发人员产生倦怠。