• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    若相关程序员不幸逝世 他的开源软件会有人维护吗
     

    你可能从来没有听说已故Jim Weirich或他开发的软件。但是你几乎必定会使用过在他研究基础上开发出的各种应用程序。

    Weirich为面向对象(面向对象程序设计)脚本语言Ruby创建了几个关键工具,Ruby是Hulu,Kickstarter,Twitter和其他无数主流网站代码的编程语言。Ruby的代码是开源的,这意味着任何人都可以使用它并对其进行修改。 Ruby开发人员兼软件公司Test Double联合创始人Justin Searls说:“Weirich是西方世界Ruby社区的创始人之一。

    当Weirich于 2014 年去世时,Searls注意到没有人再去维护Weirich的一个软件测试工具。这意味着如果其他开发者再向Ruby社区提交关于Ruby语言的错误修复,安适补丁或其他改进,就不会有人批准更改。任何依赖该工具的测试最终都会失败,因为代码会随着时间推移变得过时,而且与新技术不再兼容。

    事件凸显了开源软件社区日益关注的一个问题。当程序员过世后他们所编写的代码会怎么样?关于在用户死后其社交媒体账户会发生什么的文章已经写得很多了。但关于程序员过世这个问题没有那么严重。部分原因是因为大多数公司和政府所运行的都是商业软件,都有专人维护。但现暂,更多的程序依赖于像Weirich这样的程序员所开发的晦涩难懂但却重要的开源软件。

    一些开源项目是众所周知的,如Linux操作系统或Google的人工智能框架TensorFlow。但是这些项目中都依赖于更小的开源代码库。而这些开源代码库又是基于另一个代码库。结果构成了一个复杂的,不为人知的彼此依存的软件网络。

    这可能会带来很大的问题,如 2014 年,在OpenSSL中发现了一个被称为“Heartbleed”的安适漏洞,几乎每个处理信用卡或借记卡支付过程的网站都会使用这个开放源代码程序。该软件与大多数Linux版本绑缚在一起,但由几个志愿者维护,他们没有时间或资源进行广泛的安适审计。在Heartbleed安适漏洞被发现后不久,在另一个常见的开源应用程序Bash中也发现了一个同样的安适问题,这使得无数的Web办事器和其他设备很容易受到攻击。

    必定还有更多未发现的漏洞。 Libraries.io是一个分析软件项目之间关系的团队,其已经确定了超过2, 400 个开源代码库在其他 1000 个程序中使用,但是很少受到开源社区的关注。

    安适问题只是这个问题的一部分。如果软件库无法及时更新,软件升级后也就无法运行。这意味着在用户在更新了相应软件之后,那些依赖于过期库的应用程序可能无法工作。当维护代码库的开发人员离世或放弃一个项目时,使用该软件的每个人都会受到影响。去年,当程序员AzerKo ulu从互联网上删除了一个叫做Leftpad的代码库后时,它造成了涟漪效应,据说在Facebook,Netflix和其他很多地方都引起了令人头痛的问题。

    大巴系数

    一个开源软件的维护者越少,其被孤立的风险就越大。开发商甚至有这样一个病态的名字:大巴系数,这意味着在没有人维护开源项目的情况下会受到影响的人数。 Libraries.io已经确定了大约 3000 个开源库,在许多其他程序中使用,但只有极少数的人在默默贡献。

    项目孤立是使用开源软件的风险,但商业软件制造商也可能会停止支持或更新旧程序,从而给用户带来同样的麻烦。在某些情况下,醉翁之意的程序员会采用孤立的开源代码。

    这就是Searls在处理Weirich开源项目中遇到的一个问题。 Weirich最受欢迎的项目在他去世的时候有共同办理者。但是Searls注意到一个测试工具Rspec-Given没有被移交出去,他有意负责更新,但一路上遇到了不少麻烦。

    Rspec-Given的代码托管在代码托管和协作站点GitHub上,后者目前拥有 6700 万个代码库。 Weirich在GitHub上的Rspec-Given页面是其他Ruby用户陈诉错误或自愿帮手改进代码的主要地方。但GitHub不会让Searls控制这个页面,因为Weirich在他去世之前还没有进行命名。所以Searls必需创建一个新的代码副本,并将其转移到其他地方。他还必需说服分发代码的“包办理系统”Ruby Gems运营商使用他的Rspec-Given版本,而不再是Weirich的版本,,以便使所有用户都能拜候的变换。 GitHub拒绝讨论其关于转移项目控制的政策。

    相关方法能够解决与Rspec-Given有关的潜在问题,但是它也让Searls看到了许多可能出潜在问题。 Searls说:“我们很容易将开源看作一种纯粹的技术现象。但是,一旦有些事情产生,而且被其他人所依赖,这也是一种社会现象。”

    大多数软件包办理系统的维护人员至少有一个专门的流程来转移对库的控制权,但是这个过程通常取决于是否有人能够注意到项目已经被孤立,然后自愿接管它。 Ruby Gems项目的Evan Phoenix说:“我们没有官方政策,主要是因为它不会经常出现。 “我们有一个顾问委员会,用来逐个处理这种类型的事情。”

    上一篇:阅文IPO上市现场 高管将敲响开市钟
    下一篇:腾讯回应微信还信用卡下月起收费:补助支付通道手续费
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    若相关程序员不幸逝世 他的开源软件会有人维护吗 若,相关,程序员,不幸,逝世,