专栏名称: CSDN
CSDN精彩内容每日推荐。我们关注IT产品研发背后的那些人、技术和故事。
目录
相关文章推荐
新浪科技  ·  【#小米汽车智驾里程已突破1亿公里#】 ... ·  昨天  
新浪科技  ·  【#英伟达今年涨幅超183%##英伟达散户资 ... ·  2 天前  
新浪科技  ·  【#Steam今年发行了18825款新游戏# ... ·  3 天前  
51好读  ›  专栏  ›  CSDN

若程序员不幸离世,他的开源项目有人维护吗?

CSDN  · 公众号  · 科技媒体  · 2017-11-09 10:40

正文

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

前段时间,关于“程序员新公司入职被拒,只因离职证明上被写了这句话”这条消息引起了圈内不小的反思。“目前用户的需求变化是特别快的,一个项目做几年没了,又一个做几年又没了。”有评论就称:难道项目永远做不完,程序员就永远不能离职吗?实际上,在绝大多数成熟的公司内部运行的商业软件,都有相应的政策进行交接,以及专门的人员进行维护。

但如果这个事情放在开源项目上,又该如何处理?

近日,《连线》上的一篇名为“Giving Open-source Projects Life After A Developer's Death”的文章提到,“Ruby 社区创始人之一的 Jim Weirich 在 2014 年逝世之后,基于其所开发的晦涩难懂但却重要的开源软件没有得到很好的维护。如 Justin Searls 就注意到没有人再去维护 Weirich 的一个软件测试工具。这意味着如果其他开发者再向 Ruby 社区提交关于 Ruby 语言的错误修复、安全补丁或其他改进,就不会有人批准更改。任何依赖该工具的测试最终都会失败,因为代码会随着时间推移变得过时,并与新技术不再兼容。”(译:网易科技)

这件事情无疑暴露了开源软件社区日益面临着的潜在挑战:一是因缺乏相关资源或时间无法进行广泛的安全审计,导致现有的设备和服务器很容易存在安全漏洞的问题;二是如果软件库无法及时更新,软件升级后也就无法运行。

开源是一种社会现象

“我们很容易将开源看作一种纯粹的技术现象。但是,一旦有些事情产生,并且被其他人所依赖,这也是一种社会现象。”Seal 提到。

一方面,一个使用频繁且重要的开源软件如果长期没有更新,这次就需要有维护人员对这些软件进行监管,如果一个开源软件的维护者越少,那么其被孤立的风险就越大。

另一方面,某些闭源的商业软件商同样可能停止支持或更新程序,给用户带来麻烦。还有些情况下,别有用心的程序员还会特意采用孤立的开源代码。

这时,多数软件包管理系统的维护人员至少有一个专门的流程来转移对库的控制权,除了可以继续访问代码更重要的是,转移了控制权的继任者也需要了解这些代码。也就是,一旦项目被原始开发人员之外的人使用,就需要尽早安排其他人参与其中。

而本质上,开源项目往往是由极客等业余爱好者发起的,所以程序员一开始也可能不会想到进行控制权的转移。

维护开源项目这么难,万一被机器替代了呢

在遭遇了“中年危机”、“脱发危机”、“情商危机”之后,那些名校计算机专业毕业的程序员们也遭遇了前所未有的迷茫。“中国没有核心软件,大家都是在做应用,现实中的需求千变万化,我们用别人开发的产品工具实现这些需求而已。回头看看当时解决的问题,根本就不算成就感。”一位原先做数据处理的工程师被采访时提到。

与此同时,软件开发行业与十年前相比发生了巨大的变化。从过去需要花费大量时间精力学习掌握的编程知识,到现在“可以被人工智能生成的代码所替代”,随便一搜索,诸如 codefree、APPCityLife 等专门为没有编程背景,无需写代码就能开发网站应用的开发工具到处都是。

其实,对于多数正在和计划涉足这一领域的开发者们而言,深入学习人工智能、虚拟现实、计算机视觉等新技术,尝试去解决更难的问题,掌握更强大的技能,才能保证未来不被“淘汰”。