开源项目的所有者去世了怎么办?

2018-11-10 12:41:02 来源:网络整理 作者:管理员

原标题:开源项目的所有者去世了怎么办?

【CSDN编者按】GitHub是全世界最流行的代码托管网站,上面托管了6700万个项目。但是各个开源项目之间所隐藏的复杂软件依赖关系网,带有很大的安全和性能隐患——特别在开源项目的所有者去世之后,很有可能会因为项目缺乏维护而带来其他应用性能的崩溃。本文的作者曾经希望继承某一“孤儿”项目的维护权,却因为客观原因而不了了之。在他看来,开发者应该给大批的“孤儿”开源项目以新生。

开源项目的所有者去世了怎么办?

以下为译文:

也许你从未听说过Jim Weirich或他的软件,但你肯定用过基于他的软件构建的应用。

Weirich参与创建了流行编程语言Ruby的几个关键工具,许多流行的网站如Hulu、Kickstarter、Twitter和数不清的其他网站都是用Ruby编写的。他的代码是开源的,意味着任何人都可以使用并修改。“他是Ruby西方世界里的精英成员。”Ruby开发者、软件公司Test Double联合创始人Justin Searls说。

开源项目的所有者去世了怎么办?

Jim Weirich

在2014年Weirich去世后,Searls发现没人再维护Weirich的一个软件测试工具了。也就是说,没有人再审查其他开发者提交的bug修改、安全补丁或其他任何改进。任何依赖于该工具的测试最终都会失败,因为代码总有一天会过时,并且与新的技术不再兼容。

这件事引发了开源软件社区越来越多的担心——在程序员逝世后,他的代码该怎么处理?

安全和性能问题

人们讨论过许多人死后的社交账号如何处理的问题,部分原因是因为许多公司和政府机构都依赖于各个团队维护的商业软件产品。但是今天,越来越多的程序都依赖于模糊却非常关键的软件,比如Weirich的软件。

一些开源项目很有名,如Linux操作系统和Google的人工智能框架TensorFlow,但这些项目也都依赖其他更小的开源库,而那些更小的库也会依赖于其他的库,最终造就了一个复杂且非常隐蔽的软件依赖关系网。

这会带来非常大的问题。比如2014年在OpenSSL里程序出了个著名的“Heartbleed”安全漏洞。几乎全世界每个需要处理信用卡或借记卡支付的网站都会使用OpenSSL这个开源软件,但实际上它的维护团队只有寥寥几名志愿者,而且他们也没有足够的时间或资源来进行所有的安全审查。在Heartbleed出现后不久,另一个著名开源软件Bash中也发现了安全问题,导致世界上无数的Web服务器和其他设备面临被攻击的风险。

肯定还有更多尚未发现的问题。一个名为Libraries.io的组织分析了软件项目之间的联系,发现超过2400个开源项目库都使用了1000多个其他的程序,但这1000多个程序几乎没有受到开源社区的任何关注。

而安全问题仅仅是问题的一部分。

如果软件库不能经常更新,那么总有一天会无法在最新的软件上运行。也就是说,所有依赖于过期软件库的软件都不能再运行。如果开发者去世,或者放弃一个项目,那么所有依赖于该项目的软件都会受到影响。去年,程序员Azer Koçulu从互联网上删掉了一个名为Leftpad的很小的软件库,结果连锁反应使得Facebook、Netflix和许多其他人都大为头疼。

公交车指数

一份软件的所有者越少,被孤立的风险就越高。开发者们甚至给它起了个名字:公交车指数——意思是说,多少人被公交车撞死会导致项目无人维护。Libraries.io发现,大约3000个常用的开源软件库只有少数几个维护者。

尽管商业软件厂商在停止支持旧软件时也会给用户造成类似的困扰,但总的来说,使用孤立的开源软件风险非常高。有时候,热情的程序员会收养孤立的开源代码。

Searls的Weirich项目就是类似的情况。Weirich最流行的项目在他去世时都有其他的管理者。但Searls发现其中一个项目——测试工具Rspec-Given并没有人接手,因此他想接过该项目并负责更新。但他遇到了一些困难。

Rspec-Given的代码放在了GitHub上。GitHub是全世界最流行的代码托管网站,上面托管了6700万个项目。Weirich的在GitHub上的Rspec-Given页面是人们报告bug或帮助改进代码的主要场所,但GitHub拒绝为Searls提供该页面的访问权,因为Weirich并没有在去世前指定他为管理者。因此,Searls不得不复制了该项目并放在了其他地方。他还必须说服Ruby Gems(一个用来分发软件的“包管理系统”)的管理者使用他的Rspec-Given版本,而不是使用Weirich的版本,这样所有Ruby用户才能访问到Searls的修改。GitHub拒绝讨论关于移交项目权限的政策。

这样就解决了与Rspec-Given有关的问题,但也让Searls意识到,许多事情都可能会出错。他说,“开源可以很容易地看成纯粹的技术问题。但一旦项目启动并被几百人使用之后,它就成了社会问题。”

绝大多数包管理系统的维护者都有一个临时的库权限移交流程,但这个流程仅在有人注意到某个项目已经被孤立,并且自愿收养的时候才会启动。Ruby Gems新项目的Evan Phoenix说:“我们并没有正式的政策,因为这个流程很少发生。但我们有个委员会来针对每件类似情况进行讨论。”

现在,一些包管理器会自动监视软件库,并对广泛使用但很久没有更新的软件做出标记。协助维护Perl编程语言的包管理器的Neil Bowers说,有时候他会寻找志愿者来收养孤立的项目。Bowers说,他的团队会找出被遗弃的项目,然后由其他人申请接管。

亡者开关

接管Rspec-Given启发了Searls,年仅30岁的他决定为他自己的开源软件项目立下遗嘱和后继的计划。开发者们也可以做一些事情来让软件包的未来更安全,比如,可以将版权转交给基金会,如Apache基金会。但许多开源项目都是作为个人兴趣开始的,所以很多程序员根本没有想过转移所有权。

Searls建议GitHub和Gems等包管理器能在各自的平台上加个“亡者开关”功能,以便在所有者很长时间不上线或不做修改后,自动将项目的所有权或所有者账号转移给他人。

但移交的计划远远不止允许别人访问代码这么简单。流行的数学库Matplotlib的创立者John Hunter于2012年逝世后,Michael Doroettboom接管了该项目,他指出,后继者必须能够理解代码。“有时候代码库里会有一部分只有一个人才能看懂的代码。”他说,“那些知识保存在了那个人的大脑中。”

总而言之,我们应当让别人尽早参与项目,最好是在别人一开始使用代码的时候。Searls指出,这样做还有其他的好处,比如可以分担维护的工作量,防止开发者过于疲劳。

原文:https://www.wired.com/story/giving-open-source-projects-life-after-a-developers-death/

作者:Klint Finley Business

译者:弯月,责编:郭芮

显示全文
为您推荐
朱一龙爆发式的哭戏,刷新演艺圈新水平,拭目以待
朱一龙爆发式的哭戏,刷新演艺圈新水平,拭目以待

朱一龙主演的电影《峰爆》9月17日即将在各大电影院上映,这部属于灾难型的电影,里面没有过多装饰的场景和华丽的服饰。在灾难面前,个人是多么的渺小,他们帮助困难群众,为了保护家园逆行而上,在这期间产生的父.........

发布时间:2023-06-01 13:03:11

鸡胗怎么炒
鸡胗怎么炒

【导读】 鸡胗怎么炒,下面是小编为你收集整理的,希望对你有帮助!用料:小米椒,鸡胗,大蒜,盐,生抽,黄酒。步骤:1、鸡胗冷水下锅,煮变色了捞起切片。鸡胗要切花,一来好看,二来容易熟又保持了爽口感。2、切好的鸡胗加盐加黄酒加生抽腌制半小时以上。3、大蒜切成蒜蓉,小米......

发布时间:2023-06-01 13:01:03

周迅觉得何炅黄磊太像空巢老人
周迅觉得何炅黄磊太像空巢老人

今日何炅晒出与黄磊的《向往的生活7》海报,何炅黄磊两人牵着小h小o画面很温馨夸姣的呢。可是有的网友却戏弄:“如同两个假笑空巢白叟”“孩子们都离开了,就剩俩老人了,能开心吗?”“这笑脸是p的吧?”这一季.........

发布时间:2023-06-01 12:03:13

十二金仙为什么入佛门 十二金仙为凡人做出了什么贡献
十二金仙为什么入佛门 十二金仙为凡人做出了什么贡献

【导读】 十二金仙为什么入佛门 十二金仙为凡人做出了什么贡献,下面是小编为你收集整理的,希望对你有帮助!十二金仙并没有全部板衣佛门,十二金仙中慈航道人,普贤真人,文殊广法天尊和惧留孙最终依了佛门,分别变成观世音菩萨,普贤菩萨,文殊菩萨以及惧留孙佛。这四人成佛是他们自己的选择,因为这四位金仙经历过封神的劫......

发布时间:2023-06-01 12:01:04

张丹峰洪欣合体
张丹峰洪欣合体

5月28日,洪欣和张丹峰敞开了他们离婚闹剧后的初次合体直播,虽然仅仅秀恩爱并没有带货,却依然被网友骂惨了,网友纷繁表示:相比对张丹峰,现在对洪欣更没有好感了!直播间里,洪欣和张丹峰体现得非常恩爱,两个.........

发布时间:2023-06-01 11:03:11

耸怎么读
耸怎么读

【导读】 耸怎么读,下面是小编为你收集整理的,希望对你有帮助!sǒng。耸,中国汉字。该字的基本字义是:高起,直立的意思,如:高耸入云、耸立、耸拔、耸峙。又意:惊动或聋的意思。耸相关词语:耸肩、耸惑、修耸、逼耸、耸恿、严耸、巉耸、耸壑、耸切、耸拔等。笔顺:撇、点......

发布时间:2023-06-01 11:01:03

张子枫:获华表奖优秀女演员奖很幸福
张子枫:获华表奖优秀女演员奖很幸福

第十八届、第十九届中国电影华表奖23日在北京揭晓。张子枫凭借《我的姐姐》获第十九届华表奖优秀女演员奖。 谈到获奖感受,张子枫说自己感觉很幸福,挺开心的。她坦言作为演员大家都一样,说不想得到奖.........

发布时间:2023-06-01 10:03:09

如来杀的是真孙悟空 如来杀死孙悟空的论据有哪些
如来杀的是真孙悟空 如来杀死孙悟空的论据有哪些

【导读】 如来杀的是真孙悟空 如来杀死孙悟空的论据有哪些,下面是小编为你收集整理的,希望对你有帮助!在传说中说写到的是如来杀了孙悟空,因为不论是记载,还是《西游记》后期的演绎,都能看出很多的破绽,从分析上看,如来与六耳猕猴在之前就应该是认识的,但是如来通晓天下事,这一点有些解释不通。其实如来很明显就......

发布时间:2023-06-01 09:01:04

林西娅游乐园写真上线 俏皮灵动尽显温柔气质
林西娅游乐园写真上线 俏皮灵动尽显温柔气质

日前,林西娅在自己社交平台晒出一组新写真街拍。照片中,林西娅一身粉色毛衣秋冬感初显,落日余晖下玩耍流连于旋转木马之上,时而俏皮灵动、时而温柔妩媚。并配文到:保持童心,才不会变成无趣的大人。心态积极向上.........

发布时间:2023-06-01 08:03:15

赛太岁的法宝是什么?紫金铃(拥有它能战无不胜)
赛太岁的法宝是什么?紫金铃(拥有它能战无不胜)

【导读】 赛太岁的法宝是什么?紫金铃(拥有它能战无不胜),下面是小编为你收集整理的,希望对你有帮助!我国四大名著《西游记》中,出场的人、神仙、妖怪等人物除了自身有些本领外,都是会有法宝护身的,不管这个法宝是不是自己的,但是一定很好用。那大家知道赛太岁的法宝是什么吗?小编今天就跟大家科普一下吧。赛太岁......

发布时间:2023-06-01 08:01:03

任家萱挺孕肚游泰国
任家萱挺孕肚游泰国

5月25日,Selina任家萱在个人交际账号晒出一组旅行照。现在,Selina正处于孕中期,她和宝宝的状况都很不错,身体条件完全允许她出国旅游。Selina此次出国之旅去的是泰国,品尝了很多当地美食的.........

发布时间:2023-06-01 07:03:11

黄瓜生吃好还是熟吃好 黄瓜怎么样吃更健康一些
黄瓜生吃好还是熟吃好 黄瓜怎么样吃更健康一些

【导读】 黄瓜生吃好还是熟吃好 黄瓜怎么样吃更健康一些,下面是小编为你收集整理的,希望对你有帮助!黄瓜是很多人喜欢吃的美食,夏天可能很多人会生吃黄瓜,那么黄瓜到底是生吃好一些还是煮熟吃好一起呢,和小编一起了解探索一下吧。黄瓜生吃好还是熟吃好其实黄瓜最好不要生吃,很多人知道黄瓜不仅可以减肥,同时还可......

发布时间:2023-06-01 07:01:03