了解科学软件生态系统及其影响:当前和将来的措施 

2019年12月16日11:55:06了解科学软件生态系统及其影响:当前和将来的措施 已关闭评论 32 views

摘要

软件对科学事业越来越重要,科学资助机构也越来越多地资助软件工作。因此,许多不同的参与者需要深入了解如何理解软件、开发、使用及其科学影响之间的关系。在本文中,我们将通过访谈和参与者观察来描述领域科学家,软件组件生产商,基础架构提供商以及生态系统管理者(包括科学资助者)的信息需求。我们提供了一个框架,通过它可以对不同类型的度量及其之间的关系进行分类,这些度量及其从资金,开发,科学使用到科学影响的范围。我们使用此框架来组织现有措施和技术的演示,并确定哪些技术尚未普及或完全缺失。我们以旨在提高对科学软件生态系统洞察力,使其更易理解并为科学进步做出贡献的政策建议作为结尾。

1.简介

现代科学取决于软件。软件分析数据,模拟现实世界,并可视化结果;科学研究的几乎每一步都受到软件的影响。尽管商业软件的使用在科学中很重要,但是科学家、软件开发人员和学生自己正在开发目前在学术环境中使用的大量软件。该软件主要由国家科学基金会(NSF)、美国国立卫生研究院、能源部(DoE)、国防高级研究计划局及其全球类似机构等国家资助机构资助。

科学家、软件和基础设施提供商以及资助者对科学软件具有广泛的信息需求,我们将在下面对此进行详细讨论。但是,几乎没有数据可以满足这些需求。在这一领域,与研究评估的其他领域一样,数据可用性是“当今研发计划和政策评估的关键问题”之一(Rogers 2013:2)。

评估科学软件生态系统的部分复杂性来自将不同软件组合在一起并重新组合为工作流和程序集的方式。通过这种方式,软件可以在分层体系结构中的“其他”软件组件之上运行,从而有效地向用户隐藏了这些组件,但用户获得了服务并从这些组件中受益。每个组件都是独立生产的,相互提供服务,但也可以按不同的时间表开始、更改和有时结束。因此,我们说的是科学软件生态系统。科学软件进一步增加了复杂性,使其与科学名誉经济(尤其是出版系统)相互作用。为了衡量软件的科学价值并指导其生产和使用,评估涉及到科学软件整个生态体系的各个环节。

因此,我们要解决四个问题:

  1. 在科学软件生态系统中扮演不同角色的人们想知道什么?
  2. 有哪些可用措施?
  3. 尚未测量的是什么,为什么未测量,以及如何测量?
  4. 有哪些政策选项可以改善这种情况?

我们利用文献综述和定性现场调查,包括半结构化访谈和参与者观察。我们已经在其他地方描述了我们的采访和采访协议Howison&Herbsleb(2011)豪生与赫伯(2013); 我们总共进行了35小时的采访。这些访谈的材料构成了以前论文的经验基础,但在这里,我们利用访谈中得出的大量材料来满足受访者表达的需求,以获取有关他们实际上如何开发,维护或管理软件的信息。用过的。确实,正是这些材料的捕捉与以前的论文的主题不符,才启发我们进行此处报道的工作。我们的参与者观察包括在4年的时间里组织了四个研讨会,并参加了另外三个研讨会。此外,第二和第三作者分别在科学软件生态系统中拥有超过15年的经验。我们的文献综述包括正式文献和灰色文献。特别是,Carver 2009 ; Stewart,Almes和Wheeler,2010年Stodden等。2010 ; 贝伦特,豪生和金(2013)。

我们的方法以Weick(1989)的工作为指导。韦克将理论的发展描述为针对“感觉制造”并遵循迭代选择标准的“纪律性想象力”,尤其是通过这种选择过程发展出来的“合理性和趣味性”特征。在实践中,我们记录了每次访谈,然后在彼此之间讨论了访谈,并制作了说明我们不断发展的理解的备忘录。然后,这些备忘录构成了返回访谈重新聆听和确认解释的指南。参与者的观察使我们能够将不断发展的理解带入社区,参与“成员检查”。这样,我们的解释常常受到挑战,促使我们寻求进一步的讨论(有时是访谈);我们还与关键线人分享了本文的草稿,并结合了他们的见解。不过有时候我们将尽可能突出显示现有测量的真实示例,以说明我们正在讨论的测量,并指向网站和出版物,以帮助读者进一步了解测量技术及其成功实施的细节。重要的是要注意,我们的采访仅限于美国的参与者,而我们的参与者观察主要发生在美国,尽管有些作者已经与欧洲和其他国际合作伙伴一起从事了多年的项目研究。

文章的结构安排如下。首先,我们研究了科学软件生态系统中不同角色的信息需求。然后,我们抽象出一个框架,用于对不同类型的评估及其关系进行分类。我们使用此框架来组织现有技术的展示,并确定哪些技术尚未普及或完全缺失的领域。我们以旨在提高对科学软件生态系统洞察力,使其更易理解并为科学进步做出贡献的政策建议作为结尾。

2.科学软件生态系统中的角色和信息需求

我们的定性现场工作和参与者的经验使我们确定了我们的信息提供者在整个科学软件生态系统中所扮演的四个不同角色,每个角色都与对不同类型的见解以及评估方法的需求相关。这四个角色是:(1)科学家最终用户,使用软件承担学科领域工作;(2)生产和分发科学软件组件;(3)管理科学软件安装,包括HPC中心和软件分发;以及(4)具有对科学软件生态系统的整体功能的关注,包括资深科学家和科学政策制定者,例如资助机构及其人员。任何人一次都可能扮演多个角色,或者该角色可能由一组人扮演。

2.1科学软件的终端用户

从事领域学科的科学家是科学软件生态系统中的关键角色。担任我们职务的科学家们正在推动他们的科学研究,并在此过程中收集了软件工件以收集、管理、格式化、分析、建模和可视化数据,最终目的是将其结果发布到科学文献中。 。科学的最终用户有时也会编写软件代码,尤其是将从其他地方获得的软件组件链接在一起的“胶水代码”,以及旨在供本地使用而不用于再发布的定制组件(尽管它们可能是根据要求共享)(例如Brown等人2007)。

从软件终端用户的角度来看,科学软件生态系统是促进和支持特定研究的软件提供商。用一位线人的话说,关键是“把情节弄清楚”。为了实现这一目标,最终用户组装商关心外部组件的可用性,质量和可用性。此外,他们担心所选组件在科学上将继续有用的可能性,以及这些组件将继续与最终用户为完成其科学工作而组装的其他软件组件一起使用。

科学软件终端用户有兴趣了解在产生科学结果时使用了哪些软件和配置。在大型实验室或协作中,这意味着了解并记录其他人使用了什么软件以及他们如何使用它。但这还意味着能够准确地回忆起他们自己在产生特定结果时使用的内容。有趣的是,尽管许多线人称其为可重复性的兴趣,但他们的重点是了解过去以重新审视它,以此作为将来扩展的基础。作为终端用户的科学家希望记录并恢复用于处理该代码的内容,而不仅仅是重播它。

科学软件终端用户对其他终端用户正在使用的内容感兴趣。当我们问参与者为什么要使用特定的组件时,他们表示,如果审稿者很好地理解所使用的软件,他们可以更轻松地专注于论文的科学贡献。这意味着要使用其领域中许多其他科学家使用的软件。科学家对其他终端用户正在使用的东西感兴趣的第二个原因是,看到其他人选择更改所使用的软件可能表明他们的方法发生了变化,这始终是对科学前沿感兴趣的科学家所关心的。最后,被广泛使用的软件既是一个质量有保证的信号,也确保能找到有合适技能的职员和研究生,在同行中能找到充分的经验解决软件的问题,他们只需要关于科学的本身。

正如我们将在下面讨论的那样,科学家们超出了他们特定的实验室的思考范围,但是终端用户所表达的主要担忧涉及以下问题的答案:软件的成本是多少(金钱,安装,维护,学习新软件并将其集成到我的方法中需要多少时间?我需要安装,配置或开发其他哪些软件才能使用该软件?如果我在部署和使用此软件上投入了时间和资源,谁会支持它,如果遇到问题,它们将能提供多大帮助?该软件多久更新一次,我是否必须升级?该软件是否还会在明年推出?使用此软件给我带来什么责任(例如许可或引用请求)?还有谁在使用此软件(及其使用这些方法)?

2.2软件组件生产者

生态系统的第二个角色是生产科学软件组件并发布它们,以便其他人可以使用它们。我们的信息提供者从个人到团队(为简单起见均称为项目)不等,所产生的工件仅被少数人使用,而整个学科都使用。我们与之交谈的项目通常由诸如美国NSF或美国能源部(DoE)之类的赠款提供资金,但其他项目则作为并行软件实践的一部分进行组件生产,仅因发表有关其软件的论文的声誉收益以及所获得的声誉而获得回报来自用户对其软件的赞赏。最终共享的某些软件开始时是纯粹为上述个人使用而设计的软件。有时,该软件会位于单个实验室或小组的范围内,但有时,Van de Geijn 1997)。

在某些情况下,该软件是在领域科学家和计算机科学家之间密切合​​作开发的,彼此都在做研究。计算机科学家正在使用现实世界中的问题来进一步了解应用程序及其在其上运行的计算机系统的行为。他们开发了新的算法,并将其整合到软件中,然后由领域科学家用于其研究。对于计算机科学家来说,一个挑战是尽可能多地抽象该问题,以使他们的解决方案和软件可以广泛地使用,并可能在许多领域中得到应用。Pegasus工作流管理系统就是这样的情况(Deelman等人,2005年)),它开发了可在分布式环境中执行复杂工作流程的技术。Pegasus开始作为针对引力波和高能物理领域的项目的一部分(例如Deelman等,2004)。但是,该解决方案具有足够的通用性,因此被天文学家,地震科学家,生物信息学家等广泛采用。

软件组件生产者的评估的关注点集中在项目外他们的软件发生了什么。实际上,组件生产商正在关注他们在整个软件供应链中的地位。这包括对了解谁在使用他们的软件组件以及这些用户对代码进行的操作(包括如何配置)的兴趣。这些见解对于软件组件生产商很重要,原因有两个。

首先,了解项目产生的软件会发生什么与科学软件项目如何以及为何获得资源密切相关。项目关注软件的科学影响,包括软件所覆盖的用户数量和类型,以及软件如何为他人所从事的科学做出贡献。因此,组件生产者担心他们拥有的用户或者他们不了解的用户,或者他们的用户以科学文献中不明显的方式使用软件。一位线人在谈论他如何告诉资助者他的软件论文收到了多少引用时沮丧地笑了,因为他相信这些引用只占实际使用他的软件进行科学工作的人的“不到10%”。软件组件生产商经常(但不是普遍地)使用其网站上突出显示的位置来吸引其用户提供引用并在申请资助时直接与他们联系以寻求支持。

其次,深入了解项目所产生的软件将发生什么,有助于项目理解要从事的工作,应对其组件进行增加或更改。对于某些项目(通常是拨款资助而不是开源项目),这几乎完全被理解为了解其软件的“用户需求”。从本质上讲,这可能是相当广泛的,因为它包括知道其他科学成分的变化何时应该影响该项目。例如,由他人生产的将数据馈送到项目组件的组件更改可能会引发一系列错误报告,并要求项目更改代码,直到周围的生态系统发生变化为止。比兹,鲍默和李(2010) 当项目对周围的生态系统做出反应时,将这种重要的工作描述为“协同作用”,以适应不断变化的“生态位”的生态理念有助于思考。

那么,从生态系统的角度来看,软件组件生产商对生态系统洞察力感兴趣,可以回答以下问题:谁使用我们的组件以及如何使用它们,他们当前面临的挑战和即将出现的计算需求是什么?我们如何为他人的科学做出贡献?我们的工作在科学文献中可见吗?我们的软件还与其他哪些组件一起使用?这些其他组件如何变化?

最后,一些项目采用开放源代码的方式进行管理,并且成功地吸引了许多科学家的贡献,其中包括贡献不大但有着实质贡献的人员。个人贡献者的可见性通常对于声誉以及为捐款者的各种出资者证明时间和精力的合理性很重要。这就提出了相关的测量问题,即哪些科学家为一个开放项目贡献了哪些功能。

2.3软件分发和执行管理者

科学软件生态系统中的第三个角色是那些提供软件集合的人员,供最终用户在其科学工作中使用。此类软件可以作为集合提供,以下载到用户自己的计算机上,或者用户可以将其计算结果带到软件执行环境中托管的软件的集合中,包括超级计算机和云计算以及提供对其访问权限的科学网关(Wilkins-Diehr等人,2008)。我们的信息提供者包括两个主要示例的参与者:SBGrid和提供国家计算资源的超级计算中心。

SBGrid为结构生物学家提供了软件分发,并收取会员费(Morin等,2013))。成员实验室可以访问软件发行版以及需要它们的那些软件包的一组共享许可证。该软件由SBGrid收集,适当打包并通过定期更新进行分发。实验室成员在安装了SBGrid软件的自己的计算资源上组装并运行分析。SBGrid的工作人员还担任联络员,负责接受错误报告,如果问题需要软件创建者的注意,则将其“推向上游”给适当的软件组件生产者。SBGrid的软件发行版中的工作主要包括监视新版本的项目,将其应用到发行版中,包括为目标平台构建它们,并解决其在发行版中的依赖性。此外,像云计算提供商这样的超级计算中心会结合执行环境来分发软件。尽管该软件位于中心位置(通常在它们提供的硬件上运行),但从某种意义上说,它已分发给用户使用。所提供的软件包括专用于特定硬件的编译器,促进多处理器计算的中间件库(例如,消息传递接口或MPI堆栈)以及经过特殊调整以在所提供的特定计算环境中表现良好的分析包(例如,CHARMM的特殊编译版本,例如,哈佛大学分子力学软件。超级计算中心的核心关注点是它们在用户之间共享的计算资源的利用。

从生态系统的角度来看,两种软件发行商都对生态系统洞察力感兴趣,以回答以下问题:谁使用或不使用什么组件?他们使用哪个版本?他们多久更新一次?哪些新程序包应包含在发行版中或通过网格或云环境提供?这些问题与了解何时可以淘汰特定组件,减少必须管理的发行版的大小以及释放资源用于其他工作特别相关(McLay和Cazes 2012)。那些同时管理提供执行环境的计算资源的人还对其他问题感兴趣:哪些代码消耗最多的计算资源;它是优化工作的候选人吗?哪些代码导致更多执行错误?(Hadri et al.2012)。此外,由于这两种类型的软件发行最终都试图通过专业身份或寻求新的资助来促进科学影响,所以两者都对理解它们所促进的科学感兴趣,方式与软件组件生产商几乎相同。 。

2.4生态系统管理员

我们的许多参与者还关注生态系统的整体功能及其对科学的贡献。这些问题对于NSF或DoE等供资机构的项目官员尤为突出,但其他各方也都表现出了浓厚的兴趣,其中包括资深领域科学家,他们的思考超出了他们的个人工作,并从整体上思考了他们的领域。

这里表达的关注点集中在生态系统作为一个占用资源(时间,金钱和注意力)并影响科学的行为和产出的系统的问题上,无论是在整个领域还是在各个领域,对生态系统的兴趣都得到了补充。系统的行为可能会受到影响。这些是较传统的研究评估问题,旨在了解资金和计划决策的影响。

网络基础设施愿景在“阿特金斯报告”中表达,并在NSF呼吁持续创新的软件基础架构(NSF SI2)中针对科学软件生态系统进行了实例化,它不仅构想了软件的发展,而且随着时间的推移其效率也在不断提高(阿特金斯2003)。对此的关键是相信软件应该朝着共享平台发展,随着最终用户和组件生产商将特定软件组合在一起,组件应尽可能广泛地被重用。关于科学以外的软件平台的文献将其称为“取芯”和“小费”(Gawer和Cusumano,2008年)),社区可以发现它的共享功能,并在提供它的软件包周围合并,从而通过规模经济有效地利用资源。取芯还会导致重叠使用的增加,从而促进科学的更多透明度,从而提高质量和正确性,因为更多的目光和精力都指向了可维持并在长期的科学有用性中发展的同一段代码。

向平台取芯可以与之相反,反而经常被线人所察觉:功能失调的混乱搅动,许多项目的用户很少,每个人的生命都以其最初的资助资金而告终,用户社区互不连接和平行,顽固地保持不变,并且周期性地似乎不协调的“重新启动”尝试。潜在的担心是,机会错失了,科学的发展速度减慢了(例如Stewart,Almes和Wheeler,2010年)。

这些普遍关注的问题提出了一系列具体问题,重点关注生态系统中的整体模式和新兴模式,包括:哪些资金用于软件生产?项目有多少个用户或用户社区?这种使用有什么科学影响?用户数量在增长吗?项目是否有足够的资源和技能来应对增长?哪些项目具有重叠功能?一段软件和项目可以持续多长时间?我们是否断开了用户和开发人员社区的连接?是否缺少特定的组件或组件层?哪些代码经常一起使用;项目和生产这些组件的人员是否进行了适当的沟通?我们如何维持关键软件?

除了这些问题之外,还有如何影响生态系统的问题,包括导致合并使用的临界点问题以及鼓励使用特定组件的直接政策干预措施。在这里,对灵活性和自由的渴望与对科学创新的期望,对权力结构和协调控制的渴望之间存在着明显的张力。影响力的问题包括:哪些资助计划以及他们提出的哪些要求导致了软件的广泛使用和重大的科学影响?合并程度更高的字段的特征是什么?哪些期刊和会议有模范政策?在聘用和评估实践(如权属案例)中如何看待软件工作?

3.科学软件生态系统目前和缺少的措施

上面讨论的兴趣和信息需求是多种多样的;它们扩展了软件组件的创建,分发,使用和评估的整个生命周期。为了组织下面的讨论,我们提出了一个简单的科学软件过程模型框架,如图1所示。

图1。
了解科学软件生态系统及其影响:当前和将来的措施 

资源专门用于生产科学软件。最终用户科学家(直接或间接)使用软件组件进行科学研究,从而产生科学影响。然后,科学影响证明资源是合理的,无论是预期的(预期的影响证明初始资源的合理性),还是追溯性的(科学影响证明持续资源的合理性)。

上面讨论的许多问题涉及框架的多个部分,这使其成为组织我们对测量技术的讨论的有用方法。例如,生态系统管理者(例如,资助机构计划官员)可能主要负责分配资源,但是要有效地分配资源,他们需要深入了解每个领域,从生产(或提议)的软件到其科学影响。组件生产者专注于理解所需的工作,并争论着提供资源来完成这项工作,但为此,他们需要通过在科学中的使用(或预期使用)来说明其软件的科学影响。科学最终用户主要感兴趣的是记录其内部软件使用情况(以及该软件可能产生的科学影响)以及查看其他人正在使用的软件,

就像我们将看到的那样,当前使用的许多度量标准仅关注过程模型中的一个元素,从而限制了它们的广泛用途。因此,提高指标评估整体过程的能力(在过程中“围绕”模型中的元素“扩展”)是我们得出结论和提出政策建议的关键。在下面的讨论中,我们将检查上述框架中的四个连接。然而,其中一些联系目前更容易衡量;因此,我们的讨论是不平衡的,对于某些人而言,讨论时间要长得多。我们在总结中再次谈到这个问题,以强调在我们框架的各个部分以及整个框架中进行度量开发的必要性。

3.1软件资源

了解科学软件的构建方式是衡量科学软件生态系统至关重要的第一步。我们从这个询问中看到两个出发点:一个可以从科学软件包开始,并且谁在一段时间内做出了贡献,以及这些参与者的动机(以及在某些情况下,是有资金的)。或者,可以先从资金来源开始,然后问一问如何产生科学家使用的软件。两种方法都需要有关构建软件工作的数据:谁在何时做什么。

第一个策略在Howison和Herbsleb(2011)中采用其中考察了用于构建三篇重点论文的软件,并通过访谈收集了有关动机和资金的数据。他们确定了六种科学软件生产模式,主要根据主要动机进行了区分:(1)直接金钱奖励(商业软件,受雇软件开发人员)(2)学术声誉(由直接科学需求驱动的附带软件)(3 )并行软件实践(通过与领域研究一起发表“软件论文”来增强科学需求)(4)软件子领域(软件工作的直接声誉),以及(5)大型合作中的双重许可和软件工作的混合体(软件作为直接的科学贡献)。因此,用于制作软件作品的资源确实包括对软件作品的直接赠款,访谈方法对于定性洞察很有用,但不能按理解上述大多数问题所需的规模进行规模收集。当源代码控制系统中有软件产品的工作历史时,就有可能采用有希望的中级方法。诸如CVS Subversion和git(位于github下的git)之类的系统会随着时间的推移(“提交”)存储对代码的每次更改,并跟踪谁将更改添加到了存储库(“ committer”)。在考虑了项目工作流程的细节之后,提交者的身份和机构位置可以作为支持该软件生产的资源来源的代理。在科学以外的研究中,Wagstrom等。2010)。

这些存储库的优点之一是可以识别贡献事件并将其与支持来源相关联。通过从“提交”的完整列表开始,人们可以寻找导致这些贡献的工作的背景,可以避免通常是记忆特征的过度概括,就像在Howison中研究科学以外的开源开发一样和Crowston(2014)。这样,努力就为来自各种来源的项目做出了贡献,其中包括无法分配给任何特定资金来源的所谓“黑暗努力”。1个

其他方法从研究资金入手,特别是有关赠款的管理数据(Rogers,2013年),并试图跟踪所产生的软件产品。更具体地说,美国国家科学基金会(NSF)最近对其报告进行了调整,以专门包括软件产品以及其他研究成果,例如出版物,网站和数据集。因此,代理机构能够构建将其资助资金与特定软件产品联系起来的系统。这方面的努力包括由NSF的高级网络基础设施计划和DARPA运行的OpenCatalog编制的目录。这些努力往往仅限于专门为软件提供资金的计划,但从理论上讲,可以扩展到所有资助组织。

追踪研究资金和生产的软件之间的联系可以利用现有的技术来联系资金和其他捐款,特别是出版物。通过检查出版物,研究人员可以借鉴资助机构和/或利益冲突披露通常要求的资助确认声明,以将出版物与资助联系起来。最近,一些书目数据库已开始系统地提取资金确认信息,并更直接地将其呈现(Rigby 2011)。

与出版物相比,收集和分析出版物的资金确认要容易得多。首先,资助机构多年来一直坚持出版物的资助方式。这是一种既定的预期做法。其次,书目数据库提供了出版物的集中收集以进行分析。对于软件,这两个条件都不具备:科学软件包通常不会收集成大批软件,而是单独分发,并且不清楚是否需要资助机构对应用程序或其源代码进行确认,以及在何处进行确认位于。例如,某些项目在其项目网站上进行资金确认,而不是将该确认嵌入源代码本身。

3.2使用软件

科学中软件的分发和使用对于衡量我们是否要满足上述信息需求至关重要。这也令人惊讶地困难。一次性调查虽然可以发挥作用,但代价高昂,给已经忙碌的生态系统参与者带来了巨大的应对负担;即使如此,一次收集数据调查也不会产生持续的洞察力。因此,我们着重于利用软件活动副作用的措施。正如我们所看到的,有四个机会可以观察软件的使用或合理的使用代理:(1)用户获得软件时;(2)用户寻求软件使用支持时;(3)软件实际使用时执行,以及(4)存储软件工作流程和程序集时

3.3测量分布

当软件以商业形式分发时,支付软件许可费用的要求有两个含义:第一个是软件生产商了解其用户的身份,第二个是金钱的价值使用户减少其获得许可的可能性。付费,然后不使用软件(尤其是在更新时)。

分发软件以供免费下载或仅将其安装在超级计算中心时,就不会自动记录用户获得该软件的情况。这与商业销售的软件相反,甚至与通过从存储库下载或通过软件包管理系统获得的开源软件形成对比。缺少自动访问的数据意味着项目(或其他感兴趣的项目)必须做出特定的努力来了解谁获得了他们的软件。有两种用于完成此操作的关键技术:第一种是对下载进行计数,第二种是对寻求下载的内容进行注册。

下载评估包括直接从公共位置或通过软件包管理系统分析下载软件时创建的日志文件。当软件以多种渠道分发时,就会出现第一个问题:例如直接从项目网站下载,包含在另一个软件包中,包含在分发中,直接在执行站点上安装或从朋友那里复制。在大型项目中,一个渠道可能足以支配最低指标,但是许多科学软件项目的潜在市场规模相对较小,因此缺少整个分销渠道可能会严重偏低总分销量。

更成问题的是,分发是使用的不良代理。许多下载可能根本无法使用:下载器可能会出于某种原因尝试使用该软件并发现需要该软件。而且,许多下载可能是由于不科学甚至是非人为传播而导致的,例如当机器人下载该软件时,可能是网络爬虫的结果。

最后,当软件更新并发布新版本时,实际用户可以重新下载软件。因此,如果下载不针对新版本进行调整,则下载数字将夸大使用量。这既是问题,也是机会。在这些情况下,随着普通用户更新软件,下载后下载立即激增。存在使用这种理解将原始下载数量的时间序列转换为已安装基础的估计和实验的估计的技术(从而将下载器转换为常规用户)。Wiggins,Howison和Crowston(2009)的图2显示了逻辑。

图2。

了解科学软件生态系统及其影响:当前和将来的措施 

将下载时间序列转换为已安装用户群的估算值(Wiggins,Howison和Crowston 2009)。

诸如上述的那些被动的,关注分发的技术可以通过适当的调整来提供用户数量的汇总数字。但是,出于其他目的(包括围绕上述框架进行扩展),需要了解用户的身份,以了解并了解其使用环境,并寻求具有科学影响力的证据(请参阅下文)。用户注册要求那些寻求该软件的人员在提供注册链接之前提供联系方式,通常要求提供基本信息,例如姓名,电子邮件地址,机构以及领域科学领域(例如,UIUC的VMD项目,< http: //www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD>)。当在出版物中描述了代码但“根据要求提供给作者”时,提供了类似的功能;这种技术可能会使对软件的探索停滞不前,但至少生产者对真正感兴趣的人有清晰的认识。但是,与下载一样,以这种方式进行注册仅计算发行量,不直接使用。此外,该请求可能被潜在的下载者视为烦人的,甚至侵犯了用户的隐私,尤其是在竞争激烈的领域。尽管如此,为项目或为项目提供资助的人优先考虑创建可能的用户列表是合理的,即使是以推迟一些潜在用户为代价。替代方案是对使用情况缺乏真正的了解,或者花费昂贵的精力来调查很快过时的用户群。

3.4测量支持

在项目邮件列表上询问的问题可能是有关软件使用的有用数据来源。它揭示了用户的身份,问题的内容可以揭示有关使用性质的信息,甚至可以扩展到了解哪些外围组件与软件组件互补。因此,测量来自用户的联系是科学软件项目所采用的使用的代理。这样的联系方式可能有多种形式,包括邮件列表,论坛,Bug跟踪器和直接电子邮件。在某些情况下,软件提供商会将跟踪编号分配给他们的支持问题,从而有可能使跟踪软件提供的支持更加容易。HTCondor(Litzkow,Livny and Mutka 1988)是此类软件项目的一个示例。)。项目还可以统计未发布但正在关注的用户,例如,当项目将订户人数推到其项目邮件列表中时。

作为使用的代理,衡量活动既有优点也有缺点。可以合理地假设,与某些匿名下载者相比,预订,更新或询问问题的人更可能实际在运行该软件,因为某些下载者不会继续使用该软件(Wiggins,Howison和Crowston 2009)。同样,虽然很容易将大量支持请求或错误报告解释为表示难以使用的软件(也许是由于文档不佳),但发布问题所需的努力却表明了真诚的使用意愿(甚至是改进)软件,从而使提问者看重它。相反,只有面向用户的软件才可能引起活跃的支持讨论。由其他软件的开发人员使用的基础结构软件或开发库可能会被广泛使用,而不会引起广泛的支持讨论(请考虑有多少电子邮件客户端用户知道与邮件服务器实际交互的库,或者有多少开发人员使用库进行字符串操作,而不会遇到任何问题。)

此外,对项目中用户消息的原始数量进行计数与对下载量进行计数而不对版本进行调整的重复计数方法是相同的:单个用户可能会生成许多消息。因此,应通过按标识符(例如电子邮件地址或真实姓名)进行规范化来调整用作代理的邮件数。基于订阅的号码可以通过使用邮件列表探针来规范化,该探针列表探针可以自动退订那些带有退回电子邮件的邮件或无法响应提示的邮件。

3.5评估软件执行

从理论上讲,软件可以报告大量有关其使用的信息,首先是软件运行的事实,然后向外扩展以描述其运行的环境。这是因为程序可以在其执行过程中将消息发送到中央服务器。该消息可能只是报告该软件已运行,如Thain,Tannenbaum和Livny(2006)针对Globus软件所述。。但是,该消息可能更加复杂。例如,包括Microsoft Word在内的桌面程序经常会问用户程序崩溃时程序是否可以生成并传达内存和执行状态的日志,从而为开发人员提供了非常有用的数据(尽管有过载的危险)。程序还可能具有有关其执行环境的有用信息,包括操作系统和版本,或其他“邻近”软件(例如与组件交互的任何虚拟机或其他运行时软件依赖项)。

来自外部科学的一个很好的例子是可用于Debian和Ubuntu Linux发行版(http://popcon.debian.org/)的软件包“流行竞赛” 。该软件包检查用户的文件系统和本地软件包数据库,以确定已安装了哪些软件包,并通过观察访问特定文件的最后日期来确定该软件包运行的频率。结果通过匿名UUID报告,暂时存储并仅公开发布。自述项目README解释了发行版的维护者如何使用这些数据来决定要优先考虑的软件包的优先级。

科学的最终用户可能会认为数据收集工作过于有侵略性,认为它们会影响性能并传输敏感数据(Thain,Tannenbaum和Livny 2006)。例如,在《结构生物学》中,实验室正在研究一个特定分子这一纯粹事实表明,他们认为它很容易处理,揭示了数月离线工作的结果,并为竞争者提供了竞争优势(Howison and Herbsleb 2011)。另一方面,项目实际上很少有人关注。塞恩,坦能鲍姆和利夫尼(2006)报告称,尽管他们的调查显示出人们对隐私的广泛关注,但实际用户并不关心透露自己的使用情况;实际上,用户要求将其添加到全球Globus使用示例中。这个有趣的结果表明,至少对于这个特定的用户社区,隐私问题比具体的问题更抽象。尽管如此,社区支持是最重要的。

第二类运行时观察是对位置(例如超级计算或云计算环境)进行检测,在其中将代码(和数据)组合在一起执行。与个人或实验室基础结构不同,这些共享的计算资源不属于进行计算的科学家所有。而且,这些资源是在特定使用条件下提供的;提供者有正当理由了解其平台上正在执行的操作。超级计算中心传统上一直专注于报告资源的可用性和利用率,但并未试图详细研究或报告科学家在“内部”计算工作中使用的软件。例如,OSG指标和XSEDE需求指标(XDMoD)项目可以通过各种参数记录和分析使用情况,Barbera等。2012 ; Furlani等。2013)。

但是,近来,许多执行环境已朝着了解在其系统上执行的计算作业中正在运行什么软件的方向发展。这些询问主要是由了解理解如何有效使用计算资源的愿望所驱动。例如,德州高级计算中心已开始收集和报告有关如何在用户的计算工作中使用经过专门调整的软件库(称为“模块”)的数据(McLay和Cazes 2012),以帮助该中心确定维护的优先级和最常用的组件的优化。Cray超级计算机也进行了类似的努力(Hadri等,2012)。

科学网关为特定的科学领域提供对计算资源的自定义访问,使查找他人创建的工具和再现结果变得更加容易。这种面向服务的计算模式越来越成功,包括诸如HUBzero(McLennan和Kennell,2010年),Galaxy(Goecks等,2010年)和MyExperiment(Roure等,2009 )之类的示例)。这些环境同时提供执行和存档服务,通过提供工具和工作流的存储库来帮助用户实现上述目的,并且提供了一种无需下载,编译或安装任何代码即可轻松运行它们的简便方法。在此过程中,服务可以收集有关用户访问了哪些工具和工作流,甚至是哪些特定用户已经运行以及采用何种配置的数据。但是,当前,与用户的使用协议和理解排除了对这些数据的特定使用。例如,基于HUBzero的各个站点将报告一段时间内所有工具的模拟运行总数,一段时间内特定工具的运行总数,甚至是按国家/地区划分的用户细分,但是网站不会报告有关单个用户的信息,甚至不会报告工具已经探索的输入参数空间的信息。服务与他们的用户对他们的信任以及对用户数据的机密性有适当关系。

但是,这些服务报告的汇总数据非常有用。HUBzero使用这些数据作为自动计算的工具“等级”的一个因素,该等级在0-10的范围内衡量质量。使用率越高,以及与工具相关的用户评论,引用和支持活动,排名就越高。具有高排名的工具往往会在搜索和浏览活动中冒泡,而具有低排名的工具则更难找到,这一特征很可能导致其他人优先发现该工具,从而导致工具周围的社区联合。此外,这样的综合影响指标强烈激励研究人员向存储库贡献新工具。在HUBzero网站上,每个贡献者的个人资料上都有一个区域,显示其所有贡献的影响指标,包括已运行工具的用户数量,已执行的运行次数以及学术文献中对该工具的引用次数。MyExperiment具有类似的个人资料页面,显示用户的贡献以及来自其他已重复使用其资产的用户的兴趣,朋友,组和信用。研究人员将这些数据用作其科学影响故事的一部分,例如在保有权和晋升案例中,并争辩为继续研究提供资金(https://nanohub.org/members/3482/usage)。

某些服务提供有关用户自己的活动的详细信息,包括访问的数据文件,使用的工具以及将计算链接在一起的方式。例如,Galaxy提供了这类详细的出处信息,以帮助用户构建新的工作流程。用户可以试验他们的数据,查看有效方法,在操作过程中注释步骤,并根据详细历史记录中记录的步骤自动创建新的工作流程。用户可以选择将其在Galaxy中的数据集,历史记录和工作流程共享给其他特定用户或作为已发布实体的世界。Galaxy“页面”提供了每个计算实验的完整描述,包括注释和图表以及嵌入式数据集,工作流和历史记录。

可以研究对这些服务收集的广泛用户数据的完全访问权限,以提供整个科学生态系统的见解。例如,产生于HUBzero平台的网站nanoHUB.org自2002年以来一直活跃,并且每年增长到30万用户。因此,它具有大量的用户交互数据。这些数据已在满足用户隐私策略的控制下与社会科学家共享。一项研究表明,最初为研究而创建的工具往往会迁移到教育环境中,采用时间的中位数不到6个月(Madhavan,Zentner和Klimeck 2013)。另一项研究显示了nanoHUB用户社区中不同的团队形成原则,并提取了成功团队的特征(承包商2013)。

另一种可能性是通过挖掘科学工作流程的档案来评估使用情况,例如在某些领域进行出版所需的工作流程(例如,McCullough,McGeary和Harrison 2006)。这些档案的重点在于可再现性,而不是测量本身(Stodden等人,2010年)。通常,期望的是已存储的最终研究成果已发布,或与作为结果基础的工作流程相关联。这方面的一些努力试图使整个过程自动化,从数据分析,生成图形,将其与纸张文本集成到生成PDF,这种方法称为可执行文件(http://www.executablepapers.com)。但是,一旦档案包含以这种方式存储的许多研究记录,则可以挖掘其档案以标识已使用的特定软件包,并具有直接将该使用与相关出版物关联的附加优势,从而可以达到所描述的周期以上,将使用与科学影响联系在一起。

最后,可以对用户(和潜在用户)进行调查,以寻求大量科学家的指示,说明谁使用了哪种软件以及出于何种目的。一个挑战是建立适当的样本框架。例如,简单地调查用户社区将是有问题的,因为这将不代表非用户或前用户的输入。同样,公开征集受访者似乎更有可能吸引已经使用该软件的受访者的反馈。第二个相关挑战是应对参与者响应的动力。调查响应非常耗时,对被调查者的内在兴趣不大。热情用户(或热情不高的前用户)引起的系统性偏见比非用户对项目调查请求做出响应的动机更强。一种可能是围绕便利但广泛的样本框架(例如,向期刊或会议提交的所有意见书)安排调查。尽管如此,鉴于受访者的具体召回限制和回应率与要求的细节之间的取舍,调查是获取详细使用用法的困难工具。

3.6用于影响

虽然研究评估的影响既意味着对科学的影响,也意味着更广泛的社会和经济影响(Penfield等人,2014),但我们专注于科学影响,因为研究基础设施的更广泛影响是由其支持科学研究的能力所介导的。

一种常见的方法是,资金,软件和执行资源的提供者要求其用户帮助他们报告影响,通常是通过要求用户告知提供者哪些出版物得到了帮助。科学家和其他人熟悉赠款过程中的此类请求。授予者要求提供定期和最终报告,以总结资源如何转化为影响的方法,通常是通过要求资助的项目提供已得到支持的出版物和其他捐款清单。

从软件包提供者到其用户的类似请求遭受两个问题:动机和特异性。

认可的动机是有问题的,因为与资金提供者不同,软件提供者几乎没有杠杆作用。确认的请求取决于吸引用户的更好性质,并暗示项目的继续或改进受到威胁。当前的科学实践并未利用软件许可所提供的可能性,即可以像使用知识共享署名许可和Apache Foundation的NOTICE源代码许可政策那样,视用户提供适当的确认而使用软件(http://www.apache.org/licenses/example-NOTICE.txt)。

但是,更多的问题仍然是特异性问题:仅仅提供一篇文章的引用并不能说明该研究如何从特定软件中受益,也不能说明没有该部分就不可能进行该研究。软件(更容易提供研究资金)。最终出现了“分数信用”的问题(Katz 2014):如果有用的信息是直接使用某款软件可以促进研究论文的发展,那么暗示提供直接依赖于该软件的软件依赖者的贡献也有多大作用呢?如果是这样,如何在依赖关系中重新分配应计的贷项?但是,这些问题很可能与仅让用户首先提供此信息的困难相形见,,尤其是当项目扩展到一小群用户之外时。此外,该系统将遭受数据缺口的困扰:如果任何项目不要求其用户使用,那么信用链将因较低的依赖性而中断。

一种替代方法是将出版物视为一个数据集,可以将其挖掘出来以识别出版物准备过程中使用的软件,从而可能以某种方式对科学做出了贡献。科学出版物本身确实包含有关软件使用的重要数据。它们以三种形式出现:引文,提及和插入到论文中的工件(例如图形)。使用引文标识软件使用并因此主张影响力是指分析引文列表以获取引用特定软件包的出版物。当项目编写有关软件包的“软件出版物”或“方法论文”并且其用户逐渐了解他们应该引用这些论文时,这是可能的。这样的话 应该有可能使用自动化的文献计量系统来提取此类引文并将它们连接到它们指示的软件包。不幸的是,各个领域的软件引用实践差异很大Howison和Bullard(正在出版)似乎错过了重要的软件。例如,Howison和Herbsleb(2011)发现项目并未正式引用整个软件类别,包括商业软件(即使论文发表时)和作者或软件开发人员在内部合作开发的内部软件。 。此外,一些场所积极地阻止对软件包的引用,而当一篇论文使用了许多软件包时,尝试全部提及它们可能导致冗长的引用列表。

提及了出版物记录中的第二种证据形式。此处,我们仅表示在出版物的自由文本和脚注中使用包名称,而不是对软件出版物的正式引用。在某些领域,例如生物信息学,通常的做法是以类似于化学试剂或仪器的方式在论文的“材料和方法”部分列出程序及其版本。这些提及可能适合衡量使用情况并因此对文献产生影响,尤其是在评估研究问题始于要查找的包装清单时。

出版物中的第三种证据形式是通过包含软件创建的特征工件。这里的意思是由特定软件包(尤其是图形和统计软件包)生成的图形和表格。就像可以从Microsoft Office识别默认模板一样,应该可以训练机器学习算法来识别由特定软件生成的图。在其有限的应用领域中,该技术可能会非常强大,从而使我们能够通过已出版文献的历史记录特定软件的使用情况。许多研究项目正在对此进行研究,包括ImpactStory项目(Piwowar,2013年)以及一些当前的作者Howison和Bullard(印刷中)

nanoHUB项目开发了一种识别出版物影响的方法,该方法将自动分析与专家的手动检查相结合,以判断出版物真正依赖nanoHUB提供的软件或服务的程度,因此应被视为是贡献。此过程首先收集潜在的引文,主要是通过Google Scholar搜索和针对特定关键字(例如“ nanoHUB”和唯一工具名称)的自动警报。所得的引文被馈送到在nanoHUB上创建的基于Web的系统中,以管理其余的工作流程,如图3所示

图3。

了解科学软件生态系统及其影响:当前和将来的措施 

(a)收集与nanoHUB.org相关的引文的过程,以及(b)支持该过程的Web基础结构。

各种工作人员和研究生研究人员每个都处理部分引用。首先,他们查找包含文章全文的PDF文档,并进行粗略的阅读以确定它是否实际上与nanoHUB有关。排除任何误报。其余文章的记录根据出版物类型(期刊文章,会议论文集,论文,技术报告等)分类,作者姓名链接到现有的nanoHUB用户个人资料。进一步审查出版物,看作者是理论家还是实验家,出版物是否包含实验数据,是否引用了nanoHUB上的特定工具或其他资源。来自多个审阅者的结果会合并在一起,如果他们不同意,nanoHUB董事总经理介入以进行最终审查并解决争议。经过充分处理和批准后,引文在nanoHUB.org上的“引文”页面上可见,该页面还包括合著者网络图,二次引文数量以及nanoHUB自己的h指数计算。到目前为止,该过程已经找到了1000多个与nanoHUB相关的引文,其中80%与纳米技术研究有关,而30%包括实验数据。引用会自动在页面上列出它们所引用的每个模拟工具。这有助于工具的使用者以及资助者了解与工具的使用和影响有关的学术文献。其中还包括合著者网络图,二次引用次数以及nanoHUB自己的h指数计算。到目前为止,该过程已经找到了1000多个与nanoHUB相关的引文,其中80%与纳米技术研究有关,而30%包括实验数据。引用会自动在页面上列出它们所引用的每个模拟工具。这有助于工具的使用者以及资助者了解与工具的使用和影响有关的学术文献。其中还包括合著者网络图,二次引用次数以及nanoHUB自己的h指数计算。到目前为止,该过程已经找到了1000多个与nanoHUB相关的引文,其中80%与纳米技术研究有关,而30%包括实验数据。引用会自动在页面上列出它们所引用的每个模拟工具。这有助于工具的使用者以及资助者了解与工具的使用和影响有关的学术文献。引用会自动在页面上列出它们所引用的每个模拟工具。这有助于工具的使用者以及资助者了解与工具的使用和影响有关的学术文献。引用会自动在页面上列出它们所引用的每个模拟工具。这有助于工具的使用者以及资助者了解与工具的使用和影响有关的学术文献。

至少在某些情况下,还有两个可用的数据源,每个数据源都可以扩展到出版物之外:用户评论和影响的定性存储。一些软件存储库,包括nanoHUB,允许用户“收藏”软件包并提供评论。其他评论可在某些领域(例如Renfro 2004)发表的软件调查论文中定期获得,包括那些比较不同软件包性能的论文(例如Tasker等,2008)。存在使这种做法更广泛传播的机会,但是潜在的审稿人必须花时间提供评论的动机(外部出版物)这一问题需要进一步调查。

关于使用与影响之间联系的最终但重要的信息来源是影响的定性故事的收集。例如,SBGrid项目(面向结构生物学家的软件发行版)会定期发布“会员故事”,讨论如何在会员实验室中将软件用于科学行为。其他出版物也包括这些故事,例如《科学计算世界》和《本周国际科学网格》(isgtw)。毫无疑问,伴随赠款申请的用户的支持或承诺书也包含类似的故事。然而,这些往往是一次性的且非系统的。未来的研究可能会解决这个问题,对少量软件包的广泛影响进行系统的定性研究,或者在系统的科学家样本中评估软件的使用情况。

3.7对资源的影响

我们框架的最后一个方面是从影响到资源,或者是科学软件系统通过更多资源来奖励实现预期效果的方式。这也许是我们框架中最不容易理解的链接,但对于整个科学软件生态系统中的活动推动者而言,这至关重要。

商业软件通过销售直接联系影响力和资源;如果软件包没有用处,则将不会购买(或至少不会购买升级包),并且项目将获得较少的资源。然而,在科学中,至少对于非商业软件而言,此过程要间接得多。

也许,最直接的途径是当科学家为自己或他们的协作开发软件时,通过提高自己科学的质量和生产力来产生相当局部的科学影响。在这种情况下,从影响到资源的途径与一般的非软件途径是无法区分的。学术声誉的提高可通过改善雇佣合同,可能有利可图的奖品,咨询/专家见证机会以及赠款申请的成功获得一系列资源奖励。从概念上讲,科学家的软件工作的贡献可能与领域科学的贡献可以区分开,但是在实践中,这是衡量的前提,因此很难分开。

对于影响他人科学的情况,获取更多资源的途径仍然更加间接。特别是,从有限的职业道路和直接为软件工作提供赠款/资金的角度来看,人们普遍认为工具制造没有被科学地给予奖励(例如Stewart,Almes和Wheeler 2010)。与行业软件工作的奖励相比,这一点尤其正确(Howison,Berente和King 2013)。

成功获得赠款是关键的资源来源。但是,我们对赠款小组如何评估软件贡献知之甚少,包括他们在考虑授予赠款时如何评估使用和影响措施。研究可以评估拨款申请者如何利用不同的影响指标(例如引用率,用户数量和资源利用要求),并有可能检查专家小组摘要甚至讨论,以了解哪些指标被认为是可信和相关的,而哪些则不可行。另一个研究问题将询问评估人员需要了解项目的哪些方面,项目的社区,软件的使用及其周围生态系统的结构,以便就项目资源的制定做出明智而成功的决策。同样,

在事业成功的概念下,可以将其他更为不确定的资源来源归为一类。关于不同社区中软件贡献的职业成败有许多传闻。一般而言,研讨会上的讨论往往集中于职业失败而不是成功,但是尚未尝试进行系统的评估。最近的一项重大成就是,2013年诺贝尔化学奖直接引用了模型,这些模型是由CHARMM软件包实现的,CHARMM软件包是获奖者之一马丁·卡尔普斯(Martin Karplus)最初为完成模型工作而开发的。研究工作可以评估职业道路,特别是在权属案例和科学领域的其他评估(例如国家实验室和超级计算中心)中使用影响力声明的方式。测高学社区,特别是Impact Story项目,一直致力于帮助科学家们讲述其影响力的故事,超越了各个出版物,并将其纳入其学术简历(Brewer和Priem 2013)。

4.结论和政策建议

在有关科学基础设施的讨论中,通常要提供一个目标,即提供易于使用和无缝的基础设施(包括软件),以至于基础设施变得不可见。它“脱颖而出”,以至于用户看不到它的存在。对成功基础设施的本质的这种理解在科学技术研究中得到了共同的认可,描述了基础设施的不可见性以及维护基础设施的工作(Star and Strauss 1999))。然而,成功基础架构的描述只是端点的描述,而不是实现该端点的策略。虽然说电力作为一种基础设施对于用户几乎是不可见的,这是正确和有用的,但认为那些建立该基础设施的人(尤其是在早期)曾经希望采用这种方式是不正确的。实际上,正如Marvin(1988)等人所展示的那样,尤其是在讨论芝加哥世界博览会时,早期的电力是花哨的,艳丽的事情,旨在给人留下深刻的印象并明确地进行展示。通往隐形的道路几乎是看不见的。

结合使用本文中的测量技术,可以提高使用的可见性,作用以及科学软件的重要性。尽管如此,我们已经确定的科学软件生态系统中各个参与者的利益将通过不同的技术得到不同的满足。此外,这些技术本身通常需要权衡取舍,从而给某些参与者(例如科学最终用户或系统管理员)施加责任或带来的不便,以提供其他参与者(例如科学资助者或组件生产)最感兴趣的见解项目)。对于围绕我们上面描述的过程模型进行扩展,将影响周期的不同阶段联系在一起的技术,尤其如此。因此,实施更先进的技术将需要集体努力,以理解和平衡科学软件生态系统中的利益。但是,通过使用将工作和兴趣紧密结合在要收集和分析的信息上的技术,已经可以做很多事情。

因此,我们将建议分为两类。首先,我们向生态系统参与者提出建议,以帮助回答他们在实地调查中发现的问题,同时产生可能更广泛有用的数据。这些措施的优点是积极性强,适合当地行动。对于某些人来说,它们要求进一步共享数据,以便对基础广泛的研究评估有用,尽管对生态系统管理者的建议旨在创造促使这种共享的环境。其次,我们就长期集体行动的目标提出建议,以解决研究评估的总体目标(同时利用或试图有效改变生态系统参与者的当地动机)。表格1显示给生态系统参与者的建议;接下来的文字中,我们将针对集体目标提出长期建议。

表格1。

生态系统参与者的问题和疑虑,以及针对这些问题的建议,往往会产生广泛有用的数据

科学软件的终端用户
我实验室的人员使用了什么软件,我们如何配置它?
  • 使用源代码控制系统,并使所有数据可用于分析。
  • 使用实验室信息管理系统和工作流程系统。
  • 尽可能使用软件包管理系统获取依赖关系,并提供依赖关系数据。
我的同事正在使用什么软件?评论者喜欢什么软件?
  • 鼓励同事使他们的软件使用在出版物和演示文稿中可见。
  • 在期刊上发布带有软件引用政策并加以遵循。
我应该如何认可我对科学软件的使用?
  • 检查项目文档以获取引用和/或许可条件的请求。
  • 在期刊上发布带有软件引用政策并加以遵循。

软件组件生产商

谁在使用我们的软件?
  • 制定明确的用户调查策略
  • 考虑将分布限制在已知渠道,记录日志以进行计数并分析下载
  • 具有报告功能的仪表软件,可在用户竞争关注与证明项目影响的需求之间取得平衡
我们如何为他人的科学做出贡献?我们的工作在科学文献中可见吗?
  • 提出明显而明确的标准引文请求(不要依赖用户知道该怎么做);考虑将请求发送到用户工作区。
  • 实施常规文献搜索(如上所述),以找到可能的用户并与他们确认。

软件执行环境和分发管理者

我们的执行环境如何为科学做出贡献? 与软件组件生产商一样,明确要求引文并监控文献。
谁使用或不使用什么组件?他们使用哪个版本?他们多久更新一次?
  • 检查在计算作业中运行的代码,而不仅仅是检查作业的元数据(用户,时间,利用率)。
  • 发行版可以检查最终用户系统上的组件使用情况(例如Debian Popularity Contest)
  • 随时间可视化组件使用情况。
  • 向用户提供汇总的可视化文件(以鼓励合并和使用更新的组件)

生态系统管理员

生产哪些软件组件花了哪些资金?
  • 确保项目报告系统包括软件组件,最好是具有指向主要代码库以及社区支持和分发场所的单独链接(为项目组织提供模板)。
  • 考虑提供标准的分发实践(例如,提供存储库或“祝福”适当的存储库)。
谁在使用哪个软件?
  • 要求项目制定并报告其计划,以了解其代码的使用。帮助项目(及其用户)看到衡量使用的重要性。
  • 确保定期报告(允许中途更正)
  • 激励其他生态系统参与者遵循上述建议,并提供可共享其数据的中心位置。
哪些领域需要有针对性的资金?是否缺少特定的组件或组件层?
  • 分析将组件链接在一起的可用工作流程;带有定制组件的工作流中是否有位置?
  • 要求资助的托管环境(例如,云/网格)提供关于在其上运行的代码的聚合且适当匿名的数据,作为其资助的条件。
  • 更改托管设施的使用协议,以便在参与竞争性曝光(例如聚合技术)的同时促进工作分析。
  • 鼓励和资助软件发行;要求获得资助的项目通过发行版提供代码。
软件使用有哪些科学影响?
  • 与发布场所合作以确保适当的软件可见性(尤其是软件引用政策)。
  • 为受资助项目提供模板流程以衡量影响。
  • 直接与目标用户社区和社会科学学者合作,以记录软件影响。
项目是否有足够的资源和技能来应对增长? 监控使用指标并观察“阶段变化”(使用中的快速增长),主动评估项目组织和资金水平。
项目是否在通往可持续发展的道路上? 修订报告要求以评估项目的社区健康:

  • 该项目是否有直接资助者以外的捐助者?
  • 项目是否积极鼓励捐款并提供捐款?
  • 项目场地是否公开透明?
  • 项目是否明确提出了明确的确认请求?
软件贡献科学家是否获得了适当的信誉和成功的职业发展?
  • 进行科学的劳动力研究:贡献者来自哪里?他们去哪里?
  • 与发布场所合作制定适当的软件引用策略。

上表显示了可以由软件生态系统中不同职位的各个参与者执行的建议。这些建议的优点是动机强,因为它们是回答生态系统角色中特定问题的技术,同时可以生成其他角色和研究评估的整体实践感兴趣的数据。

但是,其中许多功能都无法“扩展”本文前面介绍的框架。例如,软件组件生产者可以尝试通过出版物来收集有关影响的数据,但是只有在他们可以依靠用户在出版物中提及软件的情况下,这种成功才能成功。反过来,这依赖于期刊和资助者制定的政策来规范和激励用户。同样,寻求利用使用数据来计划资助工作优先级的生态系统管理者也依赖于组件生产者和科学软件用户采取的行动。最后,由于大量软件使用是通过软件依赖关系间接产生的(因此对用户和任何潜在的评估者都是隐藏的),因此,需要在科学软件生态系统中的不同角色之间采取协调一致的行动,以改善研究评估和科学实践。我们将这些目标设定为目标,而不是立即采取行动的建议,因为它们需要社区的投入和发展以及最有可能针对每个科学界的实施策略。我们认为,协调行动的目标应集中在巩固框架周围的每一步,并使链接可见:

  1. 制定改进的赠款报告要求,以明确研究经费与软件产品之间的联系,包括有关如何提供软件的要求;
  2. 建立规范,规定软件组件生产者有责任收集有关其软件使用和影响的数据;
  3. 期望执行环境应该以这样的方式编写其使用协议:使聚合的和匿名的使用数据可用,并且规范用户的机密性要求与收集有用数据的需求之间的平衡;
  4. 建立并集体执行明确的政策,以提及有助于出版物科学成果的软件;
  5. 在用户之间建立对适当认可软件贡献的重要性的文化理解;
  6. 努力提高对做出关键软件贡献的人的奖励(也许包括建立资金雄厚的奖项,以奖励非赠款资助的软件工作)。

集体实现这些目标的适当途径必须涉及适合各个科学领域的广泛社区咨询;因此,由机构资助的研讨会等传统场所将发挥作用,英国科学软件可持续性研究所的高级“蓝丝带”小组可能会在这里展示出前进的方向。自下而上的方法也将发挥作用,尤其是与“开放科学”运动相关,包括Mozilla科学实验室(https://wiki.mozilla.org/ScienceLab)和可执行文件,并利用其活力和为年轻的科学从业人员塑造规范的能力。每个科学领域,连同其资助机构,都需要找到适当的前进方向。但是,无论如何,上表中有关立即采取行动的建议应倾向于证明创建数据的潜力,然后分享这些数据以获取生态系统级的见解。

因此,政策制定者可以鼓励利用这些新兴信息源进行的新研究,以增进对生态系统功能的理解。这可能包括针对社交网络分析,管理和策略等领域的研究人员以及经验丰富的调查研究人员的其他资助计划。其他创新方法可能包括对识别出版物中的软件提出机器学习挑战,吸引有兴趣推进对科学软件生态系统理解的新选区。

同样,需要在研究评估领域中,在周期周围和软件生态系统的不同位置,对不同措施的相对成本和收益进行研究。例如,如上所述,nanoHub努力寻找其项目上的论文,这需要许多学生花费时间来评估论文对nanoHUB的影响。虽然这一次的文献对学生有辅助的好处,但尚不清楚在权衡影响力的方法上,成本的权衡是什么。同样,所讨论的某些指标比其他指标更具侵入性,引发了有关隐私或机密性的问题(例如,对“后台”软件使用的自动了解以及对以软件为重点的资助的同行评审中对影响的考虑的检查)。这里的权衡不是财务方面的,但与收集到的数据的价值相比,在科学家的潜在争议和不满方面;可能是社区建立了新的透明度准则,但外界的强加作用不太可能受到欢迎,从而破坏了信任和其他努力。当然,财务上的权衡也很重要:本文提出的某些指标可能会比其他指标成本更高,同时会产生不同质量的信息。有必要对此进行进一步调查,检查不同措施的成本,背景和信息质量,以使对研究评估感兴趣的人员能够优先考虑特定措施的进一步开发。

总而言之,本文认为,软件对于科学集体成就的中心且仍在不断增长的重要性要求那些对理解科学实践感兴趣的人,科学家本身,为科学家建立基础设施的人以及寻求政策见解的人做出回应。水平,特别是对于研究评估。尽管主要借鉴了美国的情况,但我们提供了关于需要存在哪些信息以及用于理解这些需求以及它们如何相互作用的框架的经验性见解。最后,我们提供了对现有测量技术的实用概述,并重点介绍了科学软件研究评估的政策和集体行动挑战领域。实现软件潜力以提高科学水平的需求不容小less。

资金

该材料部分基于美国国家科学基金会在09-43168、10-64209、11-48515、02-28390和06-34750号资助下的工作。

原文:https://academic.oup.com/rev/article/24/4/454/1518466

weinxin
扫码,关注科塔学术公众号
致力于成为国内领先的科研与学术资源导航平台,让科研工作更简单、更有效率。内容专业,信息准确,更新及时。
avatar