这是一篇在知识共享署名许可(https://creativecommons.org/licenses/by/4.0/)下发布的开放获取文章,该许可允许在任何媒介上不受限制地使用、分发和复制,前提是原始作品首次发表在《医学互联网研究杂志》上,并适当引用。必须包括完整的书目信息,到//www.mybigtv.com/上原始出版物的链接,以及版权和许可信息。
国家癌症研究所癌症研究信息技术(ITCR)项目提供了一系列资助机制,以创建一个满足癌症研究需求的开源软件(OSS)生态系统。随着ITCR生态系统的大幅增长,它面临着ITCR受助人开发的软件的长期可持续性的挑战。为应对这一挑战,ITCR可持续性和行业伙伴关系工作组(SIP-WG)于2019年成立。
SIP-WG的章程是调查各种选项,以增强ITCR正在开发的OSS的长期可持续性,部分是通过开发一组业务模型原型,这些原型可以作为ITCR OSS开发计划的可持续性计划。为了支持这一目标,工作组从ITCR项目、其他研究以及与其他组织(例如,Chan Zuckerberg Initiative、Open Source Initiative和软件可持续性研究所)的广泛关系网络中收集模型。
本文回顾了现有的可持续性模型,并描述了SIP-WG和其他机构在10个可持续性方面传播的10个OSS用例,包括3D切片器、Bioconductor、Cytoscape、Globus、i2b2(集成生物学和床边的信息学)和tranSMART、Insight Toolkit、Linux、观察健康数据科学和信息学工具、R和REDCap(研究电子数据捕获)。治理、文档、代码质量、支持、生态系统协作、安全、法律、财务、营销和依赖卫生。
公开的信息显示,所有10个OSS都有有效的治理、全面的文档、高质量的代码、可靠的依赖、强大的用户和开发人员支持以及积极的市场营销。这些OSS包括各种许可模型(例如,通用公共许可版本2、通用公共许可版本3、Berkeley Software Distribution和Apache 3)和财务模型(例如,联邦研究基金、行业和会员支持以及商业支持)。然而,大多数OSS并没有公开提供关于生态系统协作和安全的详细信息。
我们推荐研究软件的6个基本属性:与未满足的科学需求保持一致,一个专门的开发团队,一个充满活力的用户社区,一个可行的许可模式,一个可持续的财务模式,以及有效的产品管理。我们还强调了未来ITCR活动中需要考虑的重要行动,包括讨论ITCR OSS的可持续性和许可模式,建立一个中央库,分配代码质量控制的咨询资源,生态系统协作,安全性和依赖卫生。
癌症研究资讯科技(ITCR)计划[
ITCR的具体目标包括:(1)促进信息学技术发展与假设驱动的癌症研究和转化或临床研究的整合;(2)利用多种机制,提供灵活、可扩展和可持续的支持,以适应信息技术在整个开发生命周期中的不同需求和不同阶段;(3)在技术开发和推广方面促进跨学科合作和公私伙伴关系;(4)促进数据共享和开发信息学工具以实现数据共享;(五)促进技术传播和软件复用;(6)促进开发团队之间的沟通和互动;(7)利用研究所内NCI项目的专业知识和资源,弥合现有NCI信息学资助组合中的差距。
ITCR计划的范围是服务于跨越癌症研究连续体的信息学需求。ITCR计划提供了一系列资助机制,支持整个开发生命周期的信息学资源,包括创新方法和算法的创建(R21),早期软件开发(R21),高级软件开发(U24),以及癌症研究和转化信息学社区所依赖的高价值资源的维持(U24)。
癌症研究信息学技术(ITCR)资助机制。
机制 | 目的 | 2020年9月9日前获奖 | 直接成本上限 |
一下R21 | 创新的信息学方法和算法 | 25 | 两年27.5万美元 |
U01 | 早期软件开发 | 34 | 每年30万美元,为期3年 |
U24 | 高级阶段软件开发 | 40 | 每年60万美元,为期5年 |
U24 | 维持高价值资源 | 6 | 没有预算上限和长达5年的支持 |
竞争性修订(新) | 采用、调整和集成ITCR工具和资源 | 1 | 每年10万美元,为期2年 |
这一系列资助机制在美国国立卫生研究院(NIH)所有研究所和中心中都是创新和独特的。这些机制解决了创建可互操作和协作的计算基础设施的基本需求,将许多执行翻译信息学的信息学和计算生物学团队联系起来。ITCR生态系统已经大幅增长,现在包括55个高度协作的资助项目,正如其所证明的那样
癌症研究项目的信息技术地图。
随着ITCR项目进入第二阶段,它面临着由受助者开发的软件的长期可持续性的挑战。无论从单个资助项目还是从所有itcr资助项目的角度来看,一些软件都会自然地
应对项目长期可持续发展的挑战,是ITCR可持续发展及业界伙伴关系工作小组的主要工作。[
我们简要介绍了文献中出现的几个软件可持续性模型[
Gabella等[
除了上一段讨论的模型外,
当前的文献也讨论了软件产品背后社区的力量和健康的重要性[
我们在工作组的成员中进行了一项调查,以选择成功传播软件产品的案例示例集合。我们要求每个成员提供
在回顾文献并在ITCR工作组中讨论之后,我们决定每个OSS用例都应该根据Nesbitt的建议进行概要分析[
在本节中,我们将根据这10个可持续性方面来检查每个OSS用例。关于OSS用例的完整描述可以在
所有10个OSS用例都有一个管理委员会和一个技术开发团队。ITK和REDCap已经建立了联盟。这三种模型(i2b2、tranSMART、R和Linux)已经建立了基础。涉众通常在软件开发的早期阶段选择一个联盟管理模型。在联合体模式下,成员对发展方向的控制更强。财团管理模型稍后可能会迁移到基础模型中。在基础模型中,组织考虑所有涉众的利益,鼓励更多的新贡献者和用户参与软件开发测试过程。因此,基金会通常需要认真的社区努力和各种技能(例如筹款)[
这6种OSS工具已经公开提供了它们的路线图。i2b2 tranSMART基金会[
定期会议使利益相关者能够做出业务决策并确定发展优先事项。3D切片机的核心开发人员和用户每年会面两次,Globus为其用户和订阅者举办年度会议。小组通常有更频繁的定期会议。另一方面,Bioconductor的技术顾问委员会每月召开一次会议,制定战略,确保核心基础设施的长期技术适用性。为了接触到更广泛的潜在开发者和用户群体,一些模型(3D Slicer和i2b2 tranSMART)提供了完全开放的沟通渠道,如基于网络的论坛和录制的网络研讨会。
由于这10个OSS用例的公开信息数量有限,我们不知道每个核心开发团队的确切规模,也不知道核心基础设施上的个人任务。如果只有一个人在处理关键组件的复杂细节,那么在失去这个关键人之后,OSS项目将很快变得飘忽不定。
所有10个OSS用例都以各种格式向用户提供文档,例如用户指南(ITK [
进一步的文档提供给新的开发人员,以鼓励新的贡献OSS扩展。Bioconductor提供3个级别的文档-工作流程,包装插图和功能手册页[
在没有测试的情况下发布软件可能对其可靠性和可再现性非常危险,因此严格的测试对OSS至关重要。在将最新的软件包传播到面向用户的存储库之前,Bioconductor开发人员会进行测试,以确保软件包的整体完整性以及与软件包依赖项当前版本的集成。3D切片器已经建立了基础设施,可以为其核心应用程序连续运行大约700次测试,测试结果是公开的[
所有OSS用例都为用户和新开发人员提供支持。例如,OHDSI社区提供了两种支持渠道:基于社区的话语论坛为实施OHDSI工具提供支持,提出或参与网络研究,以及请求有关OHDSI相关主题的信息[
并非所有支持OSS的模型都是免费的。例如,ITK具有三向支持:(1)ITK的话语论坛可以让用户之间进行讨论和相互帮助,通常有专门的志愿者提供详细的示例代码[
令人惊讶的是,免费的支持往往是及时的。一个很好的例子是3D切片器,2018年有超过13,000个论坛帖子,平均响应时间<2天(工作日<8小时)。对于3D切片器,支持可以由核心开发人员或用户社区的经验丰富的成员提供。公共论坛可能非常活跃;例如,Bioconductor每小时有超过100名访客。
生态系统合作通常由工作组、会议、网络和社区论坛组织。关于OSS项目如何与其他项目协作的公开信息有限。
安全性对于生物医学软件工具非常重要,因为它们通常用于管理和处理患者数据。为保障病人的私隐,i2b2透过网页服务提供安全的远端访问医疗机构的病人,并匿名列出每间医疗机构的病人数目[
Linux具有强大的安全特性,在生物医学领域之外被广泛使用。Linux内核允许管理员通过修改内核操作的属性,在内核中构建额外的安全措施以避免常见的缓冲区溢出攻击,以及为不同类型的用户设置不同的访问限制来提高最低级别的安全性。
在10个OSS用例中,一个流行的许可模型是GPL,它允许分发和销售修改和未修改的版本,但要求所有的副本都在相同的许可下发布,并附带完整的相应源代码。例如,Linux是在GPL版本2下发布的,而R和tranSMART使用GPL版本3。
对OSS的不同组件使用不同的许可模型也是可行的。例如,Bioconductor软件包属于多个许可组:艺术许可版本2、GPL、麻省理工学院(MIT)、伯克利软件分发(BSD),以及对如何重新分发软件有最低要求的创作共用许可[
其他OSS用例使用的开源许可模型包括Apache 2 (OHDSI和ITK)、Mozilla公共许可版本2.0,以及医疗保健免责声明附录(i2b2) [
在10个OSS用例中,有8个(80%)是从联邦研究基金开始的。例如,Bioconductor于2003年开始获得NIH国家人类基因组研究所的支持,并于2014年获得NCI/ITCR的资助。在过去的几十年里,3D切片机获得了许多研究资助(主要是NIH)的直接或间接支持[
行业和成员支持在成熟的OSS案例中很常见。例如,高级Globus功能(例如,数据共享、使用报告和保证支持级别)是按年订阅的方式提供给机构的,这是一种基于机构研究活动水平的固定年费。Linux继续受到个人会员(数千名会员)和年度企业会员(>1000名企业会员)的支持[
包括学术和行业赞助商的多重赞助计划也是可行的。例如,ITK从美国国立卫生研究院获得了持续的维护资金,使其能够免费使用,同时也获得了商业级的支持。OHDSI也得到了私人和公共资金的支持。i2b2 tranSMART基金会有4个赞助项目:贡献赞助商、企业赞助商、持续赞助商和活动赞助商[
10个OSS用例有各种营销渠道,包括使用徽标(3D切片器、Globus和i2b2 tranSMART)、网站(3D切片器、Bioconductor、Globus和i2b2 tranSMART)、邮件列表(Cytoscape、Globus和i2b2 tranSMART)、论坛(3D切片器、Cytoscape和i2b2 tranSMART)、Twitter (Twitter, Inc;3D切片机,Bioconductor, Cytoscape, Globus和i2b2 tranSMART), LinkedIn (LinkedIn, Inc;Globus和i2b2 tranSMART), Facebook (Meta平台,Inc;i2b2 tranSMART)、YouTube (Google, Inc;3D切片机,Bioconductor和i2b2 tranSMART), Tumblr (Tumblr, Inc;Cytoscape), Vimeo (Vimeo, Inc;Cytoscape)和Pinterest账户(Pinterest, Inc;Cytoscape)。
其他渠道包括会议、研讨会和出版物。例如,ITK在医学成像会议上被介绍。R通过an获得市场份额
在这10个OSS(除了R)中,有9个(90%)对其他软件包有很多依赖。Bioconductor和OHDSI依赖于许多R包,REDCap依赖于MySQL,而Cytoscape依赖于外部服务,包括cxMate。由于依赖关系可能会使安装和使用复杂化,i2b2提供了Docker容器以方便安装[
我们讨论了10个代表性的OSS用例,它们已经展示了可持续的实践,特别是在生物医学领域。尽管不是一个全面的列表,这些例子强调了成功的OSS开发的以下基本属性:与未满足的科学需求保持一致,一个专门的开发团队,一个充满活力的用户社区,一个可行的许可模式,一个可持续的财务模式,以及有效的产品管理。
在OSS项目的初始阶段,它必须确定并满足重要的科学需求,而不是遵守强制性规则或获得外部财务奖励[
一个OSS项目应该有一个核心开发团队,这个团队不仅开发了软件的初始版本,而且还将继续致力于未来的版本。这个团队是
然而,维护这样的团队可能很困难。根据Atiq等人[
更重要的是,整个研究社区需要认识到,如果一个团队的贡献不能得到认可,那么创建一个专门的开发团队是非常困难的。不幸的是,在学术界,投资于软件开发的努力通常不被认为是重要的,而且肯定没有传统的研究活动那么受欢迎,这仍然是事实。
为了取得成功,OSS项目还应该有一个充满活力的用户社区,其组织结构和正在进行的活动可以促进开发人员和用户组之间和之间的交流。这个社区会培养
同样重要的是要认识到
一个可持续的OSS项目还需要一个符合软件性质、其分发渠道和涉众利益的许可模型。许可模型类似于
OSS许可通常分为4类:非许可、弱许可、完全许可和不兼容。开源许可证是由开源促进会(Open Source Initiative)评估它们是否符合开源定义的,开源促进会是一个501c3非营利组织,旨在管理开源许可证。
非许可许可,例如GPL和Affero GPL,不仅允许商业和非商业重用,而且还要求发布所有修改过的代码和链接到该代码的任何外部代码。最著名的例子是Linux,它现在使用GPL版本2。在没有聘请律师的情况下,它的创始人Linus Torvalds写了一份简短的许可证,声明发布该软件不收取任何费用。由于基于互联网的传输系统还处于发展的早期阶段,这一举措消除了互联网
弱许可许可证(例如Mozilla公共许可证2)允许商业和非商业用途,并要求对任何修改的代码逐个文件发布。完全许可许可为商业和非商业目的提供不受限制的代码重用。完全许可的许可证包括Apache 2、MIT和BSD许可证等。流行的Apache 2许可证的主要动机之一是能够将开源代码集成到项目中,而无需发布对代码的任何增强,也就是说,能够
由于有限的商业支持,研究软件领域向完全许可许可的迁移速度很慢。德国埃尔斯特(
软件许可在被许可方使用或分发程序或代码的方式上创建了一个有约束力的协议。正如软件包装或点击用户许可协议具有约束力一样,开源软件和代码的使用也具有约束力。当一个研究软件商业化时
OSS项目需要一个可持续的财务模型(正式的或非正式的),以保持软件及其用户社区向前发展。一个可持续的金融模式是
公私伙伴关系正在成为长期支持OSS项目的可行方式;然而,建立这些伙伴关系可能并不容易。行业合作伙伴通常关注盈利的商业化时间。OSS项目的公开发布,包括它的知识和源代码,可能允许市场竞争者迅速赶上,这与传统的商业化软件业务实践相反,在传统的商业化软件业务实践中,知识产权通常被尽可能长时间地隐藏。然而,与此同时,OSS项目可能会迅速吸引大量的外部用户和新的开发人员,他们的贡献可以改善产品的健壮性,使跨多个机构的基于平台的定制成为可能。健壮的实现和庞大的用户基础增加了OSS项目的商业潜力。
随着OSS的发展,其财务模式也会随着时间的推移而改变。Globus已经尝试了几种财务可持续性策略的组合:依靠基于拨款的联邦资金,提供免费的OSS,组建一个国际研究联盟,启动一个商业公司,以及组建一个行业组织[
在文献回顾部分,我们总结了长期软件可持续性的金融模型的范围。每种方法都有自己的优点和缺点。例如,以社区为基础的可持续性(例如,文献综述中提到的非营利组织模式),包括分支机构发展工作的适当分支,在许多方面都是理想的,因为它利用了整个社区的集体和持续努力。但是,它可能不适用于重要的利基发展领域;它可能过分强调广泛的采用,而不是质量、新颖性或重要性,并且它可能无法利用不遵循相同开源许可结构的努力。商业化(例如,内容许可模式、用户订阅模式、免费增值模式、剃刀和刀片模式),比如在临床工作站中采用软件模块,除了为愿意为此付费的广大用户群创造一条直接途径外,还利用了大量的资源和软件库。然而,商业化受到专利限制和对盈利动机的依赖的限制,这可能与生物医学意义或与
最后,一个OSS项目需要有效的产品管理,这是项目管理的一部分
路线图概述了项目的发展状况,包括过去事件和未来事件的日期,因此个人可以了解特定项目的速度、目标和活动,从而通过精心设计的截止日期和结构提高可持续性[
虽然路线图指定了计划,但显示实际成果的是软件发布。由于OSS经常涉及大量外部开发人员的参与,软件发布的协调可能会更加复杂。R提供了一个很好的例子,它为外部开发人员的包测试和发布提供了广泛的支持。关于发布策略,OSS社区采用基于特性或基于时间的发布[
关于OSS质量保证,大型用户社区可能会为项目提供良好的bug搜索、性能和可伸缩性测试方面的覆盖;然而,大多数用户并没有有意识地探索未知的边缘功能,因此留下了一些未发现的bug [
随着
评审软件产品的甄选工作由13名参加者完成,他们对开放源码软件工具的可持续性和促进业界伙伴关系有丰富的知识。尽管我们对选定的OSS用例的10个方面进行了全面的分析,但似乎存在使论文的发现偏向ITCR工作组的利益并忽视潜在重要的可持续性模型的风险。由于受限于公开可用的信息,我们无法讨论失败的OSS示例和重要的检查点。我们未来的目标是对更广泛的研究群体进行调查,以继续这些讨论。
除了使用Nesbitt列表讨论有关OSS的一般方面的信息外[
除了NCI ITCR之外,NIH的几项信息学工作也强调了创建OSS可持续性方法。国家促进转化科学、临床和转化科学奖中心与NIH主任办公室的项目联系在一起,包括大数据到知识(BD2K) [
其他国家,如英国和德国,也在制定国家政策来提高软件的可持续性。目前,英国已经制定了研究和创新路线图,并正在使用
展望未来,从国际治理的例子中学习并与其他对可持续软件模型感兴趣的团体合作将是非常重要的。一个值得注意的社区是可持续科学软件研讨会:实践与经验(WSSSPE) [
我们对现有可持续性模型和10个开源软件用例的回顾有力地证实了SIP-WG提出的3个未来重点领域的重要性:(1)开发一个工作流或决策树,以支持符合ITCR期望和开源工具未来许可需求的明智决策;(2)与ITCR项目合作,就10个可持续发展方面提供咨询服务,特别是治理、许可、代码质量和社区建设;(3)开发一组商业模型原型,这些原型可以用作启动模板,正式记录新软件开发计划的传播和可持续性计划。此外,我们强调在今后的ITCR活动中应考虑的5项重要行动,如下所述。
SIP-WG未来工作的一个重要议程项目应该是讨论许多ITCR支持项目的各种可持续性模式的可行性,包括非营利模式(例如,非营利组织模式、国家资助模式、基础设施模式、机构支持模式和捐赠模式)和商业模式(例如,分布式网络模式、内容许可或工业支持模式、用户订阅模式)。免费增值模式、拆分许可模式、剃刀和刀片模式、宏观研发基础设施模式和混合模式)。
研究软件的许可将对公私伙伴关系产生直接影响。混合许可模式可能是在免费使用(用于广泛使用)和付费使用(用于资金支持)之间取得平衡的最佳方式。考虑到不同OSS方法的潜在复杂性,关键涉众应该尽早考虑其软件模型的许可结构。重要的决策和更改必须与软件开发和维护的路线图保持一致,因为更改现有项目的许可可能非常具有挑战性。一旦开源项目集成了来自外部贡献者的代码,就很难合法地更改代码的许可。
WSSSPE社区指出了通过信用和奖励来增强利益相关者动机的重要性[
此外,我们应该考虑建立一个中央图书馆,使itcr资助的OSS对大量生物医学研究人员更加可见和可重用。开放存取库应该对开源软件工具进行索引,并提供其功能的简要描述和简单的示例。这个库应该指向每个OSS工具的最新版本。它将特别充当已退休的开源软件工具的存储库,这些工具可能在短期内难以获得资金支持。理想情况下,这个库应该是可搜索的,像Google搜索研究OSS一样。当研究人员有一定的需求时,他们可以首先在这个库中搜索,看看是否有一个现有的工具可以满足他们的需求,或者是否有一个现有的工具可以扩展以满足他们的需求。
在建立这样一个软件库之前,我们需要充分了解库的预期用户是谁,他们使用它的动机是什么,条目添加和更新的频率是多少,谁的责任是更新记录,以及什么资金来源将支持一个软件的未来版本。如果没有持续的管理,软件库最终可能会成为软件的墓地。
最后,我们应该将咨询资源分配给研究OSS项目(特别是在开发的早期阶段),这可以指导这些项目遵循代码质量控制、生态系统协作、安全性和依赖卫生方面的最先进的行业标准。
开源软件用例的完整描述。
从大数据到知识
伯克利软件发行
一般公共许可证
整合生物学和床边的信息学
癌症研究的信息技术
洞察力工具包
麻省理工学院
国家癌症研究所
美国国立卫生研究院
观察健康数据科学与信息学
开源软件
研究电子数据捕获
可持续发展和行业伙伴关系工作组
可持续的科学软件:实践与经验研讨会
作者感谢ITCR计划对SIP-WG作者的支持,他们为本文做出了贡献。作者特别要感谢Mervi Heiskanen在许多会议上的支持和出版这篇手稿所需的战略协调。最后,特别感谢战略科学计划中心的项目主任兼ITCR的主任Juli Klemm,感谢她的战略建议,为ITCR SIP-WG提供的投入,以及这个重要的OSS可持续性模型的努力。作者感谢匹兹堡大学的Richard Boyce博士对OHDSI案例研究的贡献,感谢芝加哥大学的Lee Liming和Vas Vasiliadis对手稿修订的贡献,感谢圣地亚哥大学的Rudi Pillich博士对ITCR连通性图提供的指导。作者感谢两位审稿人的深刻见解。作者得到了以下资助:国家职业安全与卫生研究所疾病预防控制中心MJB和YY U24 OH009077;YY,国家医学图书馆K99LM013383;1 .中国科学院院士;Mm, nih u24ca180996;Bds, nci-itcr u01ca204826; GS, U24CA248010; SP, NIH-NIBIB grant P41 EB015902; and GQZ, ITCR R21 CA231904.
MJB、YY、JRG、GS、GQZ、CD和KOE定义了手稿的范围,并起草了最初的部分。AF, IF, BER和JCS提供了重要的评论并对手稿的编辑做出了贡献。AF、SP、JCFR、AL、GS、MM、JCS、MKD、IF、JRG、BER、DPT、JBZ、MJB、koeyy、BDS、JVM、GQZ评审OSS用例并起草
KOE是Ingentium, Inc .的股东或投资者;Axiomedix公司;Seneca Creek Research LLC;和Trazend, Inc;KOE担任开源非政府组织制药基金会和i2b2 tranSMART基金会的顾问,目前担任PHEMI Systems Corp.的首席执行官。他是SpIntellx, Inc.的创始人和股权。